Lecture Building reliable component-based systems - Chapter 17: Architectural support for reuse. In this chapter, the following content will be discussed: Industrial automation systems, the motivation for a platform, the architecture, developing a domain specific application.
Trang 2Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Overview
Industrial Automation Systems
The Motivation for a Platform
The Architecture
Developing a Domain Specific Application
Trang 3Building Reliable Componentbased Systems
Chapter 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
Trang 4Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
The 6-layer Model of a Technical Process
Group Control Level
Production Management Level
Process Level Field Level
Enterprise Level
Process Control Level
Trang 5Building Reliable Componentbased Systems
Chapter 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.
Trang 6Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
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.
Trang 7Building Reliable Componentbased Systems
Chapter 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
AspectObject Aspect
Aspect
Trang 8Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
<<Aspect>>
Maintenance Instructions
<<Aspect>>
Operator Graphics
<<is modeled by>>
<<Aspect>>
Operation Report
Trang 9Building Reliable Componentbased Systems
Chapter 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!
+Name : string(idl) = "Mechanical Drawing"
+Action : string(idl) = "Open With AutoCad"
Aspect Type
+Data : <unspecified> = 10110100010110010110
Aspect
Trang 10Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Aspect Types, cont.
+Name : string(idl) = "Mechanical Drawing"
+Action : string(idl) = "Open With AutoCad"
Aspect Type
+Data : <unspecified> = 10110100010110010110
Aspect
Trang 11Building Reliable Componentbased Systems
Chapter 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!
Trang 12Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Object Types, cont.
+Name : string(idl) = "Valve"
+Aspects : Aspect Type = "Mechanical Drawing",
Object Type
+Name : string(idl) = "FIC 201"
+Aspects : Aspect
AspectObject
Trang 13Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Structures
Models a structure
Location structure Functional structure Batch structure
Typically, each AspectObject is part of several
structures
Trang 14Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Structures, cont.
Trang 15Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Trang 16Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Physical view
Client-server system
Freedom to choose number of servers
Scalability Reliability
Freedom to choose number of services
Trang 17Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
Physical view, cont.
WP host
SH C WP
Server host ASM
SP A
SP B
SP C
Server host ASM
Trang 18Building Reliable Componentbased Systems
Chapter 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
Trang 19Building Reliable Componentbased Systems
Chapter 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:
Layer several 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.
Trang 20Building Reliable Componentbased Systems
Chapter 17 Architectural Support for Reuse
AIP Reuse Hierarchy
W2k AIP base infrastructure AIP base ASOs project specific ASOsAIP base Services project specific Services
AIP built-in admin
Aspect Types
project specific Aspect Types
AIP built-in general- purpose Aspect Types
domain specific Aspect Types
domain specific Object Types
domain specific templates and patterns project specific templates and
patterns
enablers
engineering guidelines and tools AIP library concept AIP export/import
OT inheritance
AIP export/import
AT inheritance
COM VC++
configuration
3 rd party applications
Trang 21Building Reliable Componentbased Systems
Chapter 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