A Domain Specific Modeling Language for Multiagent Systems

Software systems are becoming more and more complex with a large number of interacting partners often distributed over a network. A common dilemma faced by software engineers in building complex systems is the lack of clear requirements and domain knowledge needed to come up with a detailed design of the system. Agent technologies are a suitable programming paradigm to cope with the complexity of modern software systems. However, existing agent-based methodologies and tools are developed for experienced programmers and are not suitable for non-agent experts. This paper discusses a domain specific modeling language for multiagent systems that (i) provides a clear syntax and semantics to define agent-based systems in a graphical visualized manner and (ii) can be used to automatically derive code from its design through model transformations.
Introduction. Agent-based computing can be considered as promising approach and powerful technology to develop applications in complex domains by designing and developing applications in terms of autonomous software entities (agents), situated in an environment that can flexibly achieve their goals by interacting with one another in terms of high-level protocols and languages. Recently, associated with the increasing acceptance of agent-based computing as a novel software engineering paradigm, a lot of research addresses the identification and definition of suitable models and techniques to support the development of complex software systems with respect to agent-based computing. Agent-Oriented Software Engineering (AOSE) is a relatively young field – with its first workshop held in 2000 – that is concerned with how to engineer agent-based software systems.
Discussion / Conclusion. This paper presented a platform independent modeling language for agents in the context of MDD with the objective to close the gap between design and code. In this context, we have identified the following advantages of our approach: The Dsml4mas covers the core building blocks of an agent system. The identified building blocks enable a mapping to different AOPLs like Jack and JADE which is – to the best of our knowledge – not supported by any other agent-oriented modeling language. A formal description of the Pim4agents is given using Object-Z to (i) further refine its abstract syntax and (ii) formalize the denotational and operational semantics. The syntax and semantics defined are used as a base to develop a graphical editor that finally formulates the concrete syntax. Syntax and semantics are expressed with OCL to guarantee that the developed models are well-formed. This is of special importance when applying the model transformation to the specific AOPLs. MDD has the potential to addresses interoperability issues necessary to link design and code. Exemplarily, this is shown by the model transformation between Dsml4mas and Jack. In [24, 8], we showed how to integrate service-oriented architectures (SOAs) into JackMM in a model-driven scenario.