PART 7

Case Studies – Component-based Development in Industrial Applications

During recent years, component-based software has been used frequently in the development of desktop applications. A comparable approach in the area of industrial and embedded real-time systems, with the reuse of tested and robust parts of previous applications, is of increasing interest. However, additional requirements such as low-power design and real-time constraints make it difficult to use the component frameworks well known in the desktop area. Either they must be used in a very strict and limited way, or new models must be developed. In the previous part related to real-time components we have seen an academic approach to the building of real-time component-based systems. This part extends this approach to using components in industrial applications by presenting four different industrial case studies. The experience using de facto standard component models, and using in-house developed models are presented here.

In Chapter 16 Component-Based Embedded Systems, Peter O. Müller, Christian Stich and Christian Zeidler discuss the requirements of embedded omnipresent devices (e.g. cell phones, PDAs and home or industrial automation devices) with a focus on resource constraints. These requirements impact on the component model, the composition environment, and the run-time environment. The problems of component-based software development for embedded real-time systems are discussed and the requirements of a component framework for this domain are derived. The chapter is concluded with a presentation of a component-based development of an embedded real-time system. The example presented is based on the synchronous approach to the design of reactive systems.

In Chapter 17 Architectural Support for Reuse: A Case Study in Industrial Automation, Otto Preiss and Martin Naedele present the current state-of-the-practice in architecting component-based, industrial automation platforms tuned for both reuse within, and reuse across application domains. After a brief introduction to industrial automation systems a motivation is given for building a platform that can be used to create industrial automation systems. The chapter describes ABB’s next generation of automation system architecture. The platform that implements the base of the architecture is also presented. The chapter particularly elaborates on an architectural approach which introduces AspectObjects and Aspects together with flexible structuring hierarchies as the fundamental concepts. In addition, it discusses the different dimensions of component-based reuse achieved by the architectural approach presented.

In Chapter 18 A Framework for Integrating Business Applications, Erik Gyllenswärd and Mladen Kap describe an object model with a framework supporting component-based system development and application integration. The object model is very similar to the one presented in chapter 17 with the notion of aspect objects. The framework has been used to develop a number of different components, such as components for document handling, workflow functionality and general database integration. These components are presented more in detail together with a framework which is implemented in a product designated Information Organizer. The case study covers the architecture and a number of tools which enable the arrangement and structuring of information. The framework presented provides support for different levels of reuse, ranging from smaller components to complete applications. The basic concept in implementing Information Organizer is, as far as possible, to follow standards and de facto standards, which are defined with respect to both concept and implementation. The de facto standards used and how they are applied are described in more detail.

In Chapter 19 Industrial Experience with the Dassault Système Component Model, Jacky Estublier, Jean-Marie Favre and Rémy Sanlaville discuss the component model OM developed for Dassault Systèmes. The rationales behind the introduction of component technology at Dassault Systèmes are interesting. The objective was not primarily to sell isolated OM components, nor to sell the OM component framework, nor to make their component model a standard. The primary objective of Dassault Systèmes was to find a way to develop its software under the best conditions, and to provide its customers with powerful adaptability facilities. Actually, Dassault Systèmes sells a family of highly customizable applications. The customers are not informed of the topology of the architecture of these applications. Applications are customized by extending existing components or adding new components. This chapter presents the OM component model and how components are used to build applications. The use of different architectures, such as logical, physical and packaging, are discussed in connection with the component model. The second part of the chapter describes the lessons learned during the years during which the model was elaborated and used. Essentially, the design of a powerful component model is shown to be a complex task, which involves many facets of technology, and of which the use is not so obvious.