1. The SENSORIA
The SENSORIA
Development Environment
Development Environment
CASE Tool for SOA Development
p
SENSORIA EU FP6 project
19 partners from 7 countries
4 years, 4 M EUR
Coordinator: Prof. Dr. Martin Wirsing, Ludwig‐Maximilians‐Universität München, Germany
Università di Trento | University of Leicester | Warsaw University | TU Denmark at Lyngby | Università di Pisa
Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh
Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh
ATX Software | SATelecom Italia Lab | Imperial College London | Cirquent GnbH (FAST GmbH) | Budapest University of
Technology and Economics |S&N AG | University College London | Politecnico di Milano
István Ráth
István Ráth
SENSORIA Development rath@mit.bme.hu
Environment for SOA
2. Context
• Service‐Oriented Computing
– Create new services
Create new services
– By composing existing functionality
– With „Loosely‐coupled” interaction
– >Resilient to changing (business) environment
>Resilient to changing (business) environment
• Envisaged market impact
– Time‐to‐market of service integration can be reduced
– Increased quality of service
(security, response time, throughput, availability….)
– Portability to existing platforms to maintain profitable services
• Challenges
– Specification and querying of services?
– Correctness and consistency of service composition?
y p
– Continuous operation in changing environment (service outages)?
– Design for justifiable SLA‐compliance (security, performance)?
SENSORIA Development
Environment for SOA
4. The SENSORIA Development Environment (SDE)
• Obj ti
Objective of the SDE
f th SDE
– Provide a service‐oriented platform for tool
integration
• Benefits
– Discover & install SOA development tools
& install SOA development tools
– Orchestrate & compose tools as services
– A homogeneous platform for
A homogeneous platform for
the service‐based toolchain
• SDE is based on SOA
– OSGi for services
– Eclipse for UI
SENSORIA Development
Environment for SOA
5. The SDE UI
Tool Browser
Lists available tools, ordered by
Function Browser
category
Shows functionality available in a
T l b di d
Tools can be discovered, tool
downloaded and installed via
Aspire One talán a legszexibb az eddig nálunk
Eclipse update sites.
járt mini notebookok közül. A fényes tejszínű
burkolat és a zsanérok melletti metálpiros
gyűrű már‐már nőiessé varázsolják a gépet." Blackboard
Shell Stores data in‐between tool function
Allows direct access to tool functions
Allows direct access to tool functions calls
SENSORIA Development
Environment for SOA
6. Correctness analysis with WS‐Engineer
• WS‐Engineer supports model‐checking WS‐BPEL, WS‐CDL and WSIF behavioural
specifications
– Properties for analysis of service interaction & behaviour
– Verification and violation traces
– Animation for validation
• Automotive Case Study – On Road Assistance Scenario:
– Is it true that the credit card of the driver won’t be charged
Is it true that the credit card of the driver won t be charged
if there are no available garages?
• Generate formal models of service orchestrations
• Specify a property for verification
– e.g. “property
service.orderGarage throw_fault bank.revokeChar
ge””
• Check model for violation traces of this property
SENSORIA Development
Environment for SOA
7. WS‐Engineer at a glance
g g
Available
Services WS‐BPEL
example
Blackboard
of results
of results Available
Methods A trace of
property
Tool
Tool
Graphical
Output
Views
SENSORIA Development
SENSORIA Development Environment for SOA
Environment for SOA
8. Dynamic and Adaptive Services (Dino)
• Dino ‐ QoS and Adaptive Service Brokering
– S i Di
Service Discovery, Selection, Binding and Adaptation
S l i Bi di d Ad i
– Functional and non‐functional aspects required/provided
– Local, Remote and P2P service repository search
l d 2 i i h
• DinoModes:
–G
Generates Dino specs. From UML Mode models
t Di F UML M d d l
• Extracts services required and provided
• Generates functional and non‐functional Dino inputs
Generates functional and non functional Dino inputs
• Check model for violation traces of this property
• Modes + WS‐Engineer
– Analyse modes for consistency and constraints
• Architectural, Behaviour and Policy reconfigurations
SENSORIA Development
SENSORIA Development Environment for SOA
Environment for SOA
9. Dino+Modes at a glance
at a glance
DinoModes
Browser
o se
ModesAPI
DinoModesAPI
UML
Modes
Functional
Specificatio
n
Mode
Selectio
n
SENSORIA Development
SENSORIA Development Environment for SOA
Environment for SOA
10. Performance analysis with PEPA
PEPA is a formal language for quantitative analysis of systems
A model is expressed in terms of components which perform
A model is expressed in terms of components which perform
timed activities and co‐operate with each other
The SCT Plug‐in for PEPA supports steady‐state analysis, that can
The SCT Plug‐in for PEPA supports steady‐state analysis that can
answer questions such as:
What is the percentage of time that the local discovery server is
p g y
idle in the long run? (Utilisation Analysis)
What is the throughput at which remote services are
discovered? (Throughput Analysis)
What is the probability that the system does compensation
upon notification of failure?
SENSORIA Development
Environment for SOA
11. PEPA at a Glance
Interface for PEPA steady‐
I f f PEPA d
state analysis tools
Interface of
the UML
th UML
converter
PEPA model description Available
automatically inferred from UML Methods
model
Throughput
results
results
Utilisation Analysis Results reflected
back into the
UML model
UML model
SENSORIA Development
Environment for SOA
12. Service deployment transformations
• G
Generate WSDL descriptors from UML4SOA
t WSDL d i t f UML4SOA
• Tool: VIATRA2
– VIsual Automated model TRAnsformations
Automated model TRAnsformations
– general‐purpose model transformation framework
that supports the entire life‐cycle for transformations
pp y
• specification
• design
• execution
• validation
– within and between various modeling languages
– Eclipse subproject: http://eclipse.org/gmt
// /
– Wiki: http://wiki.eclipse.org/VIATRA2
SENSORIA Development
Environment for SOA
13. VIATRA2 transformations in SDE
WSDL files are
created
Source models in UML
Uniform representation of
Model transformation
models and transformations
models and transformations
code
SENSORIA Development
Environment for SOA
14. The UML2BPEL Transformation
• The UML2BPEL transformer converts from UML activity diagrams
to BPEL and WSDL
d S
– Input: Service orchestrations in UML based on the
UML4SOA profile
– Output: BPEL and WSDL files
• Integrated into Eclipse
p pp p
• Based on Eclipse EMF, supports input models from Rational
Software Architect and other tools which export EMF XMI
• See http://www.pst.ifi.lmu.de/projekte/uml4soa/
SENSORIA Development
SENSORIA Development Environment for SOA
Environment for SOA
15. UML2BPEL at a glance
Transformation
UML
BPEL + WSDL
SENSORIA Development
SENSORIA Development Environment for SOA
Environment for SOA
16. SENSORIA provides…
SENSORIA provides
SENSORIA tools extend standard design
VIATRA:
Standard deployment code generated in WSDL.
workflow by providing justifiable solutions.
yp gj
WS‐Engineer:
No deposit will be charged if service is cancelled.
No deposit will be charged if service is cancelled
The driver will get everything according to his
policy if payment if confirmed.
PEPA:
The car will arrive within 15 minutes with 90%
probability.
The GPS location service is a quality bottleneck.
The GPS location service is a quality bottleneck.
SENSORIA Development Environment:
Additional tools can easily be integrated
SENSORIA Development
Environment for SOA
17. SENSORIA answers to SOA challenges
Precise model‐driven development of
Customizable domain‐specific development process
services
Deployment to standard platforms
Standards‐compliant service modelling
languages
Hidden formal analysis of service models
Hidden formal analysis of service models
SENSORIA Development
Environment for SOA
26. Sensoria
Tool Store
OSGi
implementation
implementation
Eclipse + Extension
Extension point
Registry mechanism
27. Sensoria
Extension point:
ISensoriaTool tool description
Tool Store
OSGi
implementation
implementation
Eclipse + Extension
Extension point
Registry mechanism
28. Sensoria
Extension point:
marker Interface,
ISensoriaTool implemented by
Tools
Tool Store
OSGi
implementation
implementation
Eclipse + Extension
Extension point
Registry mechanism
29. Sensoria
Extension point:
marker Interface,
Describes implemented by
ISensoriaTool
services Tools
offered by a Tool Store
Tool
OSGi
MyToolInterface
implementation
implementation
Eclipse + Extension
Extension point
Registry mechanism
MyToolImpl
30. Sensoria
Extension point:
marker Interface,
Describes implemented by
ISensoriaTool
services Tools
offered by a Tool Store
Tool
OSGi
MyToolInterface
implementation
implementation
Eclipse + Extension
Extension point
Registry mechanism
The MyToolImpl
implementation
i l t ti
class
31. Distributed operation
Distributed operation
Sensoria Sensoria
Core
C Core
C
Registry Registry
Core
Core
BB Tool Tool
BB
Store Store
32. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
S
e I I
r F F
v a a
i c c
R‐OSGi R‐OSGi
c e e
bundle bundle
e
OSGi framwork OSGi framework
33. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
Interface is
S present on both
present on both
e I the server and I
r F the client F
v a a
i c c
R‐OSGi R‐OSGi
c e e
bundle bundle
e
OSGi framework OSGi framework
34. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
S
e I I
r F F
v a a
Implementation
I l t ti
i c c
R‐OSGi class R‐OSGi
c e e
bundle („server”) bundle
e
OSGi framework OSGi framework
35. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
Register
service S
e I I
r F F
v a a
i c c
R‐OSGi R‐OSGi
c e e
bundle bundle
e
OSGi framework OSGi framework
36. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
S
e I I
r F F
v a a
i c c
R‐OSGi R‐OSGi
c e e
bundle bundle
e
OSGi framework OSGi framework
A remote client requests the
A remote client requests the
service...
37. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
P
A proxy is
p y r
S
created... o
e I I
x
r F F
y
v a a
i c c
R‐OSGi R‐OSGi
c e e
bundle bundle
e
OSGi framework OSGi framework
38. Remote OSGi (R‐OSGi)
Remote OSGi (R OSGi)
P
r
S
o
e I I
x
r F F
y
v a Eclipse, OSGi as an integration platform
Eclipse OSGi as an integration platform a
i c c
R‐OSGi R‐OSGi
c e e
bundle bundle
e
OSGi framework OSGi framework
Function calls are passed, return
values are serialized and
transported
39. Comparing ECF and R‐OSGi
Comparing ECF and R OSGi
• ECF R‐OSGi
– ‐ More complex + Simple
architecture + Lightweight (only
– + More features depends on OSGi)
( y
(asynchronous calls, , Better suited for our
goals
l
timing service, stb.)
43. Outlooks
• Support a proper workflow orchestration
g p
engine instead of the built‐in JS interpreter
– Parallelism
– Exception handling
Exception handling
– Asynchronous messages
• UI integration
– Allow for user interaction in automated workflows
Allow for user interaction in automated workflows
44. Where to get it?
Where to get it?
• General info:
– http://www.sensoria‐ist.eu/
p // /
• SDE:
– h //
http://svn.pst.ifi.lmu.de/trac/sct
ifi l d / /