190 likes | 352 Views
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.
E N D
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) SDL 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 SDL Forum 2005 Grimstad, Norway
Vertical composition (within an actor) Service 1 Service 2 Horizontal composition (within a service) Service 3 Actor1 Actor2 Actor3 Actor4 Actor5 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 Service component SDL Forum 2005 Grimstad, Norway
UserCall A:Caller B:Callee Role modelling principles • Validate interfaces behaviour rather than components • Safety properties • Liveness properties call A-B :Actor :Actor CA CB user A user B Service component UML 2.0 Collaboration Semantic interface SDL Forum 2005 Grimstad, Norway
A:Caller 1 B:Callee 1 Service feature and a pair of semantic interfaces modelled in UML 2.0 UserCall Service feature Collaboration goal {def: goal : Boolean = A.VoiceCntTo(B) and B.VoiceCntTo(A)} Semantic interface Semantic interface SDL Forum 2005 Grimstad, Norway
Interactions Collaboration goal SDL Forum 2005 Grimstad, Norway
Phases of a UserCall UserCall Invite Collaboration goal Calling {goal: VoiceCnt(A,B)} Busy SDL Forum 2005 Grimstad, Norway
inviter invitee inviting invited idle idle Invite(A, role) Invite(A, role) Alerting Busy Alerting Busy alerted {goal=True} alerting {goal=True} 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 goal SDL Forum 2005 Grimstad, Norway
Interface behaviour as transition charts • Caller and Callee are dual roles Role goal SDL Forum 2005 Grimstad, Norway
Adding WaitOnBusy feature • CallerW and CalleeW are dual roles SDL Forum 2005 Grimstad, Norway
Caller Callee Busy Busy Busy SelectBusyAction SelectBusyAction waiting waiting ending ending ending ending EndReq CallerW CalleeW Busy SelectBusyAction SelectBusyAction EndReq EndReq wait EndReq wait Safety requirements and subtyping Removed ouput: reduction Added input: extension SDL Forum 2005 Grimstad, Norway
ext red Subtyping relationships UserCall Caller Callee reduction extension UserCallW CalleeW CallerW SDL Forum 2005 Grimstad, Norway
UserCall UserCall A B AW BW UserCallW UserCallW Using Semantic Interfaces X: UserAgent Y: UserAgent • Compatibility can be decided at design time • Can be performed for types, not just instances Callee Caller Compatible {UserCall.goal} xi yi Compatible {UserCall.goal} Incompatible Z: UserAgent W: UserAgent CallerW CalleeW Compatible {UserCallW.goal} zi wi SDL Forum 2005 Grimstad, Norway
RoleConfirm (Callee) RoleRequest (Callee) Role negotiation pattern Run-time role validation X: UserAgent Y: UserAgent Callee Caller B A SDL Forum 2005 Grimstad, Norway
provider :ServiceProvider CA’ :ServiceBroker CallerW Export (CallerW) Import (idCallerW) Lookup(CalleeW, Caller) RoleConfirm (CalleeW) CallerW RoleRequest (Callee) Service role learning pattern Result(idCallerW, provider) X: UserAgent W: UserAgent CalleeW Caller BW A SDL 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 SDL 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,… SDL 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 SDL Forum 2005 Grimstad, Norway
Thanks for listening! SDL Forum 2005 Grimstad, Norway