SlideShare a Scribd company logo
June, 2006                                                              PLASTIC Consortium



4 Conceptual Model
In this chapter we describe a first version of the PLASTIC conceptual model. It builds upon
previous work of the consortium partners in the area of mobile distributed computing platforms
and serves as input to the development of technical work packages WP2-4. The model (as
planned in the PLASTIC DoW [23]) will be incrementally revised at each reached milestone on
the basis of the enhanced knowledge acquired in the domain of mobile context-aware
services.
According to the PLASTIC DoW [23] as described in Task 1.3 a component model is the key
element in a service-oriented software architecture. In the PLASTIC setting we devised a
conceptual model of components and services that takes explicitly into account platform
heterogeneity by means of the notion of resource/context awareness. Resources may range
from hardware devices to software interaction protocols, whereas awareness drives adaptation
of the component/services to the characteristics of the execution context, in order to provide a
best effort service adaptation with respect to QoS attributes. The conceptual model
representation we present in the following is described by means of a UML-like notation.
The main role of the PLASTIC conceptual model is to build a common vocabulary on which all
the partners can base their modeling and development tasks. The effort spent to achieve this
goal will make communication among all the partners easier and unambiguous.
Recently, several approaches to conceptualize the world of services have been proposed.
Our model is inspired by the SeCSE conceptual model [13]. This model aims at providing a
common terminology across the SeCSE IST Strep project [19] for letting all the involved
people communicate with each other using a common language and a common semantics.
The model has been conceived to be extensible since it can be easily adapted in order to
accommodate needs coming from different service-oriented domain. The SeCSE conceptual
model was initially inspired by the Web Service Architecture [22] (WSA) drafted by the W3C to
introduce a unified model in the domain of service-oriented applications. However, the SeCSE
model can be seen as complementary to the one of WSA since SeCSE tries to clarify and
detail the concept of service more than the WSA.
We extend the conceptual model of SeCSE by introducing new concepts and relations. In
particular we introduce the concepts of: context, location, adaptation, resources available at
the consumer side, service level agreement. In addition, we introduce into our service model
the concepts related to software components. The need of this integration comes from the
adaptive nature of B3G applications, as we discuss in Section 4.3.2. To the best of our
knowledge, the conceptual model we propose is one of the first attempt to explicitly specify the
relationships between Service Oriented Architectures and Component-Based Software worlds.
In the following, before introducing the description of the conceptual model (Section 4.4), we
briefly introduce relevant related work (Section 4.1), we discuss the meaning of services in
real-world situations (Section 4.2), and how this is reflected in the software domain. Then we
discuss differences and similarities of component orientation and service orientation (Section
4.3). This issue is particularly relevant in our context since PLASTIC services rely on
component-based applications. In Section 4.3.2 we discuss how these two approaches can be
combined in order to produce service oriented component models .
We remark that this chapter reports our attempt to conceptualize the world of services within
the PLASTIC project. However, we believe that, although addressing the specific domain of
services in the B3G domain, the conceptual model we propose may be suitable for any
domain where adaptation with respect to QoS and context characteristics is central.




PLASTIC IST-26955                                                                       80/98
June, 2006                                                              PLASTIC Consortium


4.1 Related work
In this Section we synthetically introduce the work that has been considered in order to define
the initial conceptual model for PLASTIC.
The WSA conceptual model [22] is structured in four areas, each focusing on a specific
aspect: (i) Service Model for service concept relationships; (ii) Message Oriented Model for
message transmission, processing and the relationship between message senders and
receivers; (iii) Resource Oriented Model for uniquely identified, owned resources that are
relevant to Web services; (iv) Policy Model for modeling aspects of the architecture that relate
to constraints, security and QoS.
The SeCSE model marginally considers the message oriented, resource oriented, and policy
models of the WSA, but it tries to clarify and detail more than the WSA does for the concept of
service, and service-related activities (i.e., publication, discovery, composition, and
monitoring).
Also, the WSA message models are not concerned with any semantic significance of the
content of a message or relationships to other messages; the SeCSE conceptual model
makes clear the relationships between service description, semantics, and service interface.
The work in [15] proposes a SOA reference model for identifying the entities involved in a
service-oriented environment, for understanding the roles played by them and for establishing
relationships between them. The proposed reference model is a truly abstract framework that
provides a higher level commonality by supplying a large set of definitions that any SOA based
initiative should take into account. The model is not tied to any particular implementation
details, standards and technologies. Focusing on software architectures, it intends to be the
basis for describing reference architectures and patterns that can be used to define particular
SOA.


4.2 Services and Service Oriented Architecture
Bringing together the vision of the academic world and the vision of SUN [21], IBM [12] and
Microsoft [6] about Service Oriented Architecture (SOA), in this section we discuss the basic
questions arising in the world of services and we describe the SOA vision by highlighting
principles and primary involved entities. The questions we address are what are services? and
what are software services?
In the survey [6] the authors collect and classify a set of terms related to the concept of
service. They distinguish between terms - such as IT-services, information services, public
services, governmental services, etc - that consider domain-related contents of the service
and terms - such as service, e-service, Web services, Real-World services, commercial
services, etc - that are called “service terms'' and that strictly relate to the definition and
essence of a service itself.
Focusing on service terms, the authors point out how these terms have multiple interpretations
for the different communities of business science, information science and computer science,
resulting in confusion. That is, starting from the awareness of the existence of differing
terminologies among different research communities, they explain how these different
interpretations are related and how they can be combined in order to achieve a common
understanding and a shared terminology for a profitable collaboration.
Concentrating on the terms services, e-service and Web-service (i.e., most commonly used
’service terms’) and surveying visions of the above mentioned communities, the authors collect
definitions for these terms.
The business science community makes use of the term services (with no prefix) to refer to
“business activities that often result in intangible outcomes or benefits; they are offered by a
service provider to its environment''. The same community gives three different - yet similar -
PLASTIC IST-26955                                                                        81/98
June, 2006                                                                 PLASTIC Consortium


interpretations for the term e-service. According to two of them, an e-service is “an Internet-
based version of a traditional service'': one interpretation is more extensive since it mentions
customer relationships or business processes; the other one does not. The third interpretation
includes the first one but it is much extensive since it is not limited to the Web but it allows for
the “provision of service over generic electronic networks''.
Web service is not considered a business term, and when it is used one of the definitions from
the computer science community is adopted. Many definitions exist within the computer
science community for the term Web Service. Bringing together elements such as
software/applications, software functionalities and Internet, in [6] the authors notice that all
the definitions agree on the fact that Web services are software/applications to be used on the
Internet. Most of them explicitly recognize “the existence of functionalities behind the software
but not the existence of business processes or business functionalities''.
There is no general agreement for the term e-service. Sometimes it refers to “the realization of
federated and dynamic e-business components in the Internet environment'' but often it is
considered a Web service synonym. Moreover, the term service is also used as a synonym for
both Web service and e-service. Some, on the other hand, give to the term service a business-
based interpretation defining it as an intangible product, benefit, good.
Finally, in [6] the authors conclude the comparison by stating that, for the information science
community, the term Web service is used like in computer science and the term service is
mostly used like in business science. In the same manner, e-services are interpreted either as
an Internet-based version of traditional services (similar to many researchers from business
science), or as Web services (similar to many computer scientists). Other terms such as
commercial service and real-world service are sometimes used to refer to services in their
business meaning.
According to the W3C Web Services Architecture (WSA) [22], in [18] an abstract conceptual
architecture for semantic web services is presented. In this case, the definition of the
requirements on the architecture came from analyzing a set of case studies. Even though the
author concentrates on semantic web-service, the discussion on how the word service can be
used in several different ways in different domains is interesting.
Recognizing the importance of three main aspects such as (i) “value'' in some domain, (ii)
implementation of entities able to provide what is needed, and (iii) interactions involved, three
usages of the word service are given.
       (i) Service considered as provision of value in some domain: distinguishing between
       the particular provision of the value itself and the general capability to provide, the
       author refers to the former as a concrete service and to the latter as an abstract
       service. According to this distinction, “a concrete service is the provision of something
       of value, in the context of some application domain, by one party to another''; “an
       abstract service is defined as the capacity to perform something of value, in the context
       of some application domain''.
       (ii) Service considered as a software entity able to provide something of value:
       commonly used in the computer science and IT community. In this domain the author
       prefers to define a service as “a software entity being (part of) a service provider
       agent''. Rather than speaking about sending messages to services, receiving results
       from services, executing services etc, the author prefers to maintain generality in order
       to avoid confusion when mixing the usage of this definition with the previous one.
       (iii) Service as a means for interacting online with a service provider: this usage is
       referred to as the “provision of a negotiation protocol or choreography''. Since the
       negotiation is not itself a value this usage is different from the usage (i) but, since the
       outcome of the negotiation may be a value this usage may be a service in the sense of
       (i).

PLASTIC IST-26955                                                                           82/98
June, 2006                                                               PLASTIC Consortium


According to the definition given from the European Commission [5], one of the more abstract
and context independent definition of services might be: “Services are labors that, if
accomplished, produce a non tangible useful benefit''.
Still according to the definition given from the European Commission [5], “Software Services
are functionalities provided by software applications that supply computational resources or
informational ones on request performed by an hypothetical service consumer”. The
interpretation that we give to this definition is that an hypothetical service consumer can use
the provided functionalities for exploiting computational resources and for obtaining
informational data, both of them abstracted in software services. In other words functionalities
are abstracted by services.
The potential of service oriented applications has brought to introduce in the software
development domain (beside the Software Architecture view) the definition of SOA. However,
in order to be an architecture model, the service domain needs more than just service
descriptions: the overall application dynamics has to be described by a workflow between
services.
Software Architectures (SA) are meant to abstractly model the overall structure of a system in
terms of communicating subsystem. In a component based setting, this general definition of
SA can be rephrased by substituting the word subsystem with set of software components
interacting through communication channels.
In a service oriented vision, SOA are meant to abstractly model the overall structure of
service-centric software systems in terms of communicating services. They are a special kind
of software architectures that have several unique characteristics according to a set of
principles that we later discuss.
 Alternatively to the traditional tightly-coupled object-oriented models that have emerged in the
past decades, SOA is an alternative loosely-coupled model. Moreover, the most significant
aspect of service-oriented architecture is that it separates the service implementation and the
service provider from its contractual description. In this way, it separates the “WHAT” from the
“HOW”. The service description is given in neutral manner, independently from any platform
and implementation detail. Service consumers view a service simply as an endpoint that
supports a particular request format or contract. Service consumers do not need to know how
the service will act for satisfying their requests; they expect only that it will.
Due to the rapid evolution of software service technologies, the development of service-based
software applications can lay nowadays on a solid support and is adopted in ever wider
application domains. Applications are built as assemblies of existing services, and more
mature tools for discovering (over the web) and adapting services are being developed.
According to the technical protocols and business model used, the European Commission [5]
classifies services saying that Web Services, Grid Services, P2P Services and SOA are
classes at the same level. In our vision, Service Oriented Architectures are the super class of
all the other classes since it is the most general, business model independent protocol.
SOA is not new. A classic example of a proto-SOA system that has been around for a while is
CORBA, which defines similar concepts to SOA. SOA is different from it in the roles played by
“interfaces'” (description). In fact, SOA relies on a more flexible and neutral language for
describing interface. If we consider Web Services (WS) as a particular implementation based
on SOA, then the description of interfaces in an XML-based language (called WSDL [8]) has
moved WS to a more dynamic and flexible interface system than the older IDL of CORBA.
Web services are not the only way to implement SOA. Message-Oriented Middleware
systems, such as the IBM MQ Series [11], represent an alternative and, as just mentioned
earlier, CORBA was a first attempt. The difference is on “how well” they meet the “directives”
of the SOA philosophy.


