1 / 19

Service Discovery and Component Reuse with Semantic Interfaces

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.

Download Presentation

Service Discovery and Component Reuse with Semantic Interfaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. Interactions Collaboration goal SDL Forum 2005 Grimstad, Norway

  7. Phases of a UserCall UserCall Invite Collaboration goal Calling {goal: VoiceCnt(A,B)} Busy SDL Forum 2005 Grimstad, Norway

  8. 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

  9. Interface behaviour as transition charts • Caller and Callee are dual roles Role goal SDL Forum 2005 Grimstad, Norway

  10. Adding WaitOnBusy feature • CallerW and CalleeW are dual roles SDL Forum 2005 Grimstad, Norway

  11. 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

  12. ext red Subtyping relationships UserCall Caller Callee reduction extension UserCallW CalleeW CallerW SDL Forum 2005 Grimstad, Norway

  13. 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

  14. RoleConfirm (Callee) RoleRequest (Callee) Role negotiation pattern Run-time role validation X: UserAgent Y: UserAgent Callee Caller B A SDL Forum 2005 Grimstad, Norway

  15. 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

  16. 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

  17. 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

  18. 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

  19. Thanks for listening! SDL Forum 2005 Grimstad, Norway

More Related