Title: Service Discovery and Component Reuse with Semantic Interfaces
1Service Discovery and Component Reuse with
Semantic Interfaces
- Richard T. Sanders (SINTEF, Trondheim, Norway)
- Rolv Bræk (NTNU, Trondheim, Norway)
- Gregor v. Bochmann Daniel Amyot (SITE, Univ.
Ottawa, Canada)
2Conclusion
- Service components with semantic interfaces can
be described using UML 2.0 collaborations - interface role behaviour including goal
expressions - Liveness properties can be evaluated
- improvement over static interfaces
- Helps reuse, service discovery and role learning
3Service oriented architecture
- a service is a collaboration between roles
- a role is the part an actor (agent) plays in a
service - a role describes a property of an actor
- actors may be involved in several services
Service component
4Role modelling principles
call A-B
Actor
Actor
CA
CB
user A
user B
Semantic interface
Service component
UML 2.0 Collaboration
- Validate interfaces behaviour rather than
components - Safety properties
- Liveness properties
5Service feature and a pair of semantic interfaces
modelled in UML 2.0
UserCall
Collaboration goal
Service feature
def goal Boolean A.VoiceCntTo(B) and
B.VoiceCntTo(A)
Semantic interface
Semantic interface
6Interactions
Collaboration goal
7Phases of a UserCall
UserCall
Invite
Collaboration goal
Calling goal VoiceCnt(A,B)
Busy
8Semantic interfaces with goals and role behaviour
Role goal
- Role behaviour is a projection, and not a
complete behaviour (hence spontaneous output) - UML 2.0 does not adequately describe interface
behaviour (protocol state machines not
satisfactory)
9Interface behaviour as transition charts
Role goal
- Caller and Callee are dual roles
10Adding WaitOnBusy feature
- CallerW and CalleeW are dual roles
11Safety requirements and subtyping
Removed ouput reduction
Added input extension
12Subtyping relationships
UserCall
Caller
Callee
extension
reduction
UserCallW
CallerW
CalleeW
13Using Semantic Interfaces
Y UserAgent
X UserAgent
Callee
Caller
Compatible UserCall.goal
yi
xi
Incompatible
Compatible UserCall.goal
W UserAgent
Z UserAgent
CalleeW
CallerW
Compatible UserCallW.goal
wi
zi
- Compatibility can be decided at design time
- Can be performed for types, not just instances
14Role negotiation pattern
Run-time role validation
X UserAgent
Y UserAgent
Caller
Callee
B
A
15Service role learning pattern
Result(idCallerW, provider)
X UserAgent
W UserAgent
Caller
CalleeW
BW
A
16Work done
- Role projection and validation
- Role projection and safety validation algorithms
designed and implemented - Jacqueline Floch Compositional approach to
service validation (Thursday) - Progress validation algorithms design and
implemented - To be integrated in the tools used at Teleservice
Lab at NTNU
17Work to be done
- UML tool support for UML 2.0 collaborations
- Compatibility checking of role binding at design
time - Composition of role behaviour from semantic
interfaces - Humberto Castejón Behaviour synthesis from
UML/UCM (Thursday) - Middleware support for service discovery and
selection - Role validation / negotiation at run-time
- Define ontologies for semantic interfaces
- Application to industry cases
- EU IST project 2006-2008
- Semantic Interfaces for Mobile Services (SIMS)
- SINTEF, NTNU, WUT, Appear Networks, Gentleware,
Amena,
18Conclusion
- Service components with semantic interfaces can
be described using UML 2.0 collaborations - interface role behaviour including goal
expressions - Liveness properties can be evaluated
- improvement over static interfaces
- Helps reuse, service discovery and role learning
19