Brokers and Services: Constructs for the Design and Implementation ofProcess-Oriented Environments

Cooperative process-oriented environments (CPEs) are federations of human agents and multiple (heterogeneous) software tools which cooperate to accomplish complex and long-lasting tasks. Appropriate abstractions must be available in order to properly design and implement CPEs, including tasks such as the control of and cooperation among their participating entities. In this paper, we introduce the concept of brokers, which are components reacting to environmental stimuli and are used to model participating entities in CPEs: human participants, existing software tools, or parts of the environment infrastructure. Services model the functionality offered by brokers. Although these brokers are actually abstractions on top of active object-oriented database management systems, they are also influenced by concepts developed in other research areas, such as (concurrent) programming languages, artificial intelligence, and software architectures. We therefore also position the broker model with respect to similar concepts from these domains.

[1]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[2]  Amit P. Sheth,et al.  Specification and Execution of Transactional Workflows , 1995, Modern Database Systems.

[3]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[4]  David Garlan,et al.  Formalizing Design Spaces: Implicit Invocation Mechanisms , 1991, VDM Europe.

[5]  Chris Tomlinson,et al.  Concurrent Object-Oriented Programming Languages , 1989, Object-Oriented Concepts, Databases, and Applications.

[6]  Gert Smolka,et al.  The Oz Programming Model , 1996, Computer Science Today.

[7]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[8]  Gul Agha,et al.  Research directions in concurrent object-oriented programming , 1993 .

[9]  Andreas Geppert,et al.  Realization of Cooperative Agents using an Active Object-Oriented Database System , 1995, Rules in Database Systems.

[10]  Oscar Nierstrasz,et al.  Active objects in hybrid , 1987, OOPSLA '87.

[11]  Claude Godart,et al.  ALF: a framework for building process-centred software engineering environments , 1994 .

[12]  Jean-Marc Andreoli,et al.  Rule-Based Object Coordination , 1994, ECOOP Workshop.

[13]  Yoav Shoham,et al.  Agent-Oriented Programming , 1992, Artif. Intell..

[14]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[15]  Oscar Nierstrasz,et al.  Requirements for a Composition Language , 1994, ECOOP Workshop.

[16]  Corporate Act-Net Consortium,et al.  The active database management system manifesto: a rulebase of ADBMS features , 1996, SGMD.

[17]  Oscar Nierstrasz,et al.  Object-Based Models and Languages for Concurrent Systems , 1994, Lecture Notes in Computer Science.

[18]  Umeshwar Dayal,et al.  Organizing long-running activities with triggers and transactions , 1990, SIGMOD '90.

[19]  Meichun Hsu,et al.  An Execution Model for Active Data Base Management Systems , 1988, JCDKB.

[20]  Gul A. Agha,et al.  A Language Framework for Multi-Object Coordination , 1993, ECOOP.

[21]  Gul A. Agha,et al.  HAL: A High-Level Actor Language and Its Distributed Implementation , 1992, ICPP.

[22]  Klaus R. Dittrich,et al.  Events in an Active Object-Oriented Database System , 1993, Rules in Database Systems.