Software components play for business information systems the same role that objects play for application development. The pressure on both internal IT departments and independent software producers is to deliver effective business solutions, shorten development time, and improve quality and reliability. Workflow-based EAI (Enterprise Application Integration) [Hewlett-Packard 99] [Nierstrazs & Meijler 95] is emerging, and the concept of components as complex standard objects becomes inadequate. A major strength of the object model is implementation hiding. The execution logic behind a method invocation is transparent to the user, and the assumption is that the signature of the method contains all the information the user needs to know. We suggest that in the problem domain in which business components are used, this assumption may be too strong. Thinking about the services (methods) offered by a component, we observe that a more (complex) conversational schema replaces the basic invocation-result model of interaction. Moreover, the conversation triggered by a service request may involve a number of different components in a number of different roles. We refer to these conversations as the observable behaviour of a component, and we propose they should be part of the meta-data exposed by a component. In this work, we propose a process-oriented approach to behaviour modelling for software components. Starting with a process algebra derived from CCS [Milner 80] and CSP [Hoare 85], we enrich it with the concept of multi-role conversation. We then propose a definition for observable behaviour and behavioural compatibility, and we discuss its implications. An example of possible implementation for our proposal is given with reference to EJB (Enterprise Java Bean) components [Monson-Haefel 99].
[1]
M.P.J. Stevens,et al.
Specification and analysis
,
1996
.
[2]
Robin Milner,et al.
A Calculus of Communicating Systems
,
1980,
Lecture Notes in Computer Science.
[3]
Oscar Nierstrasz,et al.
Research Directions in Software Composition 1 What Is Software Composition? Frameworks and Architectures
,
1996
.
[4]
Ari Jaaksi,et al.
Modelling the Behaviour of Object Systems with Event Traces
,
1996
.
[5]
Jean-Marc Andreoli,et al.
Rule-Based Object Coordination
,
1994,
ECOOP Workshop.
[6]
Michael Papathomas.
Behaviour Compatibility and Specification for Active Objects
,
1992
.
[7]
Cynthia Della Torre Cicalese,et al.
Behavioral Specification of Distributed Software Component Interfaces
,
1999,
Computer.