PLASTIC IST-26955                                                                        83/98
June, 2006                                                                PLASTIC Consortium


4.3 Component Orientation VS Service Orientation
In this section we describe the main peculiarities of component and service oriented
approaches starting from the work about service oriented component model in [10]. Then, we
describe how these approaches can be combined in order to obtain a two-layer framework that
provides infrastructures for building service-centric and component-based applications while
keeping composability in both domains. We also discuss to which extent such an approach is
suitable for the PLASTIC development platform.

4.3.1 A classical view
Starting from an assembly-oriented view of software engineering, Component Based Software
Engineering (CBSE) [1] promotes the construction of a software application as a composition
of reusable building blocks called components.
In a component based approach, assemblers build applications by wiring ports of connectors
and “ready to use” components. In other words, integration is carried out at assembling time.
As a direct consequence, composition is structural in nature and the component should
provide the external structure of its instances (such as provided and required functional
interfaces). Preconditions, post-conditions, and a behavioral specification of the interaction
with its environment may be also required to allow assemblers to connect and eventually
adapt the various component instances. Hierarchical structural composition is achieved when
the external view of a component is itself implemented by a composition.
Unfortunately, software components are often hardly reused and Component Adaptation (CA)
is emerging as a well-differentiated discipline. CA focuses on the problem of reusing existing
software components when constructing a new application, and mostly promotes the use of
adaptors (specific computational entities) for solving this problem. One of the main goals of
software adaptors should be to guarantee that components will interact in the right way not
only at the signature level, but also at the interaction protocol and semantic levels.
Our experience [14][16] on component adaptation is based on the automatic synthesis of local
adaptors (one for each component) that constitute a decentralized and possibly distributed
adaptor for the component based system.
Note that, the approach acts at the interaction level and the intent of the distributed adaptor is
to moderate the communication among the components in a way that the system complies
only to a specific behavior.
On the other end, resource awareness identifies the capability of being aware of the resources
offered by an execution environment, in order to decide whether that environment is suited to
receive and execute the application. In this concern, adaptation identifies the capability of
changing the application in order to comply with the current resource conditions of the
execution environment. In [9] we propose a framework for the development and deployment of
adaptable component-based software systems.
Sharing the same idea of component orientation, in service orientation software applications
are assembled from reusable building blocks, but in this case the blocks are represented by
services.
Each service has a description of provided functionalities that can be contractually defined as
a mix of syntax, semantics and behavior specifications. The basis for service assembling are
only service descriptions. In this way, differently from the component orientation, the service
integration may be carried out prior or at run time. In such a context, it is clear that service
orientation concentrates on how the service are described in order to support dynamic
discovery and possibly run-time integration.



PLASTIC IST-26955                                                                         84/98
June, 2006                                                                        PLASTIC Consortium


In order to understand how dynamic discovery may be supported, it might be useful to
describe the Service Discovery Pattern [3] (see Figure 20) and the roles played by the service
registry, service provider and the service consumer entities.


                                           Service Registry

                                            Service Description
                                            Service Description

                               publish                            discover

                                         Service Oriented
                                         Interaction Pattern
                        Service Provider                      Service Requester
                                                   bind


                                  Figure 20 - Service Discovery

Service providers publish their service descriptions into a service registry. According to the
service request format, service requesters query the service registry to discover service
providers for a particular service description. If one or more providers are present in the
service registry at the moment of the request, the service requester can select and bind to any
of them. When a service requester binds to the service provider, the latter returns a reference
to a service “object” that implements the service functionality.
Service orientation promotes the idea that a service may be supplied by different service
providers. In fact whenever other providers comply with the contract imposed by the service
description they can be interchanged. In this way a requester is not coupled with a particular
provider.
Another fundamental characteristic of service orientation is that services exhibit dynamic
availability, since they can be added or removed from the service registry at any time.
Consequently, running applications must be capable of releasing departing services or of
incorporating newly arriving services.


             Service Orientation                                  Component Orientation
Emphasis on software service descriptions.             Emphasis on component external-view.
Natural separation from description and No evident separation between component
implementation.                         external-view and implementation.
Only service description is available during Component                 physically    available   during
assembly.                                    assembly.
Integration is made prior or during execution.         Integration at assembly-time.
Better support for run-time discovery and No native support for run-time discovery and
substitution.                             difficult substitution.
Native dynamic availability.                           No native dynamic availability.
Abstract composition.                                  Structural composition.

          Table 1 – Main aspects of Service Orientation and Component Orientation.

Since services composition is based only on service description, it can be seen as an abstract
composition that becomes concrete only at run-time.
PLASTIC IST-26955                                                                                85/98
June, 2006                                                              PLASTIC Consortium


Table 1 summarizes in a point-to-point view the previous discussion about service orientation
and component orientation.
The growing request of dynamic and mobile software systems that are able to exploit available
resources and to adapt to them in order to achieve a certain level of QoS has pointed out
several limits of the component orientation approach for this type of software applications.
Component orientation does not provide mechanisms crucial for mobile and adaptable
applications that need to evolve the system at run-time. As reported in the table, component
orientation (i) has no native support for dynamic discovery and availability and (ii) it allows
easy integration only at the assembly-time that makes dynamic component substitution very
difficult to implement. These limitations are strictly related to the lack of clear separation
between the component description and its implementations.
Service orientation instead overcomes these limits by providing useful mechanisms for
dynamic evolution. However, the service orientation, differently from the component
orientation, is more abstract. In fact, it does not describe or give indications on how services
should be implemented, leaving to developers the freedom to choose the way to implement
the software services. On the other hand, component orientation allows excellent structuring of
the implementation code easing the integration and maintenance of available components.
We believe that component and the service orientation can be combined to overcome the
limits and the lacks of both approaches. We discuss in the following section how we propose
to realize such combination.



4.3.2 Our view: a two-layer approach combining services and components
In this section we present our vision of software architectures in the B3G domain [23]. The
vision has been driven from the characteristics of this domain that force a tight integration of
component and service concepts. In B3G applications services should always guarantee a
certain level of QoS to the consumer despite the heterogeneity and richness of the underlying
networks. At the same time, the components implementing the services should have the
capability to adapt to different contexts. In few words, QoS and adaptation are the keywords
that characterize the vision presented in this section.
Figure 21 shows our two-layer vision of a software application. The layers are: service layer
and component layer.
The component layer represents the computing environment for networked services that is
able to manage the life cycle of the software components while delivering functionalities for a
device from anywhere in the network. Software components can be deployed, updated, or
removed on the fly without interrupting the operativity of the device.




PLASTIC IST-26955                                                                       86/98
June, 2006                                                                            PLASTIC Consortium


                     Service          Service Description

                                                                            S8
                                                                                                        Service
                               S4                                                                       Layer
                                                                  S9
           Service
                                                             S5
                     S3                                                           Service Composition
           request                                                S7
                                          S10

 Service
Consumer
                                                                       C7        C9
                                                                                                         Software
                                    C4                                                                   Developer
               C2
                       C1
                                                                                 Component Assembling
                                    C3             C6
                                                            C5                                          Component
                                                   C8                                                   Layer

                          Component          Component Description


                                       Figure 21 Two-layer approach.

Components developers bind to services by only using service descriptions. In other words,
components contractually implement service descriptions but the selection of the specific
component to instantiate is deferred at run-time by taking into account the service requester
needs and the environment/context of service access.
The service layer manages two aspects: (i) the description of services and their composition,
(ii) the mapping between services and set of components implementing them.
Two main actors are represented in Figure 21: Service Consumer and Software Developer.
The former can only act at the service layer by formulating a service request. The request may
refer to an existing service or may bring to assemble several services to provide a new service
as specified from the Service Consumer. Software Developer may act either at the service
layer by composing services, or at the component layer by implementing new services through
component assembling.




4.4 The PLASTIC conceptual model
In domains such as the one of PLASTIC, where the focus is on service design and
development, it is important for service designers and developers to agree on concepts and
principles of SOA, so that they can have the best benefits, in terms of integration and
adaptation, when using related technologies.
Services in PLASTIC are meant to be adaptable to the context whether related to the user
setting (e.g. type of device, user mobility) or the available network resources (e.g. network
bandwidth). The goal is to provide services that achieve the best tradeoff between the user
needs (in terms of Quality of Service) and the current context characteristics (in terms of
available resources).
In order to achieve a high degree of adaptability, services must be aware of the context where
they run. Thus, we make the context characteristics emerging at the service level: a service
description will be not limited to its functional characteristics (i.e. signature and behaviour), but
it will bring additional attributes that model its QoS characteristics (e.g. service reliability,


PLASTIC IST-26955                                                                                             87/98
June, 2006                                                                              PLASTIC Consortium


latency time). Obviously, these attributes are parametric in that they may depend on the
context.
Our approach is somehow opposite to a typical layered architectural model, where differences
in a lower layer (in terms of functional and non-functional characteristics) disappear at the
upper layer. Our approach is in line with [24] and [25] where the authors stress the importance
of application-awareness as opposed to distributed system transparency.
We believe that some features/views of current heterogeneous networks need to be exploited
at the service level instead of being systematically standardized through middleware that aim
at hiding differences among devices and connections. QoS should become a tool in the hands
of service architects and developers that can exploit this additional information to achieve the
maximum user satisfaction.
In order to achieve this goal two main supports have to be provided: (i) non-functional models
that link QoS at the platform/network level with QoS at the service level, (ii) Service Level
Agreement strategies to achieve the best tradeoff.
Based on the considerations made above, in Figure 22 we present the PLASTIC conceptual
model as a Class Diagram, where two different graphical notations have been used to
differentiate the roles: rectangles to represent entities and humans to represent actors. The
actors are entities that interact with the PLASTIC platform in several ways.
In Figure 22, the entities and actors that have been explicitly introduced and were not part of
the SeCSE conceptual model appear in bold
The types of actors devised are: Service Developer, Service Provider, Service Consumer,
Service Integrator, Service Registry and Component Assembler.
The first class entities in the conceptual model are: Software Service, Assembled Component
and Context. The software functionalities that a system provides correspond to software
services that are implemented by means of component based software systems that we name
assembled component. The software services might be combined to obtain complex services.
The components and services compositions take into account the characteristics of the
context where the software services will be hosted.
More in details, a software service is developed by a Service Developer and it is a Provided
Functionality. Whenever a software service is implemented, the Service Provider (that can
coincide with the service developer) provides it for future usage. The service provider is the
network-addressable entity that accepts and executes requests from Service consumers. To
make services accessible from the consumers it publishes them in a Service Registry.
A service registry is a network-based directory, possibly distributed, that contains available
services, building upon service discovery technology [27]. It is an entity that accepts and
stores service descriptions from service providers and provides those descriptions to
interested service consumers.
Software services can be simple or can result from composition of other software services,
and in this case we name them as Composed Software Services. The Service Integrator is
responsible of such composition to obtain more complex services as required by service
consumers. To deal with service composition, the integrator has to retrieve the software
services and related information by involving the Service Registry.
A Service Description1 is associated to each service and it is composed by: (i) a Service
Specification defined by the service provider which describes characteristics of the provided


