Systems of systems require people, organizations and systems to collaborate for planning and execution. A high-level view of such systems of systems can be understood in terms of these collaborations, the roles played by people, systems and organizations within these collaborations and the interactions between them. The collaboration of components playing roles can be understood and modeled using existing standards - the Object Management Group (OMG) has adopted the “Enterprise Collaboration Architecture” (ECA) as part of the “Enterprise Distributed Object Computing” (EDOC) standard. ECA specifies how to model collaborative processes in a way that is sufficiently well defined to drive the execution of systems. In addition to the modeling of collaborations, ECA describes how collaborations at one level “drill down” into sub-collaborations. Each role in each collaboration becomes a component in the system, separately implementable and deployable in components.
Collaboration modeling for systems of systems will include the specification of collaborative processes, roles within these processes and the interactions between them. Interactions specify message formats, sequencing, timing, security and quality of service. Collaboration roles will also be able to include compositions of components filling other roles so that processes can “drill down” into sub-processes.
Components representing people, platforms, organizations, automated systems are described in terms of their roles within the logistics processes. These roles have ports that are their communication points to other roles. In the systems environment each role has corresponding agents, which plays that role in terms of the systems environment.
In the collaborative process model roles interact in a well defined way to implement the logistics processes. In the systems environment, each port on an agent’s role (corresponding to a communication channel of the role) corresponds to a service for two-way conversation between agents. This interaction may be implemented across a variety of local and distributed communication media. Components representing roles in collaborations will be provisioned as components as the execution environment. The execution environment can embrace Grid, Agent or application server technologies.
Communications between components may be either point-to-point services or event based.
Roles are performed by the components configured to play a given roles. The implementation of agents able to perform a given roles is provided by the MDA provisioning environment. These implemented and configured agents playing roles are deployed on systems platforms in the executing system. It is important to recognize that components, like people and organizations, play multiple roles at the same time.
While the high-level picture shows only logistics roles, the executing systems environment will include other components as well. These will be system services, repositories, transformations, adapters, transaction coordinators, business objects, messaging queues and other components to support the domain roles.
In a systems sense the technology components and business components have the same “shape” in the system, but they are designed at different layers.
Roles are also defined for legacy systems, providing an integration point for components and legacy to co-exist under a common environment and paradigm.
Collaboration Modeling in OsEra
Roles and collaborations as defined in EDOC form the basis of the OsEra methodology and linkage between business modeling and Service Oriented Architecture (SOA). At the business models roles represent business actors (people, systems and organizations) that interact based on EDOC protocols. These protocols map to the interfaces provided and used by components within the technical architecture.
Collaboration support in OsEra is provided by:
As OsEra progresses, collaboration modeling will be more tightly integrated into the other OsEra viewpoints and editors and viewers provided for EDOC within the Integrated Modeling Environment.