Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3
www.elsevier.c
om/locate/jss ,
7
2
Cha 1
llen 2
3
ges V
of
a
com s
t
pon e
r
ent-
a
bas s
,
ed
dev
S
w
elop e
d
men e
n
t b
Ivica R
e
Crnkovic s
e
Magnus a
Larsson r
c
a
h
a
n
d
D
e
v
e
l
o
p
m
e
n
t
,
A
B
B
A
u
t
System evolution,
maintenance, migration and
compatibilities are some of the
challenges met with when
developing a component-
based software system. Since
most systems evolve over
time, components must be
maintained or replaced. The
evolution of requirements
aects not only specific
system functions and
particular components but
also component-based
architecture on all levels.
Received
Increased 1 complexity is a
March 2001;
consequence
received in of dierent
revised form
components and systems
1 July 2001;
having
accepted 1 dierent life cycles. In
September
component-based systems it
2001
is easier to replace part of
system with a commercial
The components
2.5. Cost-eectiveness are built upon
operating systems,
The step-by-step expansion one, a standard
capability of Advant OCS allows system (such as
users to add new functionality Unix or Windows),
without making existing and the other, a
equipment obsolete. The Fig. 2. The operator
station is assembled
proprietary real-
systems self-configuration time system.
capability eliminates the need for from components.
engi-neers to enter or edit To illustrate
topology descriptions when new dierent aspects of
stations are physically installed. component-based
New units can be added while the development and
system is in full operation. With maintenance, we
Advant OCS, system expansion is
therefore easy and cost-eective. shall further look at
two components:
2.6. Reusable components
1 OMF, a business type
of component with a
The Advant OCS products are high level of
component-based to minimize the functionality and a
complex internal
cost of maintenance and structure.
development. Fig. 2 shows the
component architecture of the 2 C++_complib is
operator station assembled from a basic and a
components.
The operator station consists of very general
a specific number of functional library
components and a set of standard component.
Advant components. These
components use the user
interface system (UIS) 2.7. OMF
component. Object management
facility (OMF) is a component
which handles the infrastructure OMF (Nubling et
and data management. OMF is al., 1999) is object-
similar to CORBA (OMG, 2000) in oriented mid-
that it provides a distributed dleware for
object model with data, operation industrial process
and event services. The UxBase automation. It
component provides drivers and encapsu-lates real-
other specific operating system time process
functions. Helper classes for control entities of
strings, lists, pointers, maps and almost every
other general-purpose classes are conceivable
available in the C++_complib description into
library component. objects that can be
accessed from
applications
running on
dierent platforms,
for example, Unix
and Windows NT.
Programming inter-
faces are available
for many
languages, such as
C, C++, Visual
Basic, Java,
Smalltalk and SQL
while interfaces to
the IEC 1131-3
(IEC, 1992) process
control languages
are under
development. OMF
is also adapted to
Mi-crosoft
component object
model (COM) via
adapters and
another
component called
OMF COM aware.
The adapters for
OPC (OLE for
process control)
(OPC, 1998) and OLE automation oers inter-faces to providing
are also implemented. Thanks to many important frameworks and
all these software interfaces, OMF communication tools for a wide
makes process and production protocols in the range of platforms
data available to the majority of field including
computer programmers and MasterNet, MOD and environments.
users, i.e., even to those not DCN, TCP/IP and These utilities are
necessarily involved in the Fieldbus well integrated into
industrial control field. For Foundation. These their respective
instance, it is easy to develop adapters make it surroundings, al-
applications in Microsoft Word, possible to build lowing developers
Excel and Access to access homogeneous
process informa-tion. OMF has control systems to retain the tools
been developed for demanding out of heteroge- and utilities they
real-time applications, and neous field prefer to work
incorporates features such as equipment and with.
real-time response, asynchronous disparate system
communications, standing nodes. 2.8. C++_complib
queries and priority scheduling of
data transfers. On one side OMF OMF reduces the
provides industry-standard time and cost of C++_complib is a
class library that contains
interfaces to software software devel- general-purpose classes
applications, and on the other, it opment such as containers, string
by management
204 I. Crnkovic, M. Larsson / The Journal of Systems and Software 61 (2002) 201212
components which veloping a
have been used to reusable
classes, file management classes,assemble process component
etc. The C++_complib library wasautomation requires three to
developed when no standardsystems. four times more
libraries, such as STL (Austern, resources than
1999), were available on the developing a
market. The main purpose of this3. Dierent reuse component, which
library was to improve thechallenges serves a particular
case (Szyperski,
eciency and quality, and 1998). The fact
promote the uniform usage of the3.1. Component that the
basic functions. generality and requirements of
C++_complib is not aeciency the components
component according to the are usually
definition in Szyperski (1998), Reuse principles incomplete and not
where a component is a unit ofplace high well understood
composition deployeddemands on (Sommerville,
reusable
independently of the product.components. The 1996) brings
However, in a developmentcomponents must additional level of
process C++_complib is treatedbe suciently gen- complexity. In the
in a very similar way as binary eral to cover the case of C+
dierent aspects of +_complib, the
components with sometheir use. At the
restrictions such as dynamicsame time they situation was
configuration. must be concrete simpler, because
and simple enough the functional
2.9. Experience to serve a requirements were
particular
requirement in an clear. It was
ecient way. De- relatively easy to
The Advant system is a define the
successful system and the main interface, which
reasons for its success are its was used by
component-based architecture dierent
giving flexibility, robustness, components in the
stability and compatibility, and
eective build and integration same way. The
pro-cedures. This type of situation was more
architecture is similar to product complicated with
line architectures (Bass et al., complex
1999). Some case studies (Bosch, components such
1999) have shown that product- as OMF. Although
line architec-tures are
successfully applied in small- and the basic concept
medium-sized enterprises of component
although there exist a number of functionality was
problems and challenging issues clear, the demands
(organization, training, on the component
information distribution, product interface and
variants, etc.). The Advant behavior were
experience shows that applying of
product-line architectures can be dierent in
successful for large organizations. dierent
However, the cost of achieving components and
products. Some
these features has been high. To components
suit the requirements of an open required a high
sys-tem, new ABB products have level of
always to be backward abstraction, while
compatible. It would have been others required the
easier to develop a new system interface to be on
a more detailed
that did not require being level. These
compatible with the previous dierent types of
systems. A guarantee that the require-ments
system is back-ward compatible is have led to the
a warranty that an existing creation of two
system will work with new levels of compo-
products and this makes the nents: OMF base,
including all low-
system trustworthy. level functions, and
Development with large OMF framework,
components which are easy to containing only a
reuse increases the eciency higher level of
significantly as com-pared with functions and with
reusing a smaller component that more pre-defined
could have been developed in- behavior and less
house at the same cost as its flexibility. In
purchase price. Advant OCS general,
products are examples of large requirements for
generality and eciency at the servicing software.
same time lead to the business,
implementation of several industrial, and 3 Evolution of
other pro-cesses technology used
variants of components which can in software
be used on a dierent abstraction should
permanently products.
level. In some specific cases, a increase the Evolution in
particular solution must be eciency of computer
provided. This type of so-lution is these processes, hardware and
usually beyond the object- improve the software tech-
oriented mecha-nisms, since such quality of the nology is so fast
components are on the higher products, that an
abstraction level. minimize the organization
production and manufacturing
3.2. System evolution maintenance long-life and
costs, etc. complex
products must
2 Evolution
Long-life products are most technology
of expect signifi-
cant technology
related
often aected by evolu-tion of dierent to changes during
domains. The the product life
dierent kinds: cycle. From the
advance of
technology in reliability and
the dierent risk point of
fields in which view, such orga-
1 Evolution of system software is used nizations prefer
requirements, functional and requires not to use the
non-functional. A consequence improved latest
of a continually com-petitive software. The
technology, but
market situation is a demand improvements
for continually improved may require a
completely new
because of the
demands of a
system performance. The ap-proach to or highly
systems control-ling and new functions in competitive mar-
I. Crnkovic, M. Larsson / The Journal of Systems and Software 61 (2002) 201212 205