Page 96 -
P. 96

92                                               P.-O. Siebers and F. Klügl

            et al. (2002) focus on giving more structure to the state of an atomic model in order
            to allow for more complex agent behaviour. Specifications formulated in DEVS can
            be executed using specialised environments such as JAMES (Himmelspach et al.
            2010).



            Object-Oriented Software Specification and UML

            In AOSE the most prominent language for specifying particular views onto the
            overall system is UML. UML was developed for supporting software engineering
            processes (from requirement analysis to implementation and documentation) by
            providing a language consisting of different specialised diagrams that address
            different aspects of an object-oriented software system (Fowler 2003). It is actually a
            semiformal diagram language. That means it allows some extent of vagueness when
            describing a system. There is an additional formal language — OCL, the object
            constraint language — that can be used to add information that cannot be expressed
            in the diagrams directly.
              The first edition of UML — used for developing object-oriented software —
            was defined in the mid-1990s as an integration of different diagram notations from
            different object-oriented modelling methods. Especially in AOSE, there have been
            a number of suggestions for extensions, e.g. class diagrams containing information
            about the particular social organisation, behaviour diagrams containing structures
            for particular agent architectures, etc. Those extensions were mostly done for
            specific AOSE methodologies. The best-known extension for software agents was
            Agent UML (Odell et al. 2000), which mostly pertained to sequence diagrams for
            enabling the formulation of more flexible and diverse interactions and reactions to
            messages than simple method calls. Some of these extensions became part of the
            UML 2 standard, in a graphically different way than originally proposed by Agent
            UML. Since alternatives and conditional reactions can now be formulated in UML
            2, Agent UML has been declared obsolete (Bauer and Odell 2005).
              As ABSS in general are often designed and implemented using object-oriented
            languages and tools, Bommel and Müller (2007) motivate the use of UML diagrams
            as a suitable tool for communication between different experts involved in a
            simulation project. A good introduction to UML for ABSS can be found in (Bersini
            2012) or (Siebers and Onggo 2014).
              UML proposes various types of diagrams to capture different aspects of an
            overall object-oriented software system. The following diagram types are used
            mainly in an agent-based simulation context. In the second part of this chapter, we
            will illustrate their use in more detail.
            • Use case diagrams show different scenarios of how the user may interact with
              the system. They could also be applied — on a coarse level — for interactions
              between an agent and its environment.
            • Class diagrams show the static structure of the software system by connecting
              specialised classes to more general ones or showing which classes are composed
   91   92   93   94   95   96   97   98   99   100   101