Research articleA domain-specific visual language for modeling metacognition in intelligent systems
Introduction
Metacognition from cognitive science is defined as mental awareness and regulation of one’s thinking (Cox, 2005, Koedinger et al., 2009). Metacognition has two executive processes that the subject performs over its cognitive processes; these processes are the monitoring and control (Anderson et al., 2008). The term metacognition in Artificial Intelligence (AI) refers to the ability of intelligent systems to monitor and to control their own learning and reasoning processes (Anderson et al., 2006, Cox and Raja, 2012, Singh, 2005); therefore, metacognition in AI is often referred by some authors as meta-reasoning (Anderson et al., 2008, Cox, 2005).
Metacognition has been widely used in AI for designing robust systems capable of both detecting anomalies in their own reasoning and to generate strategies to solve them using two metacognitive mechanisms: introspective monitoring and meta-level control. Introspective monitoring includes mechanisms for detecting reasoning failures and Meta-level control includes rules for the recommendation of the best strategy available to correct the reasoning failures. This work focuses on the modeling the metacognitive mechanisms used to monitor and control the reasoning processes in an intelligent system. The design of an intelligent system with metacognitive support is a difficult task due to the number and complexity of processes involved (Caro et al., 2013, Cox, 2005).
The modeling process is even more complicated because there is no standard model for the computational design of metacognitive processes. The design of systems based on available metacognitive models is difficult, since some models are theoretical (Cox et al., 2011, Nelson and Narens, 1990) and the computational models (Alonso et al., 2010, Kennedy, 2010, Schmill et al., 2011) do not provide formalisms of software engineering methodologies that allow systematic development. The variety of existing approaches to computational design of metacognitive processes delays the selection process of the design model for any application. These problems confirm the lack of an appropriate notation for designing and modeling intelligent systems with metacognitive support.
To address the issues pointed out, we defined a notation included in a Domain-Specific Visual Language (DSVL) for modeling metacognitive processes. A Domain-Specific Language (DSL) has notations and constructs focused on a particular application domain (e.g. Metacognitive Systems). DSVLs have a declared syntax composed of an abstract syntax and a concrete syntax. The abstract syntax describes the concepts and their relations to other concepts without any consideration of meaning. Concrete syntax is the set of notations that facilitates the presentation and construction of the language; graphical syntax offers benefits, like easier design, when modeling within certain domains.
The main objective of this paper is to introduce a novel DSVL for modeling metacognition in an intelligent system. The DSVL is called M++ and has a core based on a metacognitive metamodel named MISM (Caro, Josyula, Cox, & Jiménez, 2014). MISM is configured according to the standard Meta-Object Facility (MOF) (OMG., 2013) of Model-Driven Architecture (MDA) methodology. MDA is an approach from the Object Management Group’s (OMG) (OMG, 2013) for the development of model-driven software. In MDA, the development of a system is viewed as a sequence of transformations and model refinement (Chitforoush, Yazdandoost, & Ramsin, 2007). MOF standard provides a sequence of transformations and refinement of models. The transformations allow designers to have general, easily adaptable schemes to integrate metacognitive components in the system design process. MDA architecture is based on meta-modeling of four layers: (i) meta–Meta-modeling layer, which corresponds to MOF and defines an abstract language for metamodel specification; (ii) metamodel layer, which consists in metamodels that are defined in the standard MOF; (iii) layer model, which includes real-world models; (iv) the layer of “real world” which includes real-world things.
For the validation process, two metacognitive systems present in the literature were modeled using M++. All concepts in the original systems could be represented. Artifacts from the models generated with M++ were consistent with the concepts of MISM.
This paper is structured as follows. Section ‘M++: A visual language for modeling metacognition’ describes the architectural components of M++. Section ‘Validation’ presents the results of validation process. Finally, the paper concludes with a brief discussion.
Section snippets
M++: A visual language for modeling metacognition
M++ is a DSVL for modeling metacognition in intelligent systems and incorporates two meta-reasoning mechanisms, i.e., introspective monitoring and meta-level control. In M++, the abstract syntax is specified with MOF-based metamodels and the concrete syntax is expressed by some mapping of the abstract syntax elements to visual constructs. The main artifacts of M++ are models specified in a visual manner. M++ is available on the website: https://sites.google.com/site/rgcicc/home.
Validation
M++ validation was performed on three dimensions: potential usefulness, usability and logic of generated models. For the validation process, the following methods were used: (i) Empirical study based on user perception. In the empirical study, the user perception with regard to the quality of the M++ notation was measured. (ii) Tracing. The instantiation of different types of specific concepts in the metamodel were traced (followed) through the model generation process to determine if the
Discussion and future work
M++ adds precision to metacognitive concepts in biologically inspired cognitive architectures and provides a visual framework for software engineering of such systems. It can potentially support rapid prototyping of metacognitive architectures by allowing candidate systems to be built, tested and revised quickly (in the sense of agile software engineering). In future work we will investigate the usability and speed of prototyping by users of different backgrounds (e.g. software engineering,
Conclusion
In this paper, a DSVL for modeling metacognition in intelligent systems was described. The DSVL was called M++ and has a central core based on a metacognitive metamodel named MISM. MISM has rules that automate some aspects of metacognitive modeling of intelligent systems.
M++ has approximately 20 tools for modeling metacognitive systems supporting introspective monitoring and meta-level control. Two types of validations were performed to validate M++ notation and the consistency of the generated
Acknowledgment
This research was funded in part by the scholarship commission of doctoral studies from the Universidad de Córdoba.
References (30)
- et al.
Evaluating requirements modeling methods based on user perceptions: A family of experiments
Information Sciences
(2011) - et al.
Design and validation of a metamodel for metacognition support in artificial intelligent systems
BICA Journal
(2014) Metacognition in computation: A selected research review
Artificial Intelligence
(2005)- et al.
Toward meta-level control of autonomous agents
- et al.
Metamodel-driven definition of a visual modeling language for specifying interactive groupware applications: An empirical study
Journal of Systems and Software
(2013) - Alonso, J. B., Arnold, K. C., & Havasi, C. (2010). Envisioning a robust, scalable metacognitive architecture built on...
- et al.
A self-help guide for autonomous systems
AI Magazine
(2008) - et al.
The metacognitive loop I: Enhancing reinforcement learning with metacognitive monitoring and control for improved perturbation tolerance
Journal of Experimental & Theoretical Artificial Intelligence
(2006) - Bragança, A., & Machado, R. J. (2008). Transformation patterns for multi-staged model driven software development. In...
- Caro, M., Josyula, D., & Jimenez, J. (2013). Metamemory for information retrieval from long-term memory in artificial...