Information Technology Reference
In-Depth Information
4
Framework Interfaces
In order to customize the B OCHICA framework it offers various interfaces which can
be extended through external Eclipse-based plug-ins. The remainder of this section pro-
vides an overview of those interfaces. Examples are provided by Section 5.
4.1
Conceptual Extension
B OCHICA can be extended with new concepts for (i) introducing new ways of mod-
eling existing aspects (e.g. behaviors), (ii) introducing completely new aspects (e.g.
commitments), or (iii) specializations for a certain application domain or execution
environment. The extension is enabled by several interface concepts such as Agent ,
Interaction , Resource ,and Task that can be specialized by external plug-ins.
The benefit of extending our framework in opposite to creating a completely new ap-
proach is that large parts, which are common to most MAS, can be reused. The core
concepts evolve over time and will build a solid foundation for AOSE. One example
of how the B OCHICA framework can be extended is the approach for an alternative
(declarative) way of modeling interaction protocols presented in [7]. The presented ap-
proach extended the Interaction concept and added custom diagrams. At the time
of the creation of the extension, B OCHICA was not available so that D SML 4M AS had
to be extended directly. Now, B OCHICA provides interfaces for 3rd party developers for
extending it with new concepts without touching the core. At the same time, the exten-
sion is integrated into the overall framework. End users can choose which alternative to
apply. Technically, the extension mechanism is based on the Eclipse OSGi 3
framework
and the Eclipse Modeling Framework (EMF) [8].
4.2
Data Model
Figure 3 depicts the data model interface of B OCHICA . The core of the data model
has been separated from B OCHICA and is based on the Ecore metamodel provided by
EMF [8]. Ecore is used to model classes and their attributes and relations among each
other. The reuse of Ecore has several advantages: we get (i) graphical modeling support
(UML class diagram style) and (ii) import from UML, XML schema (including XML
de-/serialization) and existing Java code for free. Types defined in an Ecore-based data
model can be made available within B OCHICA by the concept EType . On top of the
Ecore metamodel, B OCHICA defines basic data structures such as Sequence , Set ,or
HashMap . Moreover, the data model interface also provides access to internal types
such as Event and Goal . The internal types are required for accessing B OCHICA
model artifacts inside a plan (e.g. the parameters of a goal). The data model can be
extended by external plug-ins with specialized data structures. It is also possible to
introduce an alternative to the Ecore metamodel for defining data types. Technically,
the user defined data structures use the same extension interfaces as in Section 4.1.
3 http://eclipse.org/equinox/
 
Search WWH ::




Custom Search