Information Technology Reference
In-Depth Information
internally in terms of components and connectors; in other words, this view-
point focuses on the system functionality and on the software architecture that
realizes it. Other concerns, such as the distribution of software components
to platform nodes or the technology used to implement the functionality, fall
outside its scope.
In this way, the software architecture of the system becomes distribution
and platform independent, and therefore it can be reused across different
platforms, and can have a much longer lifespan than the technologies used to
implement it. This separation of concerns also allows incorporation of those
aspects at a later stage and in a modular fashion, as we shall see in chapter 5.
The computational language allows system architects to express their de-
signs using a set of basic elements, which are common to most software ar-
chitectures and languages. More precisely, a computational specification de-
scribes the functional decomposition of an ODP system as a configuration of
computational objects, the interactions that occur between those objects
at their interfaces, and the environment contracts for them. This chapter
describes these elements in more detail.
4.2
Computational Objects
Computational objects model the basic functional elements of the system,
offering services to other objects and using services from them, but without
considering their distribution across networks and nodes. Thus, computational
objects each encapsulate part of the system state and functionality, allowing
a modular system design. One way to choose the computational objects for
your specification is by identifying the basic pieces of work that are candidates
for separate development and are thus the building blocks of your software
architecture.
The set of interface types a computational object has specifies the ser-
vices it provides and requires. Each service is in turn characterized by the
behaviour involved in its use and by the syntax of its elements. The syntactic
aspects are expressed in the signatures of the operations, streams or signals
that it supports (see section 4.4 for a definition of these concepts). For exam-
ple, figure 4.1 shows two UML components that represent two computational
object types (UserOperations and CorporationDataMgmt); these interact be-
cause the UserOperations component requires a service that is provided by the
CorporationDataMgmt component. Each object declares one ODP interface
(iUser2Corporation and iCorporationMgmt, respectively). The signature of the
operations that comprise the services are specified by a UML interface called
IUserMgmt. The compatibility between the required and provided services
is ensured because the signatures of the operations coincide (both services
 
Search WWH ::




Custom Search