Academia.eduAcademia.edu

AIR - A Platform for Intelligent Systems

2004

This paper presents AIR - a platform for building intelligent systems. Current IS platforms either are narrowly specialized (ontologies, expert system shells, etc.) or have complex extension mechanisms (i.e. do not use benefits of Model Driven Development). Based on OMG’sModel Driven Architecture and its standards, AIR core consists of various MOF-based metamodels. Presented metamodels are mainly intended, but not limited, to support emerging standards related to the Semantic Web. Basing its architecture on MDA, AIR can support metamodels of almost any domain, including non-AI related. AIR also includes an integrated development environment for building such systems, which is based on Eclipse. Presented platform is intended to be an integration point of various intelligent systems and mainstream software technologies.

AIR - A PLATFORM FOR INTELLIGENT SYSTEMS Dragan Djuric1, Dragan Gasevic1, Violeta Damjanovic2 1 University of Belgrade, FON-School for Business Administration, POB 52, 154, 11000 Belgrade, Serbia and Montenegro, [email protected], [email protected], 2Postal Savings Bank, 27.marta 71, [email protected] Abstract: This paper presents AIR - a platform for building intelligent systems. Current IS platforms either are narrowly specialized (ontologies, expert system shells, etc.) or have complex extension mechanisms (i.e. do not use benefits of Model Driven Development). Based on OMG’s Model Driven Architecture and its standards, AIR core consists of various MOF-based metamodels. Presented metamodels are mainly intended, but not limited, to support emerging standards related to the Semantic Web. Basing its architecture on MDA, AIR can support metamodels of almost any domain, including non-AI related. AIR also includes an integrated development environment for building such systems, which is based on Eclipse. Presented platform is intended to be an integration point of various intelligent systems and mainstream software technologies. Key words: AI Tools, Intelligent Systems Engineering, Software Architecture, Model Driven Architecture, Metamodeling, XML, Eclipse 1. INTRODUCTION The basic problem of existing environments for intelligent systems development is their narrow specialization. Most of them are implemented to support only initially envisioned functionalities – most often knowledge representation and reasoning. It is perfectly right from the intelligent systems point of view. But, real world applications and their development are rarely clearly bordered in their scope; that’s why these applications are not enough. It is, therefore, necessary to integrate applications that are used for 384 Dragan Djuric, Dragan Gasevic, Violeta Damjanovic intelligent systems development into mainstream software platforms. This topic is going to gain more and more attention with the development of the Semantic Web [1] and increased integration of intelligent techniques in common information systems. AIR is a Model Driven Architecture (MDA)-based [2] platform for building intelligent systems. It is based on various metamodels that model intelligent systems related domains. One of such metamodels is Ontology Definition Metamodel (ODM) [3]. An extensible integrated development environment based on Eclipse plug-in architecture [4] that equips AIR with powerful base for tools with rich GUI is also included. This platform is a part of Good-Old-AI (goodoldai.org.yu) effort in developing a platform that will enhance intelligent systems development using Model Driven Development (MDD) [5]. After the introduction, in section two the paper gives an overview of the related work. Section three explains the basic idea of AIR. The importance of metamodel as a conceptual unit in AIR is explained in section four. Section five and six describe implementation details of metamodel-based architecture and plug-in based architecture, respectively. Final section contains conclusions. 2. RELATED WORK Loom and Parka are previous well-known intelligent system development platforms. Loom was designed to support the construction and maintenance of “model-based” applications—Loom’s model specification language facilitates the specification of explicit, detailed domain models, while Loom’s behavior specification language provides multiple programming paradigms that can be employed to query and manipulate these models [6]. Parka and Parka-DB are frame-based AI languages/tools that enable scaling knowledge bases up to extremely large-size applications, and use DBMS technologies to support inferencing and data management [7]. Protégé tool is initially developed as an ontology editor, but it is act as an extensible knowledge- and rule-based platform that integrates ontological engineering techniques and languages (e.g. RDF, OWL) with rule-based expert system shells (e.g. tabs for Jess, CLIPS, Algernon, Prolog, JadeJess) [8]. The idea of developing the AIR platform emerged along with other important research activities and results achieved by the GOOD OLD AI group – many of the group’s activities are closely related to intelligent system technology. and [9] have proposed a multi-layered framework for building intelligent systems, called OBOA, which Air - A Platform For Intelligent Systems 385 incorporates a number of intelligent system techniques. More recently, a number of fuzzy logic tools have been developed in accordance with the OBOA framework; they make the basis of the more specific Fuzzy OBOA framework [10]. Code Tutor is a Web-based intelligent tutoring system for fast students’ briefing in the area of radio-communication [11]. A unified MDA-based ontology infrastructure has been defined in order to integrate software and ontology engineering techniques [3]. JessGUI is a user-friendly Jess-based and XML-supported environment for developing frame and rulebased intelligent systems [12]. 3. UNDERLYING SOLUTION OF AIR – THE BASIC IDEA In order to integrate intelligent technologies with common information system technologies, and take such systems out of laboratories, we must develop appropriate tools. These tools must be easy to use and powerful enough to support creation of demanding applications. The best solutions for such demands are tools that employ mainstream software technologies that users are familiar with, and expand them with new functionalities. That is the idea that is in the roots of AIR. AIR is an integrated software environment for developing of intelligent systems that: Is based on open standards (OMG, W3C…), Uses existing mainstream software tools and architectures, Is extendable and adaptable. We could itemize more characteristics, but these three are good examples of what AIR tries to achieve. It is clear that today’s tools must be built according to standards if they want to succeed, so the OMG or W3C standard compliance is a must whenever it is possible. Regarding the fact that AIR is academic project, it is illusory to expect that it can become serious environment if it does not use existing solutions as its base. Such approach would depart it from its scope and route it to reinventing the wheel. Therefore, AIR should use any existing solution that fits into its puzzle. As it is intended to support work with new technologies that are still extremely changeable, AIR must support easy and seamless addition of new functionalities or replacing of existing parts with improved versions. Many of technologies that it aims to support are still in early phase, which means that they are frequently exposed to changes. AIR must be able to follow these changes. The basic structure of AIR is depicted in the block diagram shown in Figure 1. The central part of AIR is a model base. First of all, it includes models of intelligent systems domains, but also models of any domain that is 386 Dragan Djuric, Dragan Gasevic, Violeta Damjanovic of interest. Currently, model base is implemented as a Meta-Object Facility (MOF)-based metadata repository [13] [14]. It contains MOF-based metamodels and models that are the core of AIR. AIR must have a mechanism that enables the exchange of contained data with other applications. This is achieved through MOF XML Metadata Interchange (XMI) format, based on XML. Such format also enables easier integration into Web. Figure 1 - Basic structure of AIR The other important part of AIR is an integrated development environment that provides a rich GUI for manipulation with models – AIR Workbench. This part of AIR implementation is based on Eclipse platform. Model base can be also reached from numerous tools that are not a part of GUI – agents, analysis tools, utilities, etc. Air - A Platform For Intelligent Systems 4. 387 METAMODEL - THE CONCEPTUAL BUILDING BLOCK OF AIR AIR should be able to model a large number of domains. The real world consists of infinite number of concepts and facts that we are trying to describe using some models. Models are described using metamodels, models of models [15]. Modeling and metamodeling are well-known terms in software engineering, and standardization in that field recently started to gain more attention. AIR uses four-layer MOF-based metamodeling architecture according to OMG’s MDA standards. Basic metamodels that AIR uses and their place in this architecture are shown in Figure 2. Figure 2 - AIR Metamodels In the center of this architecture is Meta Object Facility (MOF), a metametamodel used for modeling of all metamodels. Beside Unified Modeling Language (UML) and Common Warehouse Metamodel (CWM), metamodels usual in such architecture, important metamodels are Ontology Definition Metamodel (ODM) and Rule Definition Metamodel (RDM). For more specific purposes, such as Petri nets, fuzzy logic, neural nets, specialized metamodels can be included. Such metamodels should be added only if existing, models, ODM for instance, lack support for some of wanted features. 388 Dragan Djuric, Dragan Gasevic, Violeta Damjanovic The basic building block of AIR is a metamodel. Metamodel enables some problem domain to be described, e.g. it supports creation of models that describe certain specific problems in that domain. The place of certain metamodel in four-layer MDA architecture and accompanying elements are shown in figure 3. Figure 3 - Custom Metamodel and UML Profile Metamodel is described by MOF, and it is on M2 (metamodel) layer. To utilize widespread UML tools support, corresponding UML profile can be added. UML Profile is an expansion of UML metamodel in a standard way that enables UML to support new concepts. It is possible to add mappings to other UML profiles or metamodels, which enables several kinds of models to be used to model one problem, where each model kind is capable of capturing some specific details of that problem. 5. IMPLEMENTATION OF MOF-BASED ARCHITECTURE The MOF Specification [13] defines an abstract language and a framework for specifying, constructing, and managing technology neutral metamodels. It also defines a framework for implementing repositories that hold metadata (e.g., models) described by metamodels. Standard technology mappings are used to transform metamodels into metadata API, giving the Air - A Platform For Intelligent Systems 389 framework an implementation. Figure 4 shows an overview of a MOF repository and its implementation in Java platform. Figure 4 - Repository implementation on Java platform A conceptual view of a MOF-based repository is shown in the center of Figure 4. It reflects MDA four-layer MOF-based architecture [2]. The MOF metamodel is used as a meta-metamodel, which describes all other metamodels (including MOF itself and UML). Custom metamodels can define mappings to UML, supported by UML profiles, which enables them to use UML tools support. OMG (Object Management Group) defines a standard format for platform independent metadata interchange XML Metadata Interchange (XMI). It serializes MOF-based metamodels and models into plain text (XML), which enables such data to be exchanged in a standard way, and to be read by any platform-specific implementation. Java repository implementation is based on Java Metadata Interchange (JMI) [14], a Java metadata API. Based on any MOF-based metamodel (serialized to XMI), JMI-compliant metamodel-specific JMI interfaces can be generated. These interfaces are used to access Java metadata repository, which is implemented by Java classes. All data from repository can be serialized into XMI and then exchanged with other repositories, regardless of their implementation. It is only required that they support MOF-based metadata (i.e. that they can “understand” MOF XMI format). The reference implementation for JMI metadata repository is Unisys’ CIM (www.unisys.com), but it seems that it has not been updated recently. 390 Dragan Djuric, Dragan Gasevic, Violeta Damjanovic The other implementation is NetBeans MDR (mdr.netbeans.org), a part of open source NetBeans project. It is used by AIR as a metadata repository due to its generic implementation of JMI interfaces and frequent improvements and development. NetBeans MDR implements JMI interfaces in a generic way, so any metamodel can be loaded from XMI and instantly implemented using Java reflection. 6. IMPLEMENTATION OF PLUG-IN ARCHITECTURE AIR Workbench should provide various tools with rich GUI that makes AIR user friendly. This workbench is built on top of Eclipse plug-in architecture and Eclipse IDE (www.eclipse.org), today’s leading extensible platform [4]. The main difference between Eclipse and other extensible IDEs is that Eclipse consists entirely of plug-ins that work on a tiny platform runtime, whereas other IDEs are monolithic tools with some extensions. Thus, Eclipse core plug-ins are of equal importance as any other plug-in, including AIR plug-ins. Figure 5 depicts Eclipse-based AIR plug-in architecture. Figure 5 - Eclipse-based AIR plug-in architecture The ground of this architecture is Eclipse platform. Although only the Eclipse Core is mandatory, there is no reason not to utilize Eclipse UI (SWT, JFace, and Workbench), help and team support, so they are not discarded. Using the whole Eclipse IDE, AIR adds MDR and Intelligent Systems related plug-ins. Some of basic AIR plug-ins include those that are related to generic MDR support (AIR Framework, AIR NetBeans MDR, AIR MDR Air - A Platform For Intelligent Systems 391 Core), particular metamodel support (ODM, RDM, UML, CWM, etc.), or GUI-related (AIR MDR Explorer). These plug-ins are added as extensions to extension points defined by plug-ins that are part of Eclipse IDE. Being equalitarian with Eclipse plug-ins, AIR plug-ins also extend each other and offer future plug-ins to extend them. MOF Model package appearance in AIR MDR Explorer is shown in picture 6. Figure 6 MOF Model in AIR MDRExplorer This Explorer depicts MOF-based models and metamodels and serves as a starting point for model manipulation. Selecting any element, user can reach menus specific for that element and raise various actions. These actions span from usual actions (instantiating, deleting, viewing properties etc.) to more specific (opening various metamodel specific editors, starting transformations etc.). According to Eclipse architecture, these menus can be easily extended with new items that raise new actions. 7. CONCLUSIONS The platform for building intelligent systems defined in this paper is in accordance with the OMG’s Model Drive Architecture. Its core is based on various MOF-based metamodels that enable modeling of many domains 392 Dragan Djuric, Dragan Gasevic, Violeta Damjanovic related to intelligent systems, but not limited to them. An implementation of metadata repository is based on NetBeans MDR. To provide an extensible user-friendly GUI, AIR includes an Extensible IDE based on Eclipse. Due to the fact that AIR is based on open standards and mainstream software technologies, it can bring intelligent systems closer to common users and applications.Future developments of proposed platform include defining of various metamodels that are of interest for intelligent systems and corresponding tools that use them. Parts of AIR that support metadata repository and extensible IDE should be also improved to offer better stability and richer functionality. REFERENCES 1 T. Berners-Lee, J. Hendler, O. Lassila, “The Semantic Web,” Scientific American, Vol. 284, No. 5, 2001, pp 34-43. 2 J. Miller and J. Mukerji, eds, “MDA Guide Version 1.0,” OMG Document: omg/2003-0501,2003. http://www.omg.org/mda/mda_files/MDA_Guide_Version1-0.pdf & (2005). Ontology Modeling and MDA. Accepted 3 for publication in Journal on Object Technology, Vol. 4, No.1. Forthcoming. 4 Erich Gamma, Kent Beck, “Contributing to Eclipse: Principles, Patterns and Plug-Ins”, Addison-Wesley, 2003. 5 S. J. Mellor, A. N. Clark, and T. Futagami, “Guest Editors’ Introduction: Model-Driven Development,” IEEE Software (spec. issue on Model-Driven Development), Vol. 20, No. 5, September/October, 2003, pp 14-18. 6. Robert MacGregor, (1999), Retrospective on Loom. http://www.isi.edu/isd/LOOM/papers/macgregor/Loom_Retrospective.html 7 Hendler, J., Stoffel, K., Taylor, M., Rager, D., & Kettler, B. (1997). PARKA-DB: A Scalable Knowledge Representation System - Database PARKA. http://www.cs.umd.edu/projects/plus/Parka/parka-db.html, last visited February 2004 8 Fridman-Noy, N., et al: Creating Semantic Web Contents with Protégé-2000, IEEE Intelligent Systems, Vol. 16, No. 2 (2001) 60-71 9 & (1999). A Framework for Building Intelligent Manufacturing Systems. IEEE Transactions on Systems, Man, and Cybernetics, Part C - Applications and Reviews, 29(3), 402-419. 10 Šendelj, R. & (2004). Fuzzy systems based on component software. Accepted for publication in Fuzzy Sets and Systems. Forthcoming. 11 & (2003). Building an intelligent system using modern Internet technologies. Expert Systems with Applications 25(3), 231-246. 12 & (2004). A GUI for Jess. Accepted for publication in Expert Systems with Applications. Forthcoming. 13 MOF Spec 2002, Meta Object Facility (MOF) Specification v1.4, OMG Document formal/02-04-03, http://www.omg.org/cgi-bin/apps/doc?formal/02-04-03.pdf, April 2002. 14 Ravi Dirckze (spec. lead), “Java Metadata Interface (JMI) Specification Version 1.0”, http://jcp.org/aboutJava/ communityprocess/final/jsr040/index.html, 2002 15 E. Seidewitz, “What Models Mean,” IEEE Software (spec. issue on Model Driven Development), Vol. 20, No. 5, 2003, pp 26-32.