Title: SPICE Service Platform for Innovative Communication Environment
1SPICE Service Platform for Innovative
Communication Environment
- Service Creation Environment for Mobile Services
- Paolo Falcarin
- Politecnico di Torino Italy
- http//softeng.polito.it
MMC Workshop, 2nd 3trd April 2008, Berlin, H.
Hertz Institute
2Contents
- General intro on SPICE Project
- Focus on Telco Service Creation and Composition
- Approach
- Developer Studio
- Use Case
- Automatic Composition Engine
- Conclusion/Perspectives
3IST SPICE General Introduction
4SPICE Consortium
5Objectives
- Architecture and framework to support
- Easy and Quick service creation
- Compose and Deploy intelligent mobile
communication and information services - Speed up the Service Creation Process
- Model-Driven Development
- Tool chain for fast development cycles
- Address heterogeneous execution environments
- Telco / IT
- At Server and Terminal side
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
6Service Creation in SPICE- Motivation -
- Take advantage of Service Oriented Architecture
benefits - Services are built and made available in
repositories - New (composite) services can be composed out of
existing services - with the challenge of realizing automatic
service composition - Services and service request descriptions are
necessary in order to discover, match and invoke
services - Address Service Creation and composition by
- Professional Service Developers
- End Users
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
7SPICE Service Creation Environment
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
8SPICE approach SPATEL language
- Define a high-level language (SPATEL)
- to specify Telco / IT integrated services
- Using a Meta-Model , based on EMF/MOF
- Service Interface can be annotated semantically
and to express - Semantic Data Types Goals
- Non functional properties (QoS, security,
Cost,).
9Service Description formalism
Interface of a composite component
Logic using state-machine definition
c
A Semantically annotatedservice
interface (invoked by the composite)
An 'opaque' implementation
10Service Creation Environment (SCE)
- Service Creation Environment
- tool chain allowing editing of SPATEL definitions
- generating various implementations that can be
deployed in different targets
Platform Independent Design
Code Generation manual coding
ExecutionFramewoks
Variability in the deployment of the
orchestration logic
11Transformation Code Generation
State Machine Code Impl
Web Interface for quick simulation
An Interface in Phone
12SPICE Architecture SCE viewpoint
12
13The Developer Studio v.1StarUML add-in
14The Developer Studio v.2Eclipse GMF-based editor
15Ontology Viewer Semantic Editor
16End-User Studio
- Rule driven End-User Studio
- Semantic abstract composition of functionalities
- Reuse servicesfrom SCE/Repository inthe
End-UserStudio
17Use Case
- A Dinner planning composite Service
18Use Case Dinner Planning
User requests to receive a restaurantproposal
list at launch time located in the surroundings
Agenda
OrchestrationEngine
Traveller
Interest Points
3rd Party Call
19Service Interface in SPATEL
20Orchestration Definition in SPATEL
Email inspection
Orange Locator
Alcatel GIS
NEC Audio Conf
Yellow Pages
Google Calendar
OrangeSMS sender
21E-Tourism Scenario
Telecommunication Services
9. SIP MessageContact Restaurant
Sip Server
JAIN SLEE (Mobicents JBoss)
SIP RA
1. SIP MessageFind Restaurant at 2000
Location Service WP2 Component
8. SIP MessageNearby restaurants list
IM RA Wrapper WP2 Component
3PCC RA Wrapper WP2 Component
5.Get EU Location
7.SIP Message to EU
2. SIP Message from EU
10. SIP Message from EU
11. Activate SIP Call
Service Composition
IT Services
BPEL Orchestra
J2EE (JBoss 4.0)
Personal Agenda WP2 Component
3. Store Info
4. At 2000, alarm
GIS WP2 Component
6. Get restaurants list nearby location
21
22SPICE Service Creation Environment
- Automatic Composition Engine
23Automatic Composition Engine (ACE)
- The purpose of ACE is to automatically compose a
number of existing services into a new
(composite) service that satisfies some user
request - The existing services are specified in SPATEL in
terms of semantically annotated inputs, outputs,
preconditions, effects, goal and non-functional
properties - The user request can be specified either in
natural language or as a formal request, in terms
of desired inputs, outputs, goals and
non-functional properties - When more than one service composition satisfies
the user request the non-functional properties
are used to rank these service compositions
24Composition by Service Request in formal language
- Takes a service request, specified in SPATEL
(i.e., desired inputs, outputs, goals and
non-functional properties) - Discovers all services that match any of the
specified inputs, outputs and goals - Creates all possible candidate service
compositions from the discovered services - Ranks the candidate service compositions based on
their aggregated non-functional properties - Filters out the service compositions that do not
meet some additional user constraints - Generates SPATEL for the service compositions
that meet the user constraints
25Automatic Composition Engine formal service
request
SCE
Formal Service Request (goal, cost, interactions
relations, QoS)
RequestedService
Determine equivalence
AggregatedService
3
1
2
Find service composition
Composition matches Request?
Determine aggregation of(selection of) service
properties
Service A
Service B
- 1. compose
- 2. matches
- 3. aggregate
Service C
Service composition
26Composing from request in natural language
- Takes a service request in natural language
- Analyzes the request to find pertinent "concepts"
- Discovers all services matching these concepts
- Automatically composes the discovered services
- Generates a new composite service
- Deploys the new service on the execution engine
- Generates an application that uses the new
service - Executes the application and presents the results
back to the user
27Automatic Composition Engine natural language
Formal Service Request (goal, cost, interactions
relations, QoS)
RequestedService
Determine equivalence
AggregatedService
3
1
2
Find service composition
Composition matches Request?
Determine aggregation of(selection of) service
properties
Service A
- 1. compose
- 2. matches
- 3. aggregate
Service B
Service C
Service composition
28Conclusion/Perspectives
- Abstraction at the interface level and at
composition level is the key of flexibility - Multiple implementations and deployments for the
same service orchestration logic - Multiple possible implementations for each used
enabler. - Thanks to MDA and SOA marriage
- Use of OMG standards UML, MOF, QVT and tools
implementing the standards EMF/SmartQVT - Sevice Creation Environment is provided as a set
of Eclipse plugins
29Questions
30(No Transcript)
31Use Case 2
- Design and implementation of a SNS with a Free
Call function
32Clubber SNS Scenario (1)
An end-user (Monica) is in the premises of a club
and would like to invite a friend (Mariano) to
join her in the club
32
33Clubber SNS Scenario (2)
34Clubber SNS Scenario (3)
Paolo chooses to accept the message receives
information about the club (name, logo, map, etc)
34
35Clubber SNS Scenario (4)
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
36Clubber SNS Scenario (5)
Paolo can then decide to join with cheaper access
the club
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
37Functional view of the composition
9
Accept Call
Call Activation
Invite Mariano
8
2
Send docwith holes
3
check
Monica
4
Paolo
get
7
5
6
Decode push
get
get
get
Access Control
Photo of Monica (encoded)
Route tothe Club (encoded)
RenderManager
Call Reference (encoded)
Club Icon
Operator
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
38SEE Elements
- Engines
- SPATEL Engine
- BPEL Orchestra Engine
- Enablers
- Referred call manager (on top of Asterisk)
- Localisation (Valencia simulation with SIAFU)
- Authentication
- Application components
- Mediation components (pseudonym resolution,
encoder) - Render manager
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
39Modelling of the Orchestration
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute
40Results
Dynamic Desktop Client to sendthe invitation
Invitation received (in HTML format)
MMC Workshop, 2tn 3trd April 2008, Berlin H.
Hertz Institute