1
 Note that all the descriptions that we define in the model (i.e. component, service and context descriptions) are
not explicitly modeled in details. However, we can assume here that all of them contain functional and non-
functional characteristics of the described entity.

PLASTIC IST-26955                                                                                           88/98
June, 2006                                                                PLASTIC Consortium


service; (ii) optionally a Customer-side Service Additional Information that represents the
feedback from the service customers that used the service.
According to the SecSE conceptual model, Service specification contains information about
the service: the behaviour of the service, the service signature, other services required for its
function, optionally its operational semantics and the service invariant, the specification of the
exception thrown by the service. Again it contains non functional information: its price, the
service policy, QoS such as security, dependability and performance, its compatibility with
existing standards, and so on.
Customer-side Service Additional Information contains user supplied information of the
service. Such information is collected and stored by the user during and after the execution of
the service. It contains usage history, the satisfaction degree of the service, information
related to the execution environments, the profile of the typical user of the service and the
typical access devices used.

The service consumer asks for a service by expressing a Service Request. The service
request hence specifies several Service Request Requirements that cover functional and non
functional aspects. When a suitable service is found in the registry or a new one is
implemented, the corresponding service description matches the request. The service request
might also bring information on the Available Resources at the consumer side such as the
available memory, the size and the characteristics of the screen, the type of network
connectivity the device used to connect to the Plastic platform. Such information is a piece of
information of the Context where the service will run and will be used by the Plastic platform to
adapt the required service to the device features. According to the SecSE conceptual model,
the service request as well as the service description are representations of an Abstract
Service that can be concretized or not by a software service.

Each provided functionality, that is each service, is implemented by an Assembled Component
that is composed by a set of Software Components assembled by the Component Assembler.
The components assembler identifies the software components to use. In particular, such
components can be COTS, newly implemented ones or other Assembled Components. The
software component has associated a Component Description specifying functional and non
functional aspects of the component itself. The non functional aspects, in particular QoS, of a
component may be parameterized with respect to the context where the service will be
provided. Since service characteristics, especially QoS aspects, are affected by the
component quality, to represent this dependency in the model there is a relation between
service description and component description.

There are two main positions in the software architecture field about connectors: (i) one claims
that in software architectures components are distinct from connectors, where the former ones
are software entities implementing the logics of the system, while the latter ones are software
entities that enable the communication among components; (ii) the other assesses that a
software architecture is made by only components, that is components are software entities
providing different functionalities that span from system logics through communication
capabilities. At the moment, the proposed conceptual model contains the concepts related to
software components without explicitly considering connectors, thus complying to the second
position. However, a discussion about the role of connectors in the B3G domain is ongoing
within the PLASTIC Consortium.

The context is a relevant concept in our vision and it represents the logical and physical
resources available in the service provision. The context has a Context Description that
contains the description of the resources in terms of hardware devices, network connectivity
and software services available in the execution environment. We can use context description
in the adaptation of software components, in software services composition and in the SLA
procedure when a new service request is formulated.
PLASTIC IST-26955                                                                         89/98
June, 2006                                                                PLASTIC Consortium



In a context-aware and adaptable system domain where services have to respect the QoS
requests made by the consumer, the context drives the component adaptation. Adaptation is
made at the software component level and combine information of the context, SLA and
component description. In the conceptual model, adaptation specs is the entity that contains
the specification of the adaptation rules. The definition of such rules is driven by the execution
context.

Since we have also to model mobility, we must identify the different contexts from/to which it is
possible to move. Therefore, the context description contains an explicit entity that specifies a
location. In other words a location is a label that can be associated, if needed, to whatever
context the components will be moving across. In order to track the mobility aspect, each
component brings a reference to its (current) location. Mobility will be simply modelled by
changing the location value.

Finally the SLA is an entity modelling the conditions on the QoS accepted by both the service
consumer and the service provider. In [20] a language to precisely specify SLA has been
proposed.

SLA represents a kind of contract that is influenced by the service request requirements, the
service description and the context where the service has to be provided. When a new service
request is formulated, the PLASTIC platform has to negotiate the QoS of the service on the
basis of the service request, the context the service has to be provided and the service
descriptions of similar services already available by some providers. The contractual
procedure may terminate with an agreement about QoS of the service from the consumer and
the provider, or with no agreement. In case of agreement, an SLA is reached.

The conceptual model in Figure 22 represents the core of the conceptual model for PLASTIC
platform. This means that it contains only the first class entities for the PLASTIC domain and
the relations among them. Such first class entities will be defined in more details by means of
new sub conceptual models, one for each first class entity. as soon as these concepts are
clarified during the project development




PLASTIC IST-26955                                                                         90/98
June, 2006___                         _____________________________                                                              PLASTIC Consortium


                  contains                                          1                                                                                    contains
                                                                                  location
                                                                                                    1
                                                                                 1
                                                                                      resides
                                                                                                            needs                                                                             1..*
                                                                               0..*
                                                 adapts                                                                               has
                       adaptation specs                                    Software Component                                                                                         Component Description

                                                           1..*                                           0..*                                                       1..*                                                        1..*
                                                                                                         1..*
                                   0..*                               1..*
                                                                    Is composed by
                                                                                                                                                                    provides                              defines
                                                                                                implements                                                                                                                             Service Specification
                             drives                 assembles
                                                                        0..*                                                                                                                                             1..*
Context Description
                                                                                                                                             Service Developer                                                                         1
                                                                                                                                                 develops                              Service Provider                                                            1..*
                                                                        Assembled component
   1..*                                                                                                                Provided Functionality
                                                           1..*                                                                                             1..*                                                             relates
                                   Component Assembler                                                   1..*                                  1..*
          has
                                                          drives                                  is composed by
                                                                               1..*              1                                              Software Service
                           Context
                1..*                      0..1    composes                                                           1..*                                                                         0..*          has
                                                                                        Composed                                                  0..*            0..*                                                                        Service Registry
                                                                                      Software Service                                              serves                      concretizes                                                    1..*
                                                                    1..*                                                                       1..*
                                                                                                              1..*                                                                         1..*
                               1                                                                expresses
                                                                                                                                  Service Request                                                                                               publishes
                                                                                                                                                                                  Abstract Service
                                                                                                  Is composed by
                                                                                                                                    0..*       0..*     represents               1..*1..*
                                                                                                                                                                                                         1..*         0..*
                                                                                                                                                                                        represents
                                                                                                                                                                                                                                                        0..*
                                                                    Service Consumer                                                                    matches
                                                                                                     1..*                              1..*                                                                      Service Description
                                                                                                                                                                                              1..*
                                          Service Integrator                                                                                                                                                                                   0..1
                                                                                  Available Resources Specs                 Ser vice Request
                                                                                                                             Requir ements
                                                                                                                                                                                                                                         Customer-side
                                                                                                                                           influences      1..*                                 1..*            influences              Service Additional
                                                                                                                                                                                SLA                                                        Information
                                                                                                                                      defines
                                                                                                                                                                                      searches
                                                                                                                                                                                                                                             0..*
                                                                  influences                                                                                             1..*

                                                                                                  depends

                                                          Figure 22 - Conceptual Model of PLASTIC mobile context-aware services

PLASTIC IST-26955                                                                                                                                                                                                                                                91/99
June, 2006                                                                  PLASTIC Consortium



4.5 Detailed Description of the original entities introduced in the
    conceptual model

This section gives a detailed description of all the new entities introduced in the conceptual
model of SeCSE by PLASTIC vision and that are identified in bold in Figure 22. It is worth
noting that for all such new entities we will provide a sub-conceptual model that specifies the
content and structure of it.


Context:
This entity represents the (physical/logical) context in which the service will be executed. It is
used by the PLASTIC platform to provide/adapt services in order to better meet the user
requirements on the service. The context is a first class entity in the PLASTIC conceptual
model since it influences the Service Level Agreement procedure, the composition of software
services and the adaptation of software components.
Context Description:
This entity represents the information the PLASTIC platform is able to retrieve from the
environment, suitably structured. In general this information is partial since it is too heavy (and
useless) to gather the complete information on context. It contains descriptions of the (logical
and physical) available resources.

Available Resources Specs:
This entity is part of the context and it contains the description of the resources available at the
service consumer side. In other words it contains specifications about the device the service
consumer uses. This is a piece of information about the context the service will run on and it
is contained in the service request expressed by the consumer.

Location:
Location is an identifier of a context. It can be related both to physical and logical context. This
entity is useful to model mobility in PLASTIC platform. The context is hence identified by a
location contained in the context description. Each component implementing a service resides
in a single location

Component Description:
Component Description contains functional and non functional specification of the software
component it corresponds. Among non functional aspects the PLASTIC platform requires that
QoS attributes of the component are explicitly defined and that it contains the location where
the component will be deployed and executed. The information specified in this entity is used
in the software component assembling and in the component adaptation. There is a strict
relation between the description of the software service and the one of the software
component implementing the service.

Adaptation Specs:
This entity models the rules used to adapt a software component to a specific context. The
specified rules make use of the component description in order to suitably adapt the involved
software component(s) to the context where the software service it (they) implements will run.



PLASTIC IST-26955                                                                            92/99
June, 2006                                                                                           PLASTIC Consortium


Service Level Agreement:
This entity models the agreement reached between the service consumer and the service
provider. In practice, SLA is composed from multiple different clauses and each clause
addresses a particular service request requirement [20]. It represents the contracts between
them. Context, Service Request and Service Description influences the procedure that finishes
with the agreement.


4.6 An example scenario: video-streaming service for e-learning
In this section we depict a simple example of use of e-learning service presented in Section
2.2, in particular the example is a simplified instantiation of Trusted Content Repository
scenario (see Section 2.2.2 for a detailed description of the scenario). The example is firstly
described from the service consumer side and, secondly, from the PLASTIC platform side.
The example is aimed at illustrating the usage of concepts defined in the PLASTIC conceptual
model, thus showing the support that the conceptual model provides to the application
developers. Other concepts and actors may be involved in this scenario, but for sake of
illustration we have kept this example as simple as possible.




                                                                                    Satellite

                                                                    Internet

                                        Wlan
                                       Access
                                        Point


                                                                                           List of found solutions

                                                                                                Service Description:
                                                                 GSM Base Station
                                                                                       e-learning video: marketing
                                                                                       strategies, cost: 35 euros, high
                                                                                       video quality and a high audio
                                                                                       quality, to pay by credit card,
                                                                                       Connection: GSM, reliability:
                                                                                       high

                                                                                                Service Description:
                PocketPC
                                                                                       e-learning video: marketing
 Service Consumer: Alice                                                               strategies, cost: 23 euros, high
                                                                                       video quality and a medium
      Service Request                                                                  audio quality, to pay by credit
                                                     Context                           card,       Connection:  WLAN,
   Service       Request                                                               reliability: medium
   Requirements:                                  Context Description:
                                                GSM connection, Satellite
   e-learning video session                     connection, WLAN access                         Service Description:
   on marketing strategies,
   cost: 25 euros, high video                            points
   quality and a medium                                                                e-learning video: marketing
   audio quality, to pay by                                                            strategies,    cost: 20 euros,
   credit card                                                                         medium video quality and a
                                                                                       medium audio quality, to pay by
                                                                                       credit card, Connection: WLAN
   Available     Resources
   Specs:
   Connections:      GSM,                                                                       Service Description:
   WLAN, Bluetooth, S.O. :
   windows ME, screen size:                            SLA                             e-learning video: marketing
   200x400 pixels, memory:                                                             strategies, cost: 30 euros, high
   1 Mb...                                                                             video quality and a high audio
                                                                                       quality, to pay by credit card,
                                                                                       Connection: GSM, reliability:
                                                                                       medium




                                Figure 23 – Example of e-learning service usage

