210 likes | 303 Views
Chapter 17 Architectural Support for Reuse. Overview. Industrial Automation Systems The Motivation for a Platform The Architecture Developing a Domain Specific Application . Industrial Automation Systems.
E N D
Chapter 17 Architectural Support for Reuse Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Overview • Industrial Automation Systems • The Motivation for a Platform • The Architecture • Developing a Domain Specific Application Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Industrial Automation Systems • Highly specialized, independent, and incompatible hardware and software system solutions. • A flexible combination of basic hardware and software components, communications infrastructure, and application components. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
The 6-layer Model of a Technical Process Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
The Motivation for a Platform • Envisioned seamless link between front-end business processes and plant control processes: • Motivations for a large global company to invest into the development of a “single” platform. • Avoidance of parallel developments in different business segments. • Harmonization of the diversity of ‘legacy’ automation platforms acquired through company mergers or resulting from previous parallel developments. • Adoption of product line business strategies (i.e. pursuing a system family concept both within and across vertical market segments). Implicit expectation of a reuse payoff. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
The Architecture • AspectObject, Object Type, Aspect and Aspect Type. • Aspect System • A collection of Aspect Types for a certain context or purpose. • Domain-related reuse. • AspectSystemObject • Some Aspect-specific software is needed. • (binary) Software component; Microsoft COM component following specific rules • The basic set of ASOs distributed with the AIP contains functionality for alarming, event handling etc. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
AspectObjects • The most central type of entity in the model • AspectObjects model physical objects • E.g. a specific valve in a dairy (“FIC 201 Valve”) • Does not contain any data • Related data is carried by its Aspects Aspect Aspect AspectObject Aspect Aspect Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Aspect • Encapsulates a subset of the data related to an AspectObject • Different types of electronic information (e.g. documents) Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Aspect Types • Defines how the data in an Aspect is used • In a “Mechanical Drawing” Aspect, the data is opened with AutoCad • In a “Maintenance Instructions” Aspect, the data is opened with Acrobat Reader • Reuse! Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Aspect Types, cont. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Object Types • Models the type of an AspectObject • The type of “FIC 201” is “Valve” • Defines what Aspect Types an AspectObject can have • A “Valve” can have a “Mechanical drawing” etc. • Reuse! Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Object Types, cont. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Structures • Models a structure • Location structure • Functional structure • Batch structure • ... • Typically, each AspectObject is part of several structures Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Structures, cont. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Structures, cont. • Location structure • Enables browsing through the physical layout • See what valves are physically connected to a pipe • Functional structure • Enables browsing through the functional layout • See what control units are connected to a valve Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Physical view • Client-server system • Freedom to choose number of servers • Scalability • Reliability • Freedom to choose number of services Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Physical view, cont. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Developing a Domain Specific Application • Jacobson et al. have introduced the distinction between an application system and a component system: • Reusing a single component is usually insufficient. • Requires the reuse of a set of components. • A set of components must be reused to obtain the alarm handling functionality. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
4-Layer Representation • Application system layer: • Offers a coherent set of use cases to some end users. • The business-specific: • Layerseveral component systems used by the application engineer. • The middleware layer: • Independent of particular types of business • GUI builders, database management systems, etc. • The system software layer: • Operating systems. • Indistinct boundaries between itself and middleware. Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
AIP Reuse Hierarchy enablers engineering guidelines and tools project specific templates and patterns domain specific templates and patterns project specific Object Types AIP built-in general-purpose Object Types domain specific Object Types AIP library concept AIP export/import OT inheritance AIP built-in admin Object Types project specific Aspect Types domain specific Aspect Types AIP built-in general-purpose Aspect Types AIP built-in admin Aspect Types AIP export/import AT inheritance project specific Services AIP base Services 3rd party applications project specific ASOs AIP base ASOs COM VC++ configuration AIP base infrastructure W2k Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse
Some Words of Caution • Possible risks: • Only relying on a platform, not having a reuse-driven process or product line practice with a top-down and planned approach to reuse will not succeed. • Requirements management: • Requirements elicitation, prioritisation and trade-offs across products, domains, and organizational units are extremely complex. • Bugs in a released version Building Reliable Component-based SystemsChapter 17 - Architectural Support for Reuse