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.