functionality and not in terms of specific interfaces /
feature sets.
Step 2:
Consider the generic TINA-C service scenar-
ios and select the most appropriate.
After identifying the service COs and before
proceeding to the construction of the service
interaction diagrams, the computational views of a
number of generic TINA-C service scenarios,
deduced by the computational modelling guidelines
of TINA-C (TINA-C, 2003), should be considered.
These are useful for improving structure and general
comprehension throughout the service design phase,
and for offering to the service developer(s) a generic
pattern of thought, compatible with fundamental
TINA-C concepts, that he / she could use / consider
when designing the service interaction diagrams.
Step 3:
Form the service interaction diagrams.
A telematic service is composed of a set of
service COs interacting with each other via
messages with the objective to complete the required
service operations. The service operation contracts
present an initial best guess at responsibilities and
post conditions for the service operations. Service
interaction diagrams illustrate the proposed design
solution (in terms of service COs) that satisfies
theses responsibilities and post conditions, and
therefore the corresponding service operations.
A service interaction diagram in the form of a
UML collaboration diagram is created for each one
of the service operations that were identified in the
service analysis phase. The objective is to fulfil the
responsibilities and the post-conditions of the corre-
sponding service operation contracts, recognising
however that their accuracy should be questioned.
As was explained in step 1 of this activity the
service COs that participate in the service interaction
diagrams are drawn from the service conceptual
model(s). Therefore, the links between them are ac-
tually instances of the associations present in the ser-
vice conceptual model(s), represent connection paths
between service object instances, and indicate that
some form of navigation between the instances is
possible. More specifically, in order for a service
object to send a message to another service object it
must have visibility to it. Thus, it is important to en-
sure that the necessary (attribute, parameter, locally
declared or global) visibility is present in order to
support the required message interaction (Jacobson,
2006)(Larman, 2006).
Finally, all telematic services have a “Start Up”
use case and some initial service operation related to
the starting up of the telematic service. Therefore,
there should also be a “Start Up” service interaction
diagram, which is proposed to be created last.
Although the “Start Up” service operation is the
earliest one to execute, the development of its
service interaction diagram should be delayed until
after all other service operations have been
considered. This ensures that significant information
has been discovered concerning what initialisation
activities are required to support the “Start-Up”
service operation interaction diagram. The way that
a telematic service starts and initialises is affected by
related concepts / guidelines in the TINA-C service
architecture (e.g. it is assumed that the IA must be
present at the provider domain), and is dependent
upon the DPE, the programming language, and the
operating system that is being used.
Another important artifact created during service
design is the service design class diagram, which
illustrates the specifications for the software classes
of a telematic service using a strict and very infor-
mative notation. More specifically, from the service
interaction diagrams the service designer identifies
the software classes (service classes) that participate
in the software realisation of the telematic service
under examination, together with their methods, and
from the service conceptual model(s) the service
designer adds detail to the service class definitions.
A service design class diagram typically includes
/ illustrates service classes, their attributes and
methods, attribute type information, navigability,
and associations and dependencies between service
classes. In practice, service design class diagrams
and service interaction diagrams are usually created
in parallel. Furthermore, in contrast with a service
conceptual model, a service design class diagram
shows definitions of software entities (service
components), rather than real-world concepts.
In the service design phase, Specification and
Description Language (SDL) can be used to describe
the behaviour of a telematic service exploiting the
finite state machine concept. Then, the SDL specifi-
cation will serve also as a basis for validation, simu-
lation and test case generation (Combes, 2005). In
general, for making formal models of telematic
services and being able to reason about these
models, SDL is undoubtedly the notation of choice,
as the tool support for SDL is perhaps the most
advanced of all the formal notations existing today.
However, adopting an SDL-based approach cannot
guarantee that the developed services will be error
free and the value of SDL for service creation
purposes is questioned, as it may introduce
unnecessary complexity in the service design phase.
Furthermore, the application of SDL can be difficult
(or even problematic) in the case of relatively
complex telematic services with many service
MODELING SERVICE SYSTEMS IN SERVICE-ORIENTED ENVIRONMENTS
87