Specification - Plastic

$Header: /cvsroot/ist-plastic/Plastic/web/docs/plastic0_2.html,v 1.1 2006/07/10 11:29:17 jwskene Exp $

$Log: plastic0_2.html,v $

Revision 1.1 2006/07/10 11:29:17 jwskene

First addition of project webpages.

Revision 1.1 2006/06/28 03:01:55 francoraimondi

plastic0_2

Revision 1.6 2006/06/28 02:50:14 francoraimondi End of comments from D1.1

Revision 1.5 2006/06/27 01:51:52 francoraimondi More documentation included

Revision 1.4 2006/06/23 16:23:13 francoraimondi Some corrections from latest version of deliverable

Revision 1.3 2006/06/22 15:48:43 francoraimondi Initial documentation

Revision 1.2 2006/06/21 16:29:07 francoraimondi Added CVS fields

This is the EMOF translation of the conceptual model for PLASTIC, based on Deliverable 1.1 (see http://www-c.inria.fr:9098/plastic/deliverable/year-1).

Actors: Service Developer, Service Provider, Service Consumer, Service Integrator, Service Registry and Component Assembler.

First class entities: Software Service, Assembled Component, Context.

Contents:

Class - ::Location

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

Properties:

Operations:

Invariants:

Class - ::AdaptionSpecs

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.

Properties:

Operations:

Invariants:

Class - ::SoftwareComponent

A software component can be a COTS, a newly implemented one, or an Assembled component. A software component is part of an Assembled Component

Properties:

Operations:

Invariants:

Class - ::ComponentDescription

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

Properties:

Operations:

Invariants:

Class - ::ContextDescription

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.

Properties:

Operations:

Invariants:

Class - ::Actor

A person, see: Service Developer, Service Provider, Service Consumer, Service Integrator, Service Registry and Component Assembler.

Properties:

Operations:

Invariants:

Class - ::ComponentAssembler

Extends: ::Actor

This entity identifies the software components to use in an Assembled Component which, in turn, implements a provided functionality

Properties:

Operations:

Invariants:

Class - ::AssembledComponent

Extends: ::SoftwareComponent

An assembled component is an entity that identifies a componend based software system implementing software services. This is a first class entity.

Properties:

Operations:

Invariants:

Class - ::ProvidedFunctionality

A provided functionality is a service implemented by an Assembled Component that is composed by a set of Software Components assembled by the Component Assembler.

Properties:

Operations:

Invariants:

Class - ::ServiceDeveloper

Extends: ::Actor

This entity identifies the developer of a software service. It may coincide with the Service Provider.

Properties:

Operations:

Invariants:

Class - ::ServiceProvider

Extends: ::Actor

A Service Provider provides software services for future usage when these are implemented. It is a network addressable, it accepts and executes requests from Service Consumers. The Service Provider may coincide with the Software Developer.

Properties:

Operations:

Invariants:

Class - ::ServiceSpecification

This entity contains information about a 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. It may contain non-functional information: its price, the service policy, QoS such as security, dependability and performance, its compatibility with existing standards, and so on.

Properties:

Operations:

Invariants:

Class - ::Context

This entity represents the logical and physical 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.

Properties:

Operations:

Invariants:

Class - ::ComposedSoftwareService

Extends: ::SoftwareService

This entity identifies software services when they result from the composition of other software services. The Service Integrator is responsible of such composition as required by service consumers.

Properties:

Operations:

Invariants:

Class - ::SoftwareService

Extends: ::ProvidedFunctionality

A software service is developed by a Service Developer and it is a Provided Functionality. Software services can be simple or can result from composition of other software services (in this case, they are Composed Software Services). A Service Description is associated to each service.

Properties:

Operations:

Invariants:

Class - ::ServiceRegistry

Extends: ::Actor

This entity models a network-based directory, possibily distributed, that contains available services, building upon service discovery technology. It accepts and stores service descriptions from Service Provider and provides those descriptions to interested service consumers.

Properties:

Operations:

Invariants:

Class - ::ServiceIntegrator

Extends: ::Actor

The Service Integrator is responsible for the composition of Software Services and Composed Software Services, to obtain more complex services as required by Service Consumers. The Service Integrator deals with the composition by involving the Service Registry.

Properties:

Operations:

Invariants:

Class - ::ServiceRequest

The Service Consumer asks for a Service by expressing a Service Request. /] class ServiceConsumer extends Actor {

expresses : ServiceRequest[1, *]

defines : ServiceAdditionalInformation[*] }

/[ The Service Request specifies several Service Request Requirements that cover functional and non functional aspects. 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.

Properties:

Operations:

Invariants:

Class - ::AbstractService

This entity models Abstract Services. Service Requests and Service Descriptions are representations of an Abstract Service. An Abstract Service can be concretized or not by a software service.

Properties:

Operations:

Invariants:

Class - ::ServiceDescription

A Service Description 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 service and (ii) optionally a Customer-Side Service Additional Information that represents the feedback form service consumers that used the service.

Properties:

Operations:

Invariants:

Class - ::AvailableResourcesSpecs

Extends: ::Context

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.

Properties:

Operations:

Invariants:

Class - ::ServiceRequestRequirements

Each Service Request specifies several Service Request Requirements. These cover functional and non functional aspects. Service Request Requirements influence SLAs.

Properties:

Operations:

Invariants:

Class - ::SLA

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

Properties:

Operations:

Invariants:

Class - ::ServiceAdditionalInformation

(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 execution environments, the profile of the typical user of the service and the typical access devices used.

Properties:

Operations:

Invariants: