An event-driven high level model for the specification of laws in open multi-agent systems

https://doi.org/10.1016/j.jss.2008.08.033Get rights and content

Abstract

The agent development paradigm poses many challenges to software engineering researchers, particularly when the systems are distributed and open. They have little or no control over the actions that agents can perform. Laws are restrictions imposed by a control mechanism to deal with uncertainty and to promote open system dependability. In this paper, we present a high level event-driven conceptual model of laws. XMLaw is an alternative approach to specifying laws in open multi-agent systems that presents high level abstractions and a flexible underlying event-based model. Thus XMLaw allows for flexible composition of the elements from its conceptual model and is flexible enough to accept new elements.

Introduction

The agent development paradigm poses many challenges to software engineering researchers, particularly when the systems are distributed and open to accepting new modules that have been independently developed by third parties. Such systems have little or no control over the actions that agents can perform. As open distributed applications proliferate the need for dependable operation becomes essential.

There has been considerable research addressing the notion that the specification of such open multi-agent systems (MAS) should include laws that define behaviors in an open system (Carvalho et al., 2006a, Carvalho et al., 2006b, Carvalho et al., 2006c, Arcos et al., 2005). Laws are restrictions imposed by a control mechanism to tame uncertainty and to promote open system dependability (Minsky and Ungureanu, 2000, Paes et al., 2005). In this sense, such a mechanism should perform an active role in monitoring and verifying whether the behavior of agents is in conformance with the laws. We call this mechanism a governance mechanism. Examples of governance mechanisms are LGI (Minsky and Ungureanu, 2000), Islander (Esteva, 2003) and MLaw (Paes et al., 2006).

Governance for open multi-agent systems can be viewed as an approach that aims to establish and enforce some structure, set of norms or conventions to articulate or restrain interactions in order to make agents more effective in attaining their goals or more predictable (Lindermann et al., 2006).

A governance approach has to deal with two important issues: a conceptual model (also called a domain language, or meta model) and the implementation mechanism that supports the specification and enforcement of laws based on the conceptual model. The content of this paper is mainly about the former.

In the conceptual model, the approach describes what elements designers can use when specifying the law. The model specifies the vocabulary and the grammar (or rules) that designers can use to design and implement the laws. The model has a decisive impact on how easy it is to specify and maintain the laws. It is the approach to design that largely determines the complexity of the related software. When the software becomes too complex, the software can no longer be well enough understood to be easily changed or extended. By contrast, a good design can make opportunities out of those complex features (Domain Language Inc, 2007).

In 1987, Minsky published the first ideas about laws (Minsky and Rozenshtein, 1987) and in 2000, he published a seminal paper about the role of interaction laws on distributed systems (Minsky and Ungureanu, 2000), which he called Law-Governed Interaction (LGI). Since then he has conducted further work and experimentation based on those ideas (Murata et al., 2003, Minsky, 2003, Minsky, 2005). Although LGI can be used in a variety of application domains, its conceptual model is composed of abstractions basically related to low level information about communication issues (such as the primitives disconnected, reconnected, forward, and sending or receiving of messages). While it can be possible to specify complex interaction rules based on such low level abstractions, they may not be adequate for the design of the laws pertaining to complex systems. This inadequacy occurs because, once the laws in the domain level are mapped to the many low level primitives, the original idea of the law is lost, as it is spread over many low level primitives. This is basically the problem of having a language that provides abstractions that are too far removed from the domain. When developing complex interactive systems, we need higher-level abstractions to represent laws in order to reduce complexity and achieve resultant productivity.

The Electronic institution (EI) (Esteva, 2003) is another approach that provides support for interaction laws. An EI has a set of high level abstractions that allow for the specification of laws using concepts such as agent roles, norms and scenes. Historically, the first ideas appeared when the authors analyzed the fish market domain (Noriega, 1997). They realized that to achieve a certain degree of regulation over the actions of the agents, real world institutions are needed to define a set of behavioral rules, a set of workers (or staff agents), and a set of observers (or governors) that monitor and enforce the rules. Based on these ideas, they proposed a set of abstractions and a software implementation. However, although EI provides high level abstractions, its model is quite inflexible with respect to change. The property of flexibility is quite important since the research in interaction laws is under constant evolution, and consequently the model that represents the law abstractions and their underlying implementation should also be able to evolve. One example of evolution is the use of laws for providing support to the implementation of dependability concerns. In this situation, the monitoring of laws may allow the detection of unexpected behaviors of the system and corresponding recovery actions.

The question is how can a conceptual model of laws evolve if we do not know in advance the nature of the changes? The answer to this question is that there is no way to foresee which parts are going to change. However, it is possible to use a basic underlying model that is inherently flexible. Event-based systems lead to flexible systems mainly because they avoid direct dependencies among the modules. Instead, the dependency is between the modules and the events they produce or consume.

In general, event-driven software design avoids any direct connection between the unit in charge of executing an operation and those in charge of deciding when to execute it. Event-driven techniques lead to a low coupling among modules and have gained acceptance because of their help in building flexible system designs (Meyer, 2003). In an event-based architecture, software components interact by generating and consuming events. When an event in a component (called source) occurs, all other components (called recipients) that have declared interest in the event are notified. This paradigm appears to support a flexible and effective interaction among highly reconfigurable software components (Cugola et al., 1998), and has been applied successfully in very different domains, such as graphical user interfaces, complex distributed systems (Cugola et al., 1998), component-based systems (Almeida et al., 2006) and software integration (Meier and Cahill, 2005). Many of these approaches use event-based systems to manage changes in the software that cannot be anticipated during design (Almeida et al., 2006, Batista and Rodriguez, 2000). Such changes are generally driven by a better understanding of the domain, and by external factors (such as strategic, political or budget decisions).

In this paper, we present a high level event-driven conceptual model of laws. The focus is to highlight the “high level” and “event-driven” aspects of the model, instead of presenting in detail the model itself. We do not claim that the abstractions of the proposed conceptual model are better than the ones in related approaches. Instead, we claim that the model is composed of a rich set of high level abstractions which enable, for instance, the specification of complex laws that can even interact with many current technologies (such as web services). The model is specified based on the event-driven paradigm. As a result, new elements can be easily introduced in the model.

The idea is that each element should be able to listen to and generate events. For example, if the model has the notion of norms, then this norm element should generate events that are potentially important to other elements, such as lifecycle events, norm activation, sanction applications and so on. The norm is also able to listen for events generated by other elements of the conceptual model, and then can react accordingly. For example, if in the conceptual model there is an element that models the notion of time, such as an alarm clock, then norms may listen to alarm clock notifications and their behavior becomes sensitive to time variations. This leads to very flexible and powerful relationships among the elements. Furthermore, if there is a need to introduce a new element in the model, then most of the work is restricted to connecting this new element to the events to which it needs to react, and to discover which events this new element should propagate.

The flexibility achieved by using the event-driven approach at a high level of abstraction is not present in the other high level approaches (Esteva, 2003, Dignum et al., 2004). The advantages claimed by the use of events as a modeling element are also present in Minsky’s approach (Minsky and Ungureanu, 2000) as a low level of abstraction. In this paper, we show in detail how to map our high level approach to Minsky’s in such a way that we illustrate that we can also achieve all the results he has produced so far (we are not addressing efficiency and security issues).

At the implementation level, we have developed middleware that supports the interpretation and enforcement of the specification and treats each element of the conceptual model as a component that is able to generate and sense events. The presentation of the middleware implementation is outside the scope of this paper and can be found in Paes et al., 2006, Paes et al., 2007.

This paper is organized as follows. Section 2 shows the proposed solution as a step in solving the stated problem. In Section 3, we relate our research to previous work, explaining how the problem of flexibility and evolution has been addressed. Section 4 shows two case studies where the model is applied and compared to related work. Finally, in Section 5, we present some discussions about the contents of this paper and future work.

Section snippets

XMLaw: an event-driven model

In this section, we present a partial view of XMLaw the conceptual model of laws and show how a new element can be added and connected to other elements through events. The full description of the XMLaw is described in XMLaw Specification, 2007, Paes et al., 2005.

Fig. 1 shows the elements that compose the XMLaw conceptual model. The term conceptual model has the same meaning adopted by OMG1 to refer to the UML conceptual model. This model can be viewed as

Relating the model to a lower level event-based approach

Minsky and Ungureanu (2000) proposed a coordination and control mechanism called law governed interaction (LGI). This mechanism is based on two basic principles: the local nature of the LGI laws and the decentralization of law enforcement. The local nature of LGI laws means that a law can regulate explicitly only local events at individual home agents, where a home agent is the agent being regulated by the laws; the ruling for an event e can depend only on e itself, and on the local home

Case studies

In this section, we have chosen two examples published in the literature to illustrate the applicability of the XMLaw model. The first example was already implemented and reported using the LGI approach. The second was also implemented and reported using the EI approach. By choosing these examples, we are able to compare the pros and cons of the various approaches directly.

Discussions

In this paper we have shown that the conceptual model of XMLaw is composed of higher-level abstractions as compared to the primitives of LGI. We have also shown that the event-based notion leads XMLaw to have a more flexible model to accommodate future changes and compose the elements when compared to EI.

To be more precise, both XMLaw and LGI deal only with the exchange of messages between agents, and are not sensitive to the internal behavior of agents, and to changes in their internal state.

Acknowledgements

This work is partially supported by CNPq/Brazil under the Project “ESSMA”, Number 5520681/2002-0 and by individual grants from CNPq/Brazil.

Rodrigo Paes holds a PhD in Computer Science from the Pontifical Catholic University of Rio de Janeiro. He is adjunct technology manager of the Software Engineering Laboratory at PUC-Rio and he is in charge of various projects with strong industry relationship. He runs a Software Engineering Company, called PrimeUp. His main research interests are the application of multi-agent system in real world applications.

References (34)

  • J. Arcos et al.

    Environment engineering for multiagent systems

    Journal of Engineering Applications of Artificial Intelligence

    (2005)
  • Almeida, H., Perkusich, A., Ferreira, G., Loureiro, E., Costa, E., 2006. A component model to support dynamic...
  • Ashri, R., Payne, T. R., Luck, M., Surridge, M., Sierra, C., Aguilar, J.A.R., Noriega, P., 2006. Using electronic...
  • T. Batista et al.

    Dynamic reconfiguration of component-based applications

  • Bou, E., López-Sánchez, M., Rodríguez-Aguilar, J., 2006. Norm adaptation of autonomic electronic institutions with...
  • Carvalho, G., Brandão, A., Paes, R., Lucena, C., 2006. Interaction laws verification using knowledge-based reasoning....
  • Carvalho, G., Lucena, C., Paes, R., Briot, J., 2006. Refinement operators to facilitate the reuse of interaction laws...
  • Carvalho G., Almeida H., Gatti, M., Vinicius, G., Paes, R., Perkusich, A., Lucena, C., 2006. Dynamic law evolution in...
  • Cugola, G., Di Nitto, E., Fuggetta, A., 1998. Exploiting an event-based infrastructure to develop complex distributed...
  • Cuní, G., Esteva, M., Garcia, P., Puertas, E., Sierra, C., Solchaga, T., 2004. MASFIT: multi-agent system for fish...
  • de C. Gatti, M.A., de Lucena, C.J., Briot, J., 2006. On fault tolerance in law-governed multi-agent systems. In:...
  • Dignum, V., Vazquez-Salceda, J., Dignum, F., 2004. A model of almost everything: norms, structure and ontologies in...
  • Domain Language Inc., 2007. The challenge of complexity. <http://domaindrivendesign.org/> (accessed January...
  • Esteva, M., 2003. Electronic institutions: from specification to development. Ph.D. Thesis. Technical University of...
  • A. Garcia-Camino et al.

    Implementing norms in electronic institutions

  • Kaâniche, M., Laprie, J.-C., Blanquart, J.-P., 2004. A dependability-explicit model for the development of computing...
  • Lindermann, G., Ossowski, S., Padget, J., Vázquez Salceda, J., 2006. International workshop on agents, norms and...
  • Cited by (3)

    • Contributions to the emergence and consolidation of Agent-oriented Software Engineering

      2013, Journal of Systems and Software
      Citation Excerpt :

      In this kind of architecture, a law enforcement mechanism is responsible for the interception of messages and the confirmation that they are consistent with the previously described laws. XMLaw (Paes et al., 2007, 2009a,b) is a language proposed to represent the interaction laws of an open system specification — a law specification is a description of law elements that are interrelated in a manner that makes it possible to represent interaction protocols. XMLaw follows an event-driven approach, that is, law elements communicate by the exchange of events.

    • A novel Agent perception framework based on events composition network

      2012, International Review on Computers and Software
    • The emergence of multiagent system software engineering

      2011, Proceedings - 25th Brazilian Symposium on Software Engineering, SBES 2011

    Rodrigo Paes holds a PhD in Computer Science from the Pontifical Catholic University of Rio de Janeiro. He is adjunct technology manager of the Software Engineering Laboratory at PUC-Rio and he is in charge of various projects with strong industry relationship. He runs a Software Engineering Company, called PrimeUp. His main research interests are the application of multi-agent system in real world applications.

    Carlos Lucena has a PhD in Computer Science from the Computer Science Department of the School of Engineering and Applied Sciences of the University of California at Los Angeles (1974). Since 1982 he is a full professor at the Pontifical Catholic University of Rio de Janeiro. He is also an adjunct professor at the University of Waterloo and a Research Associate at the Fraunhofer FIRST Institute in Berlin. He is a member of the editorial board of several international journals. His areas of interest include formal aspects of computing, software engineering and multi-agent systems.

    Gustavo Carvalho has a PhD in Computer Science from the Pontifical Catholic University of Rio de Janeiro. He is technology manager of the Software Engineering Laboratory at PUC-Rio and he is responsible to perform technology transfer from academy to industry. Working as a consultant, he has a deep background using software engineering techniques to large Brazilian companies. He runs a Software Engineering Company, called PrimeUp. His main research interest is the use of software engineering for the modernization of legacy systems.

    Donald Cowan is Distinguished Professor Emeritus of Computer Science at the University of Waterloo and Director of the Computer Systems Group, and has been at the University since 1960. He holds a B.A.Sc. in Engineering Physics from the University of Toronto and an M.Sc and PhD in Applied Mathematics from the University of Waterloo. Professor Cowan was the founding Chairman of the Computer Science Department at the University of Waterloo. His current research interests focus on the software engineering and application of of web-based information systems.

    View full text