PLASTIC IST-26955                                                                                                         93/98
June, 2006                                                                PLASTIC Consortium


Figure 23 illustrates an example of usage of the e-learning service emphasizing the entities of
the PLASTIC conceptual model involved in the service acquisition phase. In the following
sections we highlight those entities in italic while shortly describing the scenario.

4.6.1 E-learning service: the consumer side

Alice has subscribed to the PLASTIC platform and she has deployed on her pocket PC an
application that allows her for accessing PLASTIC services. The pocket PC is equipped with:
Wireless LAN, Bluetooth and GSM network connectivity type.

Alice wants to access a short e-learning video session on marketing strategies from her mobile
phone while she is travelling to get to the place where she has an interview for a job. While in
the bus Alice’s pocket PC is connected via GSM to the PLASTIC platform. She wants to spend
at most 25 euros to have a high video quality and a medium audio quality, and to pay by credit
card.

After having processed Alice's service request, the PLASTIC platform provides a list of
solutions whose characteristics almost satisfy the requirements Alice expressed in her
request. Note that in searching for solutions the PLASTIC platform takes into account the
service request requirements that include additional requirements defined by Alice which might
affect the way the service will actually be delivered. For each solution it is also displayed a
table reporting some metrics of the trade-off level reached between service specifications and
Alice's request requirements about cost, video and audio quality, and payment method. Alice
chooses a particular solution since the reached compromise is suitable for her even though
the video quality is not the desired one.

To initiate the streaming, Alice has to provide the credit card number, company, and expiration
date. Within few seconds, a message acknowledges that the credit card transaction has been
successfully completed and the e-learning session starts.

At the end of the video, Alice decides to send a positive feedback (i.e. customer-side service
additional information).

4.6.2 E-learning service: the PLASTIC side

In response to the Alice's service request reception, the PLASTIC platform searches the
available service registry to find service providers for particular service descriptions that match
Alice's request.

After having identified a set of available providers and their locations (as part of the provider
side context), the request handler takes into account (i) the available resources specifications
of the Alice's mobile device (as part of the consumer side execution context in terms of
memory size, screen size, operating system, and network connectivity type that is being used),
(ii) the service request requirements expressed by Alice (i.e., desired cost, video quality, and
payment method) and the (possibly different) characteristics of the context in terms of the
heterogeneous “infrastructural paths” connecting each provider’s location to the Alice’s
location (and hence to the Alice’s device).

Since more than one provider has published her e-learning video service descriptions into the
service registry, the search activity successfully returns the reference list of the available
services and relative providers. All the providers are able to supply the e-learning video
session respecting the available resources of the Alice's pocket PC, thus adaptation to the
execution context can be fulfilled. Unfortunately, no provider is able to fully satisfy the
requirements of Alice so negotiation is necessary. The negotiation phase starts by showing the
PLASTIC IST-26955                                                                          94/98
June, 2006                                                               PLASTIC Consortium


table reporting the reached trade-off between service characteristics (for each provider) and
service request requirements. In our case this phase quickly finishes. In fact, even though
Alice's request requirements are not completely satisfied and she would appreciate a better
service, she chooses a solution (and hence a provider) and there is no need to reiterate the
negotiation. In other words, the SLA representing the contract between the service consumer
and the service provider has been established.

After that the provider has been selected, the e-learning functionality is activated according to
the request requirements and the consumer side context. Actually, the service required by
Alice represents a composed software service capable of combining and dynamically
discovering other services in order to accomplish the task.

From the implementation point of view, the overall required service is implemented as the
composition of at least the component implementing the payment service and the component
offering the e-learning video session.




PLASTIC IST-26955                                                                        95/98
June, 2006                                                                     PLASTIC Consortium



5 Conclusions
This deliverable collects and structures the work carried out in the first three months of project
life. It consists of three parts: (i) identification of the scenarios of interest in the Plastic context,
(ii) definition of a first list of requirements, and (iii) description of an initial version of the
conceptual model, respectively. This document corresponds to one of the milestone of the
project and represents the initial input to the work of WP2, WP3 and WP4. According to the
project workplan, the work carried on in the previously mentioned workpackages will be based
on interactions and feedbacks to and from WP1. Along the project life we anticipate
interactions that will lead to revise, in several iterations, the content of WP1 mainly concerning
the evolution of requirements and the conceptual model. These characteristics make D1.1 and
the following related deliverables as dynamic artefacts that will continuously evolve and
change according to the work progressing in WP2, WP3 and WP4.
The scenario phase involved the industrial partners and led to the codification of the set of
scenarios that build upon existing e-services developed by the industrial partners. During this
phase the main effort was devoted to identify the key issues and challenges that the
applications described in the scenarios will have to face in order to evolve towards meeting
the huge population of mobile and/or nomadic users equipped with wireless devices. This
phase was conducted in parallel, but not independently, with the requirements phase. The set
of scenario appearing in this document are structured according to a common format and
clearly identifies key requirements and challenges.
The requirements phase involved all partners to contribute scenarios and specific
requirements for PLASTIC in a semi-structured way. Requirements were gathered directly
from all stakeholders and used to establish the baseline requirements. The requirements were
entered into the Bugzilla issues-tracking system in order to maintain a traceable (live)
requirements document that can be used to track the evolution of the requirements as the
project develops.
The conceptual model phase resulted in the definition of the initial conceptual model. The
model builds on the service model proposed in the SeCSE project suitably extending it
towards the B3G domain. In order to build the model, interactions with the scenarios and
requirements tasks were carried on to properly validate the proposed extensions. One
difficulty faced during the development of the conceptual model has been related to the ability
to keep the model not too concrete thus anticipating or constraining design choices that should
be taken in the following WPs. On the other hand the model should also not be too abstract
thus loosing effectiveness. This problem has been relieved by deciding to rely on the SecSe
model that has been already successfully validated in a wider context.




PLASTIC IST-26955                                                                                96/98
June, 2006                                                             PLASTIC Consortium



6 References
[1] Proceedings of sigsoft component-based software system symposium, 1998-2006.
[2] Special Issue on Applications and Services for the B3G/4G Era. IEEE Wireless
     Communications Magazine, October 2006.
[3] M. Bearman. ODP-Trader. Proc. of the IFIP TC6/WG6.1 Int. Conf. on Open Distributed.
     Berlin, Germany, pp 341-352, 1993
[4] A. Bertolino and W. Emmerich and P. Inverardi and V. Issarny. Softure: Adaptable,
     Reliable and Performing Software for the Future. Future Research Challenges for
     Software and Services (FRCSS), 2006.
[5] A. M. Sassen and C. Macmillan. The service engineering area: An overview of its current
     state and a vision of its future. Technical report, July 2005.
[6] Z. Baida, J. Gordijn, B. Omelayenko, and H. Akkermans. A shared service terminology for
     online service provisioning. In Proceedings of the 6th international conference on
     Electronic commerce, p.1-10, 2004.
[7] D. Sprott and L. Wilkes. Understanding Service-Oriented Architecture.
     http://msdn.microsoft.com/architecture/soa/, Microsoft, 2004.
[8] E. Christensen and F. Curbera and G. Meredith and S. Weerawarana. Web Services
     Description Language (WSDL) 1.1. http://www.w3.org/TR/wsdl, 2001.
[9] F.Mancinelli and P. Inverardi. A resource model for adaptable applications. To apper,
     Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS),
     (ICSE), May 2006.
[10] H. Cervantes and R. S. Hall. Autonomous Adaptation to Dynamic Availability Using a
     Service-Oriented Component Model. International Conference on Software Engineering
     (ICSE), 2004.
[11] IBM. WebSphere MQ. http://www.ibm.com/software/mqseries/.
[12] IBM. Migration to a service-oriented architecture Part1. http://www-
     128.ibm.com/developerworks/library/ws-migratesoa, 2003.
[13] M. Colombo and E. Di Nitto and M. Di Penta and D. Distante and Maurilio Zuccal.
     Speaking a Common Language: A Conceptual Model for Describing Service-Oriented
     Systems. 3rd International Conference on Service Oriented Computing (ICSOC), 2005.
[14] M.Tivoli and M.Autili. Synthesis: a tool for synthesizing correct" and protocol-enhanced
     adaptors. RSTI, L'OBJET JOURNAL 12/2006, pages 77 to 103, 2006.
[15] OASIS. Reference Model for Service Oriented Architecture. Committee Draft 1.0, 7, 2006.
[16] P. Inverardi, L. Mostarda, M. Tivoli, and M. Autili. Synthesis of correct and distributed
     adaptors for component-based systems: an automatic approach. In Proceedings of
     Automated Software Engineering (ASE), 2005.
[17] PLASTIC Project. PLASTIC Website. http://www.ist-plastic.org, 2005.
[18] C. Preist. A conceptual architecture for semantic web services. In Proceedings of the
     International Semantic Web Conference (ISWC), November 2004.
[19] SeCSE Project. SeCSE Website. http://secse.eng.it, 2004.
[20] J. Skene, D. Lamanna and W. Emmerich. Precise Service Level Agreements. Proc. of the
     26th Int. Conference on Software Engineering, Edinburgh, UK. May, 2004, pp. 179—188.
[21] SUN. Service Oriented Architecture. http://www.theserverside.com, 2003.
[22] W3C Working Group. Web Services Architecture (WSA). http://www.w3.org/TR/ws-arch/,
     February 2004.
[23] PLASTIC “Description of Work” - Revised ver. 23/9/2005.
[24] Mahadev Satyanarayanan, Brian Noble, Puneet Kumar, Morgan Price: Application-Aware
     Adaption for Mobile Computing. Operating Systems Review 29(1): 52-55 (1995)
[25] Mahadev Satyanarayanan, Carla Schlatter Ellis: Adaptation: The Key to Mobile I/O. ACM
     Comput. Surv. 28(4es): 211 (1996)
[26] Nikolaos Georgantas, Sonia Ben Mokhtar, Ferda Tartanoglu, Valérie Issarny. Semantic-
     aware Services for the Mobile Computing Environment. In Architecting Dependable
     Systems III, 2005. LNCS 3549.
PLASTIC IST-26955                                                                      97/98
June, 2006                                                            PLASTIC Consortium


[27] Pierre-Guillaume Raverdy, Yerom-David Bromberg, Valerie Issarny. Interoperability of
     Service Discovery Protocols: Transparent versus Explicit Approaches. Proc. 15th IST
     Mobile & Wireless Communications Summit. Myconos. 4-8 June 2006.




PLASTIC IST-26955                                                                     98/98

More Related Content

PPT
Soa chapter 5
DOCX
service orentation documentation
PDF
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
PDF
Ijcse13 05-08-058
PDF
Formalization of SOA concepts with mathematical foundation
PPT
Service-oriented Architecture with Respect to Reusability
PPTX
Introduction to SOA
PPTX
Service Oriented Architecture (SOA)
Soa chapter 5
service orentation documentation
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
Ijcse13 05-08-058
Formalization of SOA concepts with mathematical foundation
Service-oriented Architecture with Respect to Reusability
Introduction to SOA
Service Oriented Architecture (SOA)

What's hot (17)

ODP
Service oriented architecture 27 May 2014
PDF
International Journal of Engineering Research and Development (IJERD)
DOCX
Part II - Summary of service oriented architecture (SOA) concepts, technology...
PDF
Service Oriented Architecture
PDF
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
PDF
Web Services Composition
PDF
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
PDF
A0940104
PDF
International Journal of Computer Science, Engineering and Information Techno...
DOCX
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
PDF
Cluster based approach for Service Discovery using Pattern Recognition
PDF
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
PDF
Service specification and service compliance how to consider the responsibil...
PDF
IT6801-Service Oriented Architecture
PDF
EVALUATION OF COMPUTABILITY CRITERIONS FOR RUNTIME WEB SERVICE INTEGRATION
PDF
AGENTS AND OWL-S BASED SEMANTIC WEB SERVICE DISCOVERY WITH USER PREFERENCE SU...
Service oriented architecture 27 May 2014
International Journal of Engineering Research and Development (IJERD)
Part II - Summary of service oriented architecture (SOA) concepts, technology...
Service Oriented Architecture
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
Web Services Composition
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
A0940104
International Journal of Computer Science, Engineering and Information Techno...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Cluster based approach for Service Discovery using Pattern Recognition
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
Service specification and service compliance how to consider the responsibil...
IT6801-Service Oriented Architecture
EVALUATION OF COMPUTABILITY CRITERIONS FOR RUNTIME WEB SERVICE INTEGRATION
AGENTS AND OWL-S BASED SEMANTIC WEB SERVICE DISCOVERY WITH USER PREFERENCE SU...
Ad

Viewers also liked (8)

PDF
gypsum
PDF
Prototyping is an attitude
PDF
10 Insightful Quotes On Designing A Better Customer Experience
PDF
Learn BEM: CSS Naming Convention
PPTX
How to Build a Dynamic Social Media Plan
PDF
SEO: Getting Personal
PDF
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
PDF
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
gypsum
Prototyping is an attitude
10 Insightful Quotes On Designing A Better Customer Experience
Learn BEM: CSS Naming Convention
How to Build a Dynamic Social Media Plan
SEO: Getting Personal
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Ad

Similar to Plastic (20)

PDF
International Journal of Software Engineering & Applications(IJSEA)
PDF
Ijcse13 05-08-058
PDF
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
PDF
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
PDF
Evaluation of a Framework for Integrated Web Services
PDF
Composite Design Pattern For Feature- Oriented Service Injection And Composit...
PDF
COMPOSITE DESIGN PATTERN FOR FEATUREORIENTED SERVICE INJECTION AND COMPOSITIO...
PDF
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
PDF
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
PDF
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
PDF
Performance Prediction of Service-Oriented Architecture - A survey
PDF
Web Services Discovery and Recommendation Based on Information Extraction and...
PDF
Mapping the Cybernetic Principles of Viable System Model to Enterprise Servic...
PDF
A review of soa modeling approaches for enterprise information systems
PDF
SIMILARITY MEASURES FOR WEB SERVICE COMPOSITION MODELS
PDF
Similarity measures for web service composition models
PDF
SIMILARITY MEASURES FOR WEB SERVICE COMPOSITION MODELS
PDF
Lectura 2.3 soa-overview-directions-benatallah
PDF
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
International Journal of Software Engineering & Applications(IJSEA)
Ijcse13 05-08-058
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
Evaluation of a Framework for Integrated Web Services
Composite Design Pattern For Feature- Oriented Service Injection And Composit...
COMPOSITE DESIGN PATTERN FOR FEATUREORIENTED SERVICE INJECTION AND COMPOSITIO...
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
Performance Prediction of Service-Oriented Architecture - A survey
Web Services Discovery and Recommendation Based on Information Extraction and...
Mapping the Cybernetic Principles of Viable System Model to Enterprise Servic...
A review of soa modeling approaches for enterprise information systems
SIMILARITY MEASURES FOR WEB SERVICE COMPOSITION MODELS
Similarity measures for web service composition models
SIMILARITY MEASURES FOR WEB SERVICE COMPOSITION MODELS
Lectura 2.3 soa-overview-directions-benatallah
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PDF
Electronic commerce courselecture one. Pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
REPORT: Heating appliances market in Poland 2024
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Dropbox Q2 2025 Financial Results & Investor Presentation
madgavkar20181017ppt McKinsey Presentation.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Advanced Soft Computing BINUS July 2025.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
Electronic commerce courselecture one. Pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
REPORT: Heating appliances market in Poland 2024
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
NewMind AI Monthly Chronicles - July 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Plastic

  • 1. June, 2006 PLASTIC Consortium 4 Conceptual Model In this chapter we describe a first version of the PLASTIC conceptual model. It builds upon previous work of the consortium partners in the area of mobile distributed computing platforms and serves as input to the development of technical work packages WP2-4. The model (as planned in the PLASTIC DoW [23]) will be incrementally revised at each reached milestone on the basis of the enhanced knowledge acquired in the domain of mobile context-aware services. According to the PLASTIC DoW [23] as described in Task 1.3 a component model is the key element in a service-oriented software architecture. In the PLASTIC setting we devised a conceptual model of components and services that takes explicitly into account platform heterogeneity by means of the notion of resource/context awareness. Resources may range from hardware devices to software interaction protocols, whereas awareness drives adaptation of the component/services to the characteristics of the execution context, in order to provide a best effort service adaptation with respect to QoS attributes. The conceptual model representation we present in the following is described by means of a UML-like notation. The main role of the PLASTIC conceptual model is to build a common vocabulary on which all the partners can base their modeling and development tasks. The effort spent to achieve this goal will make communication among all the partners easier and unambiguous. Recently, several approaches to conceptualize the world of services have been proposed. Our model is inspired by the SeCSE conceptual model [13]. This model aims at providing a common terminology across the SeCSE IST Strep project [19] for letting all the involved people communicate with each other using a common language and a common semantics. The model has been conceived to be extensible since it can be easily adapted in order to accommodate needs coming from different service-oriented domain. The SeCSE conceptual model was initially inspired by the Web Service Architecture [22] (WSA) drafted by the W3C to introduce a unified model in the domain of service-oriented applications. However, the SeCSE model can be seen as complementary to the one of WSA since SeCSE tries to clarify and detail the concept of service more than the WSA. We extend the conceptual model of SeCSE by introducing new concepts and relations. In particular we introduce the concepts of: context, location, adaptation, resources available at the consumer side, service level agreement. In addition, we introduce into our service model the concepts related to software components. The need of this integration comes from the adaptive nature of B3G applications, as we discuss in Section 4.3.2. To the best of our knowledge, the conceptual model we propose is one of the first attempt to explicitly specify the relationships between Service Oriented Architectures and Component-Based Software worlds. In the following, before introducing the description of the conceptual model (Section 4.4), we briefly introduce relevant related work (Section 4.1), we discuss the meaning of services in real-world situations (Section 4.2), and how this is reflected in the software domain. Then we discuss differences and similarities of component orientation and service orientation (Section 4.3). This issue is particularly relevant in our context since PLASTIC services rely on component-based applications. In Section 4.3.2 we discuss how these two approaches can be combined in order to produce service oriented component models . We remark that this chapter reports our attempt to conceptualize the world of services within the PLASTIC project. However, we believe that, although addressing the specific domain of services in the B3G domain, the conceptual model we propose may be suitable for any domain where adaptation with respect to QoS and context characteristics is central. PLASTIC IST-26955 80/98
  • 2. June, 2006 PLASTIC Consortium 4.1 Related work In this Section we synthetically introduce the work that has been considered in order to define the initial conceptual model for PLASTIC. The WSA conceptual model [22] is structured in four areas, each focusing on a specific aspect: (i) Service Model for service concept relationships; (ii) Message Oriented Model for message transmission, processing and the relationship between message senders and receivers; (iii) Resource Oriented Model for uniquely identified, owned resources that are relevant to Web services; (iv) Policy Model for modeling aspects of the architecture that relate to constraints, security and QoS. The SeCSE model marginally considers the message oriented, resource oriented, and policy models of the WSA, but it tries to clarify and detail more than the WSA does for the concept of service, and service-related activities (i.e., publication, discovery, composition, and monitoring). Also, the WSA message models are not concerned with any semantic significance of the content of a message or relationships to other messages; the SeCSE conceptual model makes clear the relationships between service description, semantics, and service interface. The work in [15] proposes a SOA reference model for identifying the entities involved in a service-oriented environment, for understanding the roles played by them and for establishing relationships between them. The proposed reference model is a truly abstract framework that provides a higher level commonality by supplying a large set of definitions that any SOA based initiative should take into account. The model is not tied to any particular implementation details, standards and technologies. Focusing on software architectures, it intends to be the basis for describing reference architectures and patterns that can be used to define particular SOA. 4.2 Services and Service Oriented Architecture Bringing together the vision of the academic world and the vision of SUN [21], IBM [12] and Microsoft [6] about Service Oriented Architecture (SOA), in this section we discuss the basic questions arising in the world of services and we describe the SOA vision by highlighting principles and primary involved entities. The questions we address are what are services? and what are software services? In the survey [6] the authors collect and classify a set of terms related to the concept of service. They distinguish between terms - such as IT-services, information services, public services, governmental services, etc - that consider domain-related contents of the service and terms - such as service, e-service, Web services, Real-World services, commercial services, etc - that are called “service terms'' and that strictly relate to the definition and essence of a service itself. Focusing on service terms, the authors point out how these terms have multiple interpretations for the different communities of business science, information science and computer science, resulting in confusion. That is, starting from the awareness of the existence of differing terminologies among different research communities, they explain how these different interpretations are related and how they can be combined in order to achieve a common understanding and a shared terminology for a profitable collaboration. Concentrating on the terms services, e-service and Web-service (i.e., most commonly used ’service terms’) and surveying visions of the above mentioned communities, the authors collect definitions for these terms. The business science community makes use of the term services (with no prefix) to refer to “business activities that often result in intangible outcomes or benefits; they are offered by a service provider to its environment''. The same community gives three different - yet similar - PLASTIC IST-26955 81/98
  • 3. June, 2006 PLASTIC Consortium interpretations for the term e-service. According to two of them, an e-service is “an Internet- based version of a traditional service'': one interpretation is more extensive since it mentions customer relationships or business processes; the other one does not. The third interpretation includes the first one but it is much extensive since it is not limited to the Web but it allows for the “provision of service over generic electronic networks''. Web service is not considered a business term, and when it is used one of the definitions from the computer science community is adopted. Many definitions exist within the computer science community for the term Web Service. Bringing together elements such as software/applications, software functionalities and Internet, in [6] the authors notice that all the definitions agree on the fact that Web services are software/applications to be used on the Internet. Most of them explicitly recognize “the existence of functionalities behind the software but not the existence of business processes or business functionalities''. There is no general agreement for the term e-service. Sometimes it refers to “the realization of federated and dynamic e-business components in the Internet environment'' but often it is considered a Web service synonym. Moreover, the term service is also used as a synonym for both Web service and e-service. Some, on the other hand, give to the term service a business- based interpretation defining it as an intangible product, benefit, good. Finally, in [6] the authors conclude the comparison by stating that, for the information science community, the term Web service is used like in computer science and the term service is mostly used like in business science. In the same manner, e-services are interpreted either as an Internet-based version of traditional services (similar to many researchers from business science), or as Web services (similar to many computer scientists). Other terms such as commercial service and real-world service are sometimes used to refer to services in their business meaning. According to the W3C Web Services Architecture (WSA) [22], in [18] an abstract conceptual architecture for semantic web services is presented. In this case, the definition of the requirements on the architecture came from analyzing a set of case studies. Even though the author concentrates on semantic web-service, the discussion on how the word service can be used in several different ways in different domains is interesting. Recognizing the importance of three main aspects such as (i) “value'' in some domain, (ii) implementation of entities able to provide what is needed, and (iii) interactions involved, three usages of the word service are given. (i) Service considered as provision of value in some domain: distinguishing between the particular provision of the value itself and the general capability to provide, the author refers to the former as a concrete service and to the latter as an abstract service. According to this distinction, “a concrete service is the provision of something of value, in the context of some application domain, by one party to another''; “an abstract service is defined as the capacity to perform something of value, in the context of some application domain''. (ii) Service considered as a software entity able to provide something of value: commonly used in the computer science and IT community. In this domain the author prefers to define a service as “a software entity being (part of) a service provider agent''. Rather than speaking about sending messages to services, receiving results from services, executing services etc, the author prefers to maintain generality in order to avoid confusion when mixing the usage of this definition with the previous one. (iii) Service as a means for interacting online with a service provider: this usage is referred to as the “provision of a negotiation protocol or choreography''. Since the negotiation is not itself a value this usage is different from the usage (i) but, since the outcome of the negotiation may be a value this usage may be a service in the sense of (i). PLASTIC IST-26955 82/98
  • 4. June, 2006 PLASTIC Consortium According to the definition given from the European Commission [5], one of the more abstract and context independent definition of services might be: “Services are labors that, if accomplished, produce a non tangible useful benefit''. Still according to the definition given from the European Commission [5], “Software Services are functionalities provided by software applications that supply computational resources or informational ones on request performed by an hypothetical service consumer”. The interpretation that we give to this definition is that an hypothetical service consumer can use the provided functionalities for exploiting computational resources and for obtaining informational data, both of them abstracted in software services. In other words functionalities are abstracted by services. The potential of service oriented applications has brought to introduce in the software development domain (beside the Software Architecture view) the definition of SOA. However, in order to be an architecture model, the service domain needs more than just service descriptions: the overall application dynamics has to be described by a workflow between services. Software Architectures (SA) are meant to abstractly model the overall structure of a system in terms of communicating subsystem. In a component based setting, this general definition of SA can be rephrased by substituting the word subsystem with set of software components interacting through communication channels. In a service oriented vision, SOA are meant to abstractly model the overall structure of service-centric software systems in terms of communicating services. They are a special kind of software architectures that have several unique characteristics according to a set of principles that we later discuss. Alternatively to the traditional tightly-coupled object-oriented models that have emerged in the past decades, SOA is an alternative loosely-coupled model. Moreover, the most significant aspect of service-oriented architecture is that it separates the service implementation and the service provider from its contractual description. In this way, it separates the “WHAT” from the “HOW”. The service description is given in neutral manner, independently from any platform and implementation detail. Service consumers view a service simply as an endpoint that supports a particular request format or contract. Service consumers do not need to know how the service will act for satisfying their requests; they expect only that it will. Due to the rapid evolution of software service technologies, the development of service-based software applications can lay nowadays on a solid support and is adopted in ever wider application domains. Applications are built as assemblies of existing services, and more mature tools for discovering (over the web) and adapting services are being developed. According to the technical protocols and business model used, the European Commission [5] classifies services saying that Web Services, Grid Services, P2P Services and SOA are classes at the same level. In our vision, Service Oriented Architectures are the super class of all the other classes since it is the most general, business model independent protocol. SOA is not new. A classic example of a proto-SOA system that has been around for a while is CORBA, which defines similar concepts to SOA. SOA is different from it in the roles played by “interfaces'” (description). In fact, SOA relies on a more flexible and neutral language for describing interface. If we consider Web Services (WS) as a particular implementation based on SOA, then the description of interfaces in an XML-based language (called WSDL [8]) has moved WS to a more dynamic and flexible interface system than the older IDL of CORBA. Web services are not the only way to implement SOA. Message-Oriented Middleware systems, such as the IBM MQ Series [11], represent an alternative and, as just mentioned earlier, CORBA was a first attempt. The difference is on “how well” they meet the “directives” of the SOA philosophy. PLASTIC IST-26955 83/98
  • 5. June, 2006 PLASTIC Consortium 4.3 Component Orientation VS Service Orientation In this section we describe the main peculiarities of component and service oriented approaches starting from the work about service oriented component model in [10]. Then, we describe how these approaches can be combined in order to obtain a two-layer framework that provides infrastructures for building service-centric and component-based applications while keeping composability in both domains. We also discuss to which extent such an approach is suitable for the PLASTIC development platform. 4.3.1 A classical view Starting from an assembly-oriented view of software engineering, Component Based Software Engineering (CBSE) [1] promotes the construction of a software application as a composition of reusable building blocks called components. In a component based approach, assemblers build applications by wiring ports of connectors and “ready to use” components. In other words, integration is carried out at assembling time. As a direct consequence, composition is structural in nature and the component should provide the external structure of its instances (such as provided and required functional interfaces). Preconditions, post-conditions, and a behavioral specification of the interaction with its environment may be also required to allow assemblers to connect and eventually adapt the various component instances. Hierarchical structural composition is achieved when the external view of a component is itself implemented by a composition. Unfortunately, software components are often hardly reused and Component Adaptation (CA) is emerging as a well-differentiated discipline. CA focuses on the problem of reusing existing software components when constructing a new application, and mostly promotes the use of adaptors (specific computational entities) for solving this problem. One of the main goals of software adaptors should be to guarantee that components will interact in the right way not only at the signature level, but also at the interaction protocol and semantic levels. Our experience [14][16] on component adaptation is based on the automatic synthesis of local adaptors (one for each component) that constitute a decentralized and possibly distributed adaptor for the component based system. Note that, the approach acts at the interaction level and the intent of the distributed adaptor is to moderate the communication among the components in a way that the system complies only to a specific behavior. On the other end, resource awareness identifies the capability of being aware of the resources offered by an execution environment, in order to decide whether that environment is suited to receive and execute the application. In this concern, adaptation identifies the capability of changing the application in order to comply with the current resource conditions of the execution environment. In [9] we propose a framework for the development and deployment of adaptable component-based software systems. Sharing the same idea of component orientation, in service orientation software applications are assembled from reusable building blocks, but in this case the blocks are represented by services. Each service has a description of provided functionalities that can be contractually defined as a mix of syntax, semantics and behavior specifications. The basis for service assembling are only service descriptions. In this way, differently from the component orientation, the service integration may be carried out prior or at run time. In such a context, it is clear that service orientation concentrates on how the service are described in order to support dynamic discovery and possibly run-time integration. PLASTIC IST-26955 84/98
  • 6. June, 2006 PLASTIC Consortium In order to understand how dynamic discovery may be supported, it might be useful to describe the Service Discovery Pattern [3] (see Figure 20) and the roles played by the service registry, service provider and the service consumer entities. Service Registry Service Description Service Description publish discover Service Oriented Interaction Pattern Service Provider Service Requester bind Figure 20 - Service Discovery Service providers publish their service descriptions into a service registry. According to the service request format, service requesters query the service registry to discover service providers for a particular service description. If one or more providers are present in the service registry at the moment of the request, the service requester can select and bind to any of them. When a service requester binds to the service provider, the latter returns a reference to a service “object” that implements the service functionality. Service orientation promotes the idea that a service may be supplied by different service providers. In fact whenever other providers comply with the contract imposed by the service description they can be interchanged. In this way a requester is not coupled with a particular provider. Another fundamental characteristic of service orientation is that services exhibit dynamic availability, since they can be added or removed from the service registry at any time. Consequently, running applications must be capable of releasing departing services or of incorporating newly arriving services. Service Orientation Component Orientation Emphasis on software service descriptions. Emphasis on component external-view. Natural separation from description and No evident separation between component implementation. external-view and implementation. Only service description is available during Component physically available during assembly. assembly. Integration is made prior or during execution. Integration at assembly-time. Better support for run-time discovery and No native support for run-time discovery and substitution. difficult substitution. Native dynamic availability. No native dynamic availability. Abstract composition. Structural composition. Table 1 – Main aspects of Service Orientation and Component Orientation. Since services composition is based only on service description, it can be seen as an abstract composition that becomes concrete only at run-time. PLASTIC IST-26955 85/98
  • 7. June, 2006 PLASTIC Consortium Table 1 summarizes in a point-to-point view the previous discussion about service orientation and component orientation. The growing request of dynamic and mobile software systems that are able to exploit available resources and to adapt to them in order to achieve a certain level of QoS has pointed out several limits of the component orientation approach for this type of software applications. Component orientation does not provide mechanisms crucial for mobile and adaptable applications that need to evolve the system at run-time. As reported in the table, component orientation (i) has no native support for dynamic discovery and availability and (ii) it allows easy integration only at the assembly-time that makes dynamic component substitution very difficult to implement. These limitations are strictly related to the lack of clear separation between the component description and its implementations. Service orientation instead overcomes these limits by providing useful mechanisms for dynamic evolution. However, the service orientation, differently from the component orientation, is more abstract. In fact, it does not describe or give indications on how services should be implemented, leaving to developers the freedom to choose the way to implement the software services. On the other hand, component orientation allows excellent structuring of the implementation code easing the integration and maintenance of available components. We believe that component and the service orientation can be combined to overcome the limits and the lacks of both approaches. We discuss in the following section how we propose to realize such combination. 4.3.2 Our view: a two-layer approach combining services and components In this section we present our vision of software architectures in the B3G domain [23]. The vision has been driven from the characteristics of this domain that force a tight integration of component and service concepts. In B3G applications services should always guarantee a certain level of QoS to the consumer despite the heterogeneity and richness of the underlying networks. At the same time, the components implementing the services should have the capability to adapt to different contexts. In few words, QoS and adaptation are the keywords that characterize the vision presented in this section. Figure 21 shows our two-layer vision of a software application. The layers are: service layer and component layer. The component layer represents the computing environment for networked services that is able to manage the life cycle of the software components while delivering functionalities for a device from anywhere in the network. Software components can be deployed, updated, or removed on the fly without interrupting the operativity of the device. PLASTIC IST-26955 86/98
  • 8. June, 2006 PLASTIC Consortium Service Service Description S8 Service S4 Layer S9 Service S5 S3 Service Composition request S7 S10 Service Consumer C7 C9 Software C4 Developer C2 C1 Component Assembling C3 C6 C5 Component C8 Layer Component Component Description Figure 21 Two-layer approach. Components developers bind to services by only using service descriptions. In other words, components contractually implement service descriptions but the selection of the specific component to instantiate is deferred at run-time by taking into account the service requester needs and the environment/context of service access. The service layer manages two aspects: (i) the description of services and their composition, (ii) the mapping between services and set of components implementing them. Two main actors are represented in Figure 21: Service Consumer and Software Developer. The former can only act at the service layer by formulating a service request. The request may refer to an existing service or may bring to assemble several services to provide a new service as specified from the Service Consumer. Software Developer may act either at the service layer by composing services, or at the component layer by implementing new services through component assembling. 4.4 The PLASTIC conceptual model In domains such as the one of PLASTIC, where the focus is on service design and development, it is important for service designers and developers to agree on concepts and principles of SOA, so that they can have the best benefits, in terms of integration and adaptation, when using related technologies. Services in PLASTIC are meant to be adaptable to the context whether related to the user setting (e.g. type of device, user mobility) or the available network resources (e.g. network bandwidth). The goal is to provide services that achieve the best tradeoff between the user needs (in terms of Quality of Service) and the current context characteristics (in terms of available resources). In order to achieve a high degree of adaptability, services must be aware of the context where they run. Thus, we make the context characteristics emerging at the service level: a service description will be not limited to its functional characteristics (i.e. signature and behaviour), but it will bring additional attributes that model its QoS characteristics (e.g. service reliability, PLASTIC IST-26955 87/98
  • 9. June, 2006 PLASTIC Consortium latency time). Obviously, these attributes are parametric in that they may depend on the context. Our approach is somehow opposite to a typical layered architectural model, where differences in a lower layer (in terms of functional and non-functional characteristics) disappear at the upper layer. Our approach is in line with [24] and [25] where the authors stress the importance of application-awareness as opposed to distributed system transparency. We believe that some features/views of current heterogeneous networks need to be exploited at the service level instead of being systematically standardized through middleware that aim at hiding differences among devices and connections. QoS should become a tool in the hands of service architects and developers that can exploit this additional information to achieve the maximum user satisfaction. In order to achieve this goal two main supports have to be provided: (i) non-functional models that link QoS at the platform/network level with QoS at the service level, (ii) Service Level Agreement strategies to achieve the best tradeoff. Based on the considerations made above, in Figure 22 we present the PLASTIC conceptual model as a Class Diagram, where two different graphical notations have been used to differentiate the roles: rectangles to represent entities and humans to represent actors. The actors are entities that interact with the PLASTIC platform in several ways. In Figure 22, the entities and actors that have been explicitly introduced and were not part of the SeCSE conceptual model appear in bold The types of actors devised are: Service Developer, Service Provider, Service Consumer, Service Integrator, Service Registry and Component Assembler. The first class entities in the conceptual model are: Software Service, Assembled Component and Context. The software functionalities that a system provides correspond to software services that are implemented by means of component based software systems that we name assembled component. The software services might be combined to obtain complex services. The components and services compositions take into account the characteristics of the context where the software services will be hosted. More in details, a software service is developed by a Service Developer and it is a Provided Functionality. Whenever a software service is implemented, the Service Provider (that can coincide with the service developer) provides it for future usage. The service provider is the network-addressable entity that accepts and executes requests from Service consumers. To make services accessible from the consumers it publishes them in a Service Registry. A service registry is a network-based directory, possibly distributed, that contains available services, building upon service discovery technology [27]. It is an entity that accepts and stores service descriptions from service providers and provides those descriptions to interested service consumers. Software services can be simple or can result from composition of other software services, and in this case we name them as Composed Software Services. The Service Integrator is responsible of such composition to obtain more complex services as required by service consumers. To deal with service composition, the integrator has to retrieve the software services and related information by involving the Service Registry. A Service Description1 is associated to each service and it is composed by: (i) a Service Specification defined by the service provider which describes characteristics of the provided 1 Note that all the descriptions that we define in the model (i.e. component, service and context descriptions) are not explicitly modeled in details. However, we can assume here that all of them contain functional and non- functional characteristics of the described entity. PLASTIC IST-26955 88/98
  • 10. June, 2006 PLASTIC Consortium service; (ii) optionally a Customer-side Service Additional Information that represents the feedback from the service customers that used the service. According to the SecSE conceptual model, Service specification contains information about the service: the behaviour of the service, the service signature, other services required for its function, optionally its operational semantics and the service invariant, the specification of the exception thrown by the service. Again it contains non functional information: its price, the service policy, QoS such as security, dependability and performance, its compatibility with existing standards, and so on. Customer-side Service Additional Information contains user supplied information of the service. Such information is collected and stored by the user during and after the execution of the service. It contains usage history, the satisfaction degree of the service, information related to the execution environments, the profile of the typical user of the service and the typical access devices used. The service consumer asks for a service by expressing a Service Request. The service request hence specifies several Service Request Requirements that cover functional and non functional aspects. When a suitable service is found in the registry or a new one is implemented, the corresponding service description matches the request. The service request might also bring information on the Available Resources at the consumer side such as the available memory, the size and the characteristics of the screen, the type of network connectivity the device used to connect to the Plastic platform. Such information is a piece of information of the Context where the service will run and will be used by the Plastic platform to adapt the required service to the device features. According to the SecSE conceptual model, the service request as well as the service description are representations of an Abstract Service that can be concretized or not by a software service. Each provided functionality, that is each service, is implemented by an Assembled Component that is composed by a set of Software Components assembled by the Component Assembler. The components assembler identifies the software components to use. In particular, such components can be COTS, newly implemented ones or other Assembled Components. The software component has associated a Component Description specifying functional and non functional aspects of the component itself. The non functional aspects, in particular QoS, of a component may be parameterized with respect to the context where the service will be provided. Since service characteristics, especially QoS aspects, are affected by the component quality, to represent this dependency in the model there is a relation between service description and component description. There are two main positions in the software architecture field about connectors: (i) one claims that in software architectures components are distinct from connectors, where the former ones are software entities implementing the logics of the system, while the latter ones are software entities that enable the communication among components; (ii) the other assesses that a software architecture is made by only components, that is components are software entities providing different functionalities that span from system logics through communication capabilities. At the moment, the proposed conceptual model contains the concepts related to software components without explicitly considering connectors, thus complying to the second position. However, a discussion about the role of connectors in the B3G domain is ongoing within the PLASTIC Consortium. The context is a relevant concept in our vision and it represents the logical and physical resources available in the service provision. The context has a Context Description that contains the description of the resources in terms of hardware devices, network connectivity and software services available in the execution environment. We can use context description in the adaptation of software components, in software services composition and in the SLA procedure when a new service request is formulated. PLASTIC IST-26955 89/98
  • 11. June, 2006 PLASTIC Consortium In a context-aware and adaptable system domain where services have to respect the QoS requests made by the consumer, the context drives the component adaptation. Adaptation is made at the software component level and combine information of the context, SLA and component description. In the conceptual model, adaptation specs is the entity that contains the specification of the adaptation rules. The definition of such rules is driven by the execution context. Since we have also to model mobility, we must identify the different contexts from/to which it is possible to move. Therefore, the context description contains an explicit entity that specifies a location. In other words a location is a label that can be associated, if needed, to whatever context the components will be moving across. In order to track the mobility aspect, each component brings a reference to its (current) location. Mobility will be simply modelled by changing the location value. Finally the SLA is an entity modelling the conditions on the QoS accepted by both the service consumer and the service provider. In [20] a language to precisely specify SLA has been proposed. SLA represents a kind of contract that is influenced by the service request requirements, the service description and the context where the service has to be provided. When a new service request is formulated, the PLASTIC platform has to negotiate the QoS of the service on the basis of the service request, the context the service has to be provided and the service descriptions of similar services already available by some providers. The contractual procedure may terminate with an agreement about QoS of the service from the consumer and the provider, or with no agreement. In case of agreement, an SLA is reached. The conceptual model in Figure 22 represents the core of the conceptual model for PLASTIC platform. This means that it contains only the first class entities for the PLASTIC domain and the relations among them. Such first class entities will be defined in more details by means of new sub conceptual models, one for each first class entity. as soon as these concepts are clarified during the project development PLASTIC IST-26955 90/98
  • 12. June, 2006___ _____________________________ PLASTIC Consortium contains 1 contains location 1 1 resides needs 1..* 0..* adapts has adaptation specs Software Component Component Description 1..* 0..* 1..* 1..* 1..* 0..* 1..* Is composed by provides defines implements Service Specification drives assembles 0..* 1..* Context Description Service Developer 1 develops Service Provider 1..* Assembled component 1..* Provided Functionality 1..* 1..* relates Component Assembler 1..* 1..* has drives is composed by 1..* 1 Software Service Context 1..* 0..1 composes 1..* 0..* has Composed 0..* 0..* Service Registry Software Service serves concretizes 1..* 1..* 1..* 1..* 1..* 1 expresses Service Request publishes Abstract Service Is composed by 0..* 0..* represents 1..*1..* 1..* 0..* represents 0..* Service Consumer matches 1..* 1..* Service Description 1..* Service Integrator 0..1 Available Resources Specs Ser vice Request Requir ements Customer-side influences 1..* 1..* influences Service Additional SLA Information defines searches 0..* influences 1..* depends Figure 22 - Conceptual Model of PLASTIC mobile context-aware services PLASTIC IST-26955 91/99
  • 13. June, 2006 PLASTIC Consortium 4.5 Detailed Description of the original entities introduced in the conceptual model This section gives a detailed description of all the new entities introduced in the conceptual model of SeCSE by PLASTIC vision and that are identified in bold in Figure 22. It is worth noting that for all such new entities we will provide a sub-conceptual model that specifies the content and structure of it. Context: This entity represents the (physical/logical) context in which the service will be executed. It is used by the PLASTIC platform to provide/adapt services in order to better meet the user requirements on the service. The context is a first class entity in the PLASTIC conceptual model since it influences the Service Level Agreement procedure, the composition of software services and the adaptation of software components. Context Description: This entity represents the information the PLASTIC platform is able to retrieve from the environment, suitably structured. In general this information is partial since it is too heavy (and useless) to gather the complete information on context. It contains descriptions of the (logical and physical) available resources. Available Resources Specs: This entity is part of the context and it contains the description of the resources available at the service consumer side. In other words it contains specifications about the device the service consumer uses. This is a piece of information about the context the service will run on and it is contained in the service request expressed by the consumer. Location: Location is an identifier of a context. It can be related both to physical and logical context. This entity is useful to model mobility in PLASTIC platform. The context is hence identified by a location contained in the context description. Each component implementing a service resides in a single location Component Description: Component Description contains functional and non functional specification of the software component it corresponds. Among non functional aspects the PLASTIC platform requires that QoS attributes of the component are explicitly defined and that it contains the location where the component will be deployed and executed. The information specified in this entity is used in the software component assembling and in the component adaptation. There is a strict relation between the description of the software service and the one of the software component implementing the service. Adaptation Specs: This entity models the rules used to adapt a software component to a specific context. The specified rules make use of the component description in order to suitably adapt the involved software component(s) to the context where the software service it (they) implements will run. PLASTIC IST-26955 92/99
  • 14. June, 2006 PLASTIC Consortium Service Level Agreement: This entity models the agreement reached between the service consumer and the service provider. In practice, SLA is composed from multiple different clauses and each clause addresses a particular service request requirement [20]. It represents the contracts between them. Context, Service Request and Service Description influences the procedure that finishes with the agreement. 4.6 An example scenario: video-streaming service for e-learning In this section we depict a simple example of use of e-learning service presented in Section 2.2, in particular the example is a simplified instantiation of Trusted Content Repository scenario (see Section 2.2.2 for a detailed description of the scenario). The example is firstly described from the service consumer side and, secondly, from the PLASTIC platform side. The example is aimed at illustrating the usage of concepts defined in the PLASTIC conceptual model, thus showing the support that the conceptual model provides to the application developers. Other concepts and actors may be involved in this scenario, but for sake of illustration we have kept this example as simple as possible. Satellite Internet Wlan Access Point List of found solutions Service Description: GSM Base Station e-learning video: marketing strategies, cost: 35 euros, high video quality and a high audio quality, to pay by credit card, Connection: GSM, reliability: high Service Description: PocketPC e-learning video: marketing Service Consumer: Alice strategies, cost: 23 euros, high video quality and a medium Service Request audio quality, to pay by credit Context card, Connection: WLAN, Service Request reliability: medium Requirements: Context Description: GSM connection, Satellite e-learning video session connection, WLAN access Service Description: on marketing strategies, cost: 25 euros, high video points quality and a medium e-learning video: marketing audio quality, to pay by strategies, cost: 20 euros, credit card medium video quality and a medium audio quality, to pay by credit card, Connection: WLAN Available Resources Specs: Connections: GSM, Service Description: WLAN, Bluetooth, S.O. : windows ME, screen size: SLA e-learning video: marketing 200x400 pixels, memory: strategies, cost: 30 euros, high 1 Mb... video quality and a high audio quality, to pay by credit card, Connection: GSM, reliability: medium Figure 23 – Example of e-learning service usage PLASTIC IST-26955 93/98
  • 15. June, 2006 PLASTIC Consortium Figure 23 illustrates an example of usage of the e-learning service emphasizing the entities of the PLASTIC conceptual model involved in the service acquisition phase. In the following sections we highlight those entities in italic while shortly describing the scenario. 4.6.1 E-learning service: the consumer side Alice has subscribed to the PLASTIC platform and she has deployed on her pocket PC an application that allows her for accessing PLASTIC services. The pocket PC is equipped with: Wireless LAN, Bluetooth and GSM network connectivity type. Alice wants to access a short e-learning video session on marketing strategies from her mobile phone while she is travelling to get to the place where she has an interview for a job. While in the bus Alice’s pocket PC is connected via GSM to the PLASTIC platform. She wants to spend at most 25 euros to have a high video quality and a medium audio quality, and to pay by credit card. After having processed Alice's service request, the PLASTIC platform provides a list of solutions whose characteristics almost satisfy the requirements Alice expressed in her request. Note that in searching for solutions the PLASTIC platform takes into account the service request requirements that include additional requirements defined by Alice which might affect the way the service will actually be delivered. For each solution it is also displayed a table reporting some metrics of the trade-off level reached between service specifications and Alice's request requirements about cost, video and audio quality, and payment method. Alice chooses a particular solution since the reached compromise is suitable for her even though the video quality is not the desired one. To initiate the streaming, Alice has to provide the credit card number, company, and expiration date. Within few seconds, a message acknowledges that the credit card transaction has been successfully completed and the e-learning session starts. At the end of the video, Alice decides to send a positive feedback (i.e. customer-side service additional information). 4.6.2 E-learning service: the PLASTIC side In response to the Alice's service request reception, the PLASTIC platform searches the available service registry to find service providers for particular service descriptions that match Alice's request. After having identified a set of available providers and their locations (as part of the provider side context), the request handler takes into account (i) the available resources specifications of the Alice's mobile device (as part of the consumer side execution context in terms of memory size, screen size, operating system, and network connectivity type that is being used), (ii) the service request requirements expressed by Alice (i.e., desired cost, video quality, and payment method) and the (possibly different) characteristics of the context in terms of the heterogeneous “infrastructural paths” connecting each provider’s location to the Alice’s location (and hence to the Alice’s device). Since more than one provider has published her e-learning video service descriptions into the service registry, the search activity successfully returns the reference list of the available services and relative providers. All the providers are able to supply the e-learning video session respecting the available resources of the Alice's pocket PC, thus adaptation to the execution context can be fulfilled. Unfortunately, no provider is able to fully satisfy the requirements of Alice so negotiation is necessary. The negotiation phase starts by showing the PLASTIC IST-26955 94/98
  • 16. June, 2006 PLASTIC Consortium table reporting the reached trade-off between service characteristics (for each provider) and service request requirements. In our case this phase quickly finishes. In fact, even though Alice's request requirements are not completely satisfied and she would appreciate a better service, she chooses a solution (and hence a provider) and there is no need to reiterate the negotiation. In other words, the SLA representing the contract between the service consumer and the service provider has been established. After that the provider has been selected, the e-learning functionality is activated according to the request requirements and the consumer side context. Actually, the service required by Alice represents a composed software service capable of combining and dynamically discovering other services in order to accomplish the task. From the implementation point of view, the overall required service is implemented as the composition of at least the component implementing the payment service and the component offering the e-learning video session. PLASTIC IST-26955 95/98
  • 17. June, 2006 PLASTIC Consortium 5 Conclusions This deliverable collects and structures the work carried out in the first three months of project life. It consists of three parts: (i) identification of the scenarios of interest in the Plastic context, (ii) definition of a first list of requirements, and (iii) description of an initial version of the conceptual model, respectively. This document corresponds to one of the milestone of the project and represents the initial input to the work of WP2, WP3 and WP4. According to the project workplan, the work carried on in the previously mentioned workpackages will be based on interactions and feedbacks to and from WP1. Along the project life we anticipate interactions that will lead to revise, in several iterations, the content of WP1 mainly concerning the evolution of requirements and the conceptual model. These characteristics make D1.1 and the following related deliverables as dynamic artefacts that will continuously evolve and change according to the work progressing in WP2, WP3 and WP4. The scenario phase involved the industrial partners and led to the codification of the set of scenarios that build upon existing e-services developed by the industrial partners. During this phase the main effort was devoted to identify the key issues and challenges that the applications described in the scenarios will have to face in order to evolve towards meeting the huge population of mobile and/or nomadic users equipped with wireless devices. This phase was conducted in parallel, but not independently, with the requirements phase. The set of scenario appearing in this document are structured according to a common format and clearly identifies key requirements and challenges. The requirements phase involved all partners to contribute scenarios and specific requirements for PLASTIC in a semi-structured way. Requirements were gathered directly from all stakeholders and used to establish the baseline requirements. The requirements were entered into the Bugzilla issues-tracking system in order to maintain a traceable (live) requirements document that can be used to track the evolution of the requirements as the project develops. The conceptual model phase resulted in the definition of the initial conceptual model. The model builds on the service model proposed in the SeCSE project suitably extending it towards the B3G domain. In order to build the model, interactions with the scenarios and requirements tasks were carried on to properly validate the proposed extensions. One difficulty faced during the development of the conceptual model has been related to the ability to keep the model not too concrete thus anticipating or constraining design choices that should be taken in the following WPs. On the other hand the model should also not be too abstract thus loosing effectiveness. This problem has been relieved by deciding to rely on the SecSe model that has been already successfully validated in a wider context. PLASTIC IST-26955 96/98
  • 18. June, 2006 PLASTIC Consortium 6 References [1] Proceedings of sigsoft component-based software system symposium, 1998-2006. [2] Special Issue on Applications and Services for the B3G/4G Era. IEEE Wireless Communications Magazine, October 2006. [3] M. Bearman. ODP-Trader. Proc. of the IFIP TC6/WG6.1 Int. Conf. on Open Distributed. Berlin, Germany, pp 341-352, 1993 [4] A. Bertolino and W. Emmerich and P. Inverardi and V. Issarny. Softure: Adaptable, Reliable and Performing Software for the Future. Future Research Challenges for Software and Services (FRCSS), 2006. [5] A. M. Sassen and C. Macmillan. The service engineering area: An overview of its current state and a vision of its future. Technical report, July 2005. [6] Z. Baida, J. Gordijn, B. Omelayenko, and H. Akkermans. A shared service terminology for online service provisioning. In Proceedings of the 6th international conference on Electronic commerce, p.1-10, 2004. [7] D. Sprott and L. Wilkes. Understanding Service-Oriented Architecture. http://msdn.microsoft.com/architecture/soa/, Microsoft, 2004. [8] E. Christensen and F. Curbera and G. Meredith and S. Weerawarana. Web Services Description Language (WSDL) 1.1. http://www.w3.org/TR/wsdl, 2001. [9] F.Mancinelli and P. Inverardi. A resource model for adaptable applications. To apper, Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), (ICSE), May 2006. [10] H. Cervantes and R. S. Hall. Autonomous Adaptation to Dynamic Availability Using a Service-Oriented Component Model. International Conference on Software Engineering (ICSE), 2004. [11] IBM. WebSphere MQ. http://www.ibm.com/software/mqseries/. [12] IBM. Migration to a service-oriented architecture Part1. http://www- 128.ibm.com/developerworks/library/ws-migratesoa, 2003. [13] M. Colombo and E. Di Nitto and M. Di Penta and D. Distante and Maurilio Zuccal. Speaking a Common Language: A Conceptual Model for Describing Service-Oriented Systems. 3rd International Conference on Service Oriented Computing (ICSOC), 2005. [14] M.Tivoli and M.Autili. Synthesis: a tool for synthesizing correct" and protocol-enhanced adaptors. RSTI, L'OBJET JOURNAL 12/2006, pages 77 to 103, 2006. [15] OASIS. Reference Model for Service Oriented Architecture. Committee Draft 1.0, 7, 2006. [16] P. Inverardi, L. Mostarda, M. Tivoli, and M. Autili. Synthesis of correct and distributed adaptors for component-based systems: an automatic approach. In Proceedings of Automated Software Engineering (ASE), 2005. [17] PLASTIC Project. PLASTIC Website. http://www.ist-plastic.org, 2005. [18] C. Preist. A conceptual architecture for semantic web services. In Proceedings of the International Semantic Web Conference (ISWC), November 2004. [19] SeCSE Project. SeCSE Website. http://secse.eng.it, 2004. [20] J. Skene, D. Lamanna and W. Emmerich. Precise Service Level Agreements. Proc. of the 26th Int. Conference on Software Engineering, Edinburgh, UK. May, 2004, pp. 179—188. [21] SUN. Service Oriented Architecture. http://www.theserverside.com, 2003. [22] W3C Working Group. Web Services Architecture (WSA). http://www.w3.org/TR/ws-arch/, February 2004. [23] PLASTIC “Description of Work” - Revised ver. 23/9/2005. [24] Mahadev Satyanarayanan, Brian Noble, Puneet Kumar, Morgan Price: Application-Aware Adaption for Mobile Computing. Operating Systems Review 29(1): 52-55 (1995) [25] Mahadev Satyanarayanan, Carla Schlatter Ellis: Adaptation: The Key to Mobile I/O. ACM Comput. Surv. 28(4es): 211 (1996) [26] Nikolaos Georgantas, Sonia Ben Mokhtar, Ferda Tartanoglu, Valérie Issarny. Semantic- aware Services for the Mobile Computing Environment. In Architecting Dependable Systems III, 2005. LNCS 3549. PLASTIC IST-26955 97/98
  • 19. June, 2006 PLASTIC Consortium [27] Pierre-Guillaume Raverdy, Yerom-David Bromberg, Valerie Issarny. Interoperability of Service Discovery Protocols: Transparent versus Explicit Approaches. Proc. 15th IST Mobile & Wireless Communications Summit. Myconos. 4-8 June 2006. PLASTIC IST-26955 98/98