A process-oriented and content-based perspective on software components
Commercial software component models are frequently based on object-oriented concepts and terminology (e.g. interfaces, classes, methods, messages, events) with appropriate binding, persistence and distribution support. In this paper, we argue that a process-oriented and content-based view on cooperating software components based on the concepts and terminology of a language/action perspective on cooperative work [41] (e.g. actors, roles, conversations, speech acts, conversation histories) with a tight coupling between process- and content-model provides a more suitable foundation for defining software components in business applications. This especially applies to the emerging fields of software for information brokers, value-adding services, digital libraries etc. We first explain the relationship between object-oriented and process-oriented component modeling, then describe our view on component definition and finally illustrate it using two recently executed industrial case studies. We also report on our experience gained in developing a class framework and a set of tools to assist in the systematic process- and content-oriented development of business application components. In particular, the paper addresses consistency checking of business components based on temporal properties and consistency-preserving composition of process fragments. (C) 2000 Elsevier Science Ltd. All rights reserved.
software components process models content models cooperative information systems