Tải bản đầy đủ (.pdf) (21 trang)

Lecture Building reliable component-based systems - Chapter 17: Architectural support for reuse

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (400.54 KB, 21 trang )

Chapter 17
Architectural Support for Reuse

Building Reliable Component­based 


Overview
Industrial Automation Systems
The Motivation for a Platform
The Architecture
Developing a Domain Specific Application

Building Reliable Component­based 


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 


The 6-layer Model of a Technical Process

Enterprise
Level
Production
Management Level


Process Control Level
Group Control Level
Field Level
Process Level

Building Reliable Component­based 


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 


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 


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

Aspect

AspectObject

Aspect

Building Reliable Component­based 



Aspect
Encapsulates a subset of the data related to an
AspectObject
Different types of electronic information (e.g. documents)
<<Domain Object>>

Valve
<<is modeled by>>
<<Aspect Object>>

Valve
1

1

1

1

<<Aspect>>

<<Aspect>>

<<Aspect>>

<<Aspect>>

Control


Operator
Graphics

Operation
Report

Mechanical
Drawing

Building Reliable Component­based 

1
<<Aspect>>
Maintenance
Instructions


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!

Aspect Type
+Name : string(idl) = "Mechanical Drawing"
+Action : string(idl) = "Open With AutoCad"


Aspect
+Data : <unspecified> = 10110100010110010110...

Building Reliable Component­based 


Aspect Types, cont.
Aspect Type
+Name : string(idl) = "Mechanical Drawing"
+Action : string(idl) = "Open With AutoCad"

Aspect
+Data : <unspecified> = 10110100010110010110...

Building Reliable Component­based 


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 


Object Types, cont.
Object Type
+Name : string(idl) = "Valve"

+Aspects : Aspect Type = "Mechanical Drawing", ...

AspectObject
+Name : string(idl) = "FIC 201"
+Aspects : Aspect

Building Reliable Component­based 


Structures
Models a structure
Location structure
Functional structure
Batch structure
...
Typically, each AspectObject is part of several
structures

Building Reliable Component­based 


Structures, cont.

Building Reliable Component­based 


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 


Physical view
Client-server system
Freedom to choose number of servers
Scalability
Reliability
Freedom to choose number of services

Building Reliable Component­based 


Physical view, cont.
WP host

WP
SH A

SH C

SH A

SH B

Service group A


WP host

WP

Service group B

SH C

Service group C1
Service group C2

SH B

station network
Server/WP host
WP

ASM
SH A

Server host

SP C
SH B

ASM

SP A
SP B


Server host
ASM

SP C

SH C

SP A

Server host
ASM

SP C

SP: service provider
ASM: Afw Service
Manager

Controller

Controller

Controller

WP: workplace

Building Reliable Component­based 

SP B

SP C

Controller network

SH: service handler

SP A

Controller


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 


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.

Building Reliable Component­based 


AIP Reuse Hierarchy
enablers
project specific templates and
patterns

domain specific templates and patterns

AIP built-in
admin Object
Types

AIP built-in admin
Aspect Types

AIP built-in
generalpurpose Object
Types

domain
specific
Object Types


AIP built-in
generalpurpose
Aspect Types

domain
specific
Aspect Types

project specific Object
Types

AIP
export/import
project specific
Aspect Types

project specific
ASOs

AIP base ASOs

OT inheritance
AIP
export/import
AT inheritance

project specific
Services

AIP base Services


engineering
guidelines and
tools
AIP library
concept

3rd party
applications

AIP base infrastructure
W2k

Building Reliable Component­based 

COM
VC++

configuration


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 



×