Information Technology Reference
In-Depth Information
$%
"##
!
"##
"##
"##
(
&'
Fig. 4.
Expression interface of B
OCHICA
(see discussion in Section 6). The focus of our approach was always on developing an
expressive platform independent agent modeling language that can be used for model-
driven development of agent-based systems and less on the methodology part. Since
both aspects are complementary, B
OCHICA
can be extended by AOSE method plug-
ins to support the software development process. In the same way as B
OCHICA
can
be extended with new agent concepts, methodology providers can contribute plug-ins
with new views and methodology concepts. For example, the Prometheus methodology
[10] uses so called
scenarios
in the
system specification
phase to identify typical events,
actions, and goals of the SUC. In the
architectural design
phase, the collected entities
are grouped to roles and agents. A Prometheus plug-in for B
OCHICA
could extend it
with the missing concepts for modeling scenarios in the system specification phase
(since it is not covered by the core DSL). The architectural design phase could be based
on existing concepts of the core DSL. As interface, B
OCHICA
provides the concept
MethodArtifact
. Instead of having a separate modeling language and tool for each
methodology, most of the methodologies could be integrated into one framework and
share a common core. This would join the efforts of the involved parties and would ease
the maintenance of the tool chain.
4.5
Transformations
Model transformations in MDSD are used to gradually refine a model of a SUC until
executable code is generated. We assume that there exist
base transformations
from
B
OCHICA
to agent execution platforms such as Jack or Jadex. As B
OCHICA
gets ex-
tended with new concepts, an existing base transformation is no longer complete re-
garding the covered concepts. Thus, an
extension transformation
is required which
extends an existing base transformation for the new concepts (if the target platform
shall be enabled for the extension). We see three possibilities how this can be achieved.
Some model transformation languages (e.g. QVT
6
) allow to write a new transforma-
tion which inherits from an existing one. Thus, an existing mapping rule can be over-
loaded by a new and extended one. Other transformation languages like XPand
7
use an
aspect-orientated approach for hooking into an existing transformation and extend-
ing it. A further possibility is to chain transformations, where the first one is a base
6