Upload
bridget-ireland
View
43
Download
4
Embed Size (px)
DESCRIPTION
Service 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). Conclusion. - PowerPoint PPT Presentation
Citation preview
1Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Service 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)
Richard T. Sanders (SINTEF, Trondheim, Norway) Rolv Bræk (NTNU, Trondheim, Norway) Gregor v. Bochmann & Daniel Amyot (SITE, Univ.
Ottawa, Canada)
2Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Conclusion
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
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
3Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Service 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
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
Actor1 Actor2 Actor3 Actor4 Actor5
Service 3
Service 2
Service 1Service
component
Horizontal composition(within a service)
Vertical composition (within an actor)
4Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
:Actor
Role modelling principles
Validate interfaces behaviour rather than components Safety properties Liveness properties
Validate interfaces behaviour rather than components Safety properties Liveness properties
user A
CA
user B
CB
call A-B:Actor
Semantic interfaceService component
B:CalleeA:Caller
UserCall
UML 2.0 Collaboration
5Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Service feature and a pair of semantic interfaces modelled in UML 2.0
UserCall
A:Caller 1 B:Callee 1
{def: goal : Boolean = A.VoiceCntTo(B) and B.VoiceCntTo(A)}
Collaboration goal
Semantic interface Semantic interface
Service feature
6Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
A:Caller B:Callee
sd UserCall
ref Invite
Callingref
ref Busy
ref Unavailable
alt
Interactions
A:Caller B:Callee
sd Invite
Invite(A, role)
A:Caller B:Callee
sd Calling
Alerting
Reply(options)
connected{goal:Connected(A,B)}
ref End
Collaboration goal
7Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
UserCall
Calling{goal:
VoiceCnt(A,B)}
Invite
Busy
Phases of a UserCall
Collaboration goal
8Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Semantic interfaces with goals and role behaviour
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)
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)
inviting
Alerting
inviter
Busy
idle
Invite(A, role)
alerting{goal=True}
invited
invitee
idle
Alerting
alerted{goal=True}
Busy
Invite(A, role)Role goal
9Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Inviting
?Alerting
?Busy(BusyOptions)
Alerting
?Reply
?EndCnf
!EndReq
!Invite(A, Role)
Connected{goal:
VoiceCntTo(B)}
disconnectForward
!EndReq?EndReq
!EndCnf
endForward
SelectBusyAction
disconnectBackward
Idle
Idle
!EndReq
?EndCnf
Inviting
!Alerting
!Busy(BusyOptions)
Alerting
!Reply
!EndCnf
?EndReq
?Invite(A, Role)
Connected{goal:
VoiceCntTo(A)}
disconnectForward
?EndReq!EndReq
?EndCnf
endForward
SelectBusyAction
disconnectBackward
Idle
Idle
?EndReq
!EndCnf
UserCall::Caller UserCall::Callee
Interface behaviour as transition charts
Caller and Callee are dual roles Caller and Callee are dual roles
Role goal
10Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Inviting
?Alerting
?Busy(BusyOptions)
Alerting
?Reply
?EndCnf
!EndReq
!Invite(A, Role)
Connected{goal:
VoiceCntTo(B)}
disconnectForward
!EndReq?EndReq
!EndCnf
endForward
SelectBusyAction
Waiting{goal:
WaitForFree(B)}
?Alerting
!wait
disconnectBackward
Idle
Alerting
Idle
!EndReq
!EndReq
?EndCnf
endForward
Inviting
!Alerting
!Busy(BusyOptions)
Alerting
!Reply
!EndCnf
?EndReq
?Invite(A, Role)
Connected{goal:
VoiceCntTo(A)}
disconnectForward
?EndReq!EndReq
?EndCnf
endForward
SelectBusyAction
Waiting{goal:
CallInQueue(A)}
!Alerting
?wait
disconnectBackward
Idle
Alerting
Idle
?EndReq
?EndReq
!EndCnf
endForward
UserCallW::CallerW UserCallW::CalleeW
Adding WaitOnBusy feature
CallerW and CalleeW are dual roles CallerW and CalleeW are dual roles
11Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Safety requirements and subtyping
CallerBusy
SelectBusyAction
ending
EndReq
CalleeBusy
SelectBusyAction
ending
EndReq
CallerWBusy
SelectBusyAction
ending
wait
waiting
EndReq
CalleeWBusy
SelectBusyAction
ending waiting
EndReq wait
Added input: extension
Removed ouput: reduction
12Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Caller CalleeUserCall
CallerW CalleeWUserCallW
ext
extensionreductionred
Subtyping relationships
13Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Incompatible
Using Semantic Interfaces
Compatibility can be decided at design time Can be performed for types, not just instances
Compatibility can be decided at design time Can be performed for types, not just instances
Y: UserAgent
Calleeyi
X: UserAgent
Caller xi
W: UserAgent
CalleeWwi
Z: UserAgent
CallerW zi Compatible {UserCallW.goal}
BA
BWAW
UserCallW UserCallW
UserCall UserCall
Compatible {UserCall.goal}
Compatible {UserCall.goal}
14Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Role negotiation pattern
X: UserAgent Y: UserAgent
RoleRequest(Callee)
RoleConfirm(Callee)
Caller CalleeA B
Run-time role validation
15Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Service role learning pattern
X: UserAgent W: UserAgent
RoleRequest(Callee)
RoleConfirm(CalleeW)
Caller CalleeW
:ServiceBroker
Lookup(C
alleeW
, Calle
r)
Result(i
dCallerW
, pro
vider)
Exp
ort
(Cal
lerW
)
provider:ServiceProvider
Imp
ort
(idC
alle
rW)
CA’CallerW
A BWCallerW
16Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Work 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
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
17Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Work 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,…
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,…
18Telecom and InformaticsSDL Forum 2005 Grimstad, Norway
Conclusion
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
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