Information Technology Reference
In-Depth Information
Fig. 3. The B OCHICA data model interface
4.3
Language Interfaces
There exists a large number of software languages that are relevant for developing
agent-based systems such as (i) knowledge representation languages (e.g. OWL), (ii)
query languages (e.g. SPARQL), (iii) rule languages (e.g. SWRL, PROLOG), (iv) com-
munication languages (e.g. KIF, FIPA ACL), (v) programming languages (e.g. Java).
A software language is always developed with a certain purpose in mind. Thus, it de-
pends on the concrete use case which one to use. B OCHICA provides abstract language
interfaces which can be extended by external language plug-ins (see Figure 4). The
main concept is Expression . There exist several specialized expression types such
as BooleanExpression and ContextCondition . The abstract expression types
are used throughout the framework. For example, an AchieveGoal has a target and
failure condition of type BooleanExpression and a Plan has a context condition
of type ContextCondition . External plug-ins can specialize the abstract expres-
sion types with concrete languages. We assume that an external language is also based
on Ecore. This is not a hard restriction since more and more software languages, such
as SPARQL or Java, are becoming available in public metamodel zoos (e.g. EMFText
concrete syntax zoo 4 , Atlantic metamodel zoo 5 ). We use a reflection-based approach for
parsing user defined expression strings into a language specific expression model (inter-
face concept EObject ) and assign it to the Expression object's object attribute
(see Figure 4). This approach can be used (i) for checking the syntactical correctness
of an expression, (ii) for checking whether variable symbols inside the language model
are bound in the surrounding scope, and (iii) to process the expression models in model
transformations. The benefit of our approach is that technical details, such as the inte-
gration of the knowledge base and SPARQL into the concrete agent execution platform,
are hidden on the modeling level. At the same time, models can be tailored to a certain
target environment. Of course, the integration at the platform level has to be done at
some point (we discuss it later) but the agent engineer has an abstract view and can
concentrate on the design of the overall system.
4.4
Methodologies
During the recent years, several agent-oriented methodologies have been proposed [9].
Most of the developed approaches are supported by a graphical modeling language
4
http://www.emftext.org/
5 http://www.emn.fr/z-info/atlanmod/index.php/Atlantic
Search WWH ::




Custom Search