Formal Modeling of Architecture Patterns for Decentralized Systems

In my current research, I study formal modeling of dynamic software architectures for decentralized systems. The current focus is on the formal specification of architectural patterns. I use pi-ADL as a starting point for this work as it is well suited to modelling the behaviour of dynamic systems. This page provides some information about my ongoing research.

Formal specification of pattern language for multi-agent systems

Over the past 8 years, we have been studying decentralized architectures based on multiagent systems (MAS). A MAS architecture structures the software in a number of interacting autonomous entities (agents) that cooperatively realize the system goals. Agents are capable to flexibility adapt their behavior and interactions to dynamics in the system or its environment. In the course of designing and building various MAS applications, we derived a number of architectural patterns that provide generic solution schemes for recurring design problems. Together, this set of patterns makes up a pattern language. For each pattern, we have formally specified the elements and how they are used with one another. For the specification, we have used pi-ADL.NET (BNF spec) extended with support for type definitions. Here is an overview of the modelled patterns (under construction): 

In our ongoing research, we plan to enhance the specification of the behavioral aspects of the patterns, instantiate a number of patterns for a concrete case, and develop test scenarios.

Publications

  • A pattern language for multi-agent systems, D. Weyns, Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture (WICSA/WCSA '09)