Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Grimstad, June 2005 12th SDL Forum Synthesizing State-machine Behaviour from UML Collaborations and Use Case Maps Humberto Nicolás Castejón Dept. of.

Similar presentations


Presentation on theme: "1 Grimstad, June 2005 12th SDL Forum Synthesizing State-machine Behaviour from UML Collaborations and Use Case Maps Humberto Nicolás Castejón Dept. of."— Presentation transcript:

1 1 Grimstad, June 2005 12th SDL Forum Synthesizing State-machine Behaviour from UML Collaborations and Use Case Maps Humberto Nicolás Castejón Dept. of Telematics Norwegian University of Science and Technology (NTNU) Trondheim, Norway

2 2 Grimstad, June 2005 12th SDL Forum The Big Picture Service Collaborations Collaboration Dependencies Component’s State Machine

3 3 Grimstad, June 2005 12th SDL Forum Motivation Main Goal: methods for rapid, modular and incremental development of real-time services Challenge: cross-cutting nature of services ◊Services provided as collaborations between system components Two service modeling approaches: Service 1 Service 3 Service 2 Vertical composition (within a sys. comp.) Horizontal composition (within a service) collaboration roles System Components COLLABORATION - ORIENTED FOCUS COMPONENT-ORIENTED FOCUS

4 4 Grimstad, June 2005 12th SDL Forum Structural classifiers  structure of collaborating roles Behavioral classifiers  associated sequence, activity,... diagrams Can be bound to specific contexts by means of collaboration uses UML 2.0 Collaborations UserCall calleeB: Callee callerA: Caller sm UserCall inviting connected assert (goal == True) busy role name role type connector BobUA: UserAgent PeterUA: UserAgent MaryUA: UserAgent call1: UserCall call2: UserCall callerA calleeB callerA collaboration use collaboration use role UserCall calleeB: Callee callerA: Caller aAl al:Alert t:Talk bAl talker

5 5 Grimstad, June 2005 12th SDL Forum An Example: UserLogon Service s_goal.userLoggedOn = rr1.s_goal:playing AND rr2.s_goal:playing AND ua.s_goal:authenticated AND lo.s_goal:loggedOn s_goal.loggedOn = loTerm.s_goal:loggedOn AND loAgent.s_goal:loggedOn The specification is not complete if collaboration dependencies are not expressed!!! Event goal State goal

6 6 Grimstad, June 2005 12th SDL Forum Collaboration Dependencies In the UserLogon collaboration (and in general) we can find... Sequential dependencies ◊Temporal ordering between collaborations First rr1:RoleRequest Then lo:Logon

7 7 Grimstad, June 2005 12th SDL Forum Collaboration Dependencies (II) We can also find... Goal dependencies ◊A collaboration may depend on other collaborations to achieve its goal rr2:RoleRequest, ua:UserAuthenticate do also succeed lo:Logon only succeeds if... How can we express collaboration dependencies explicitly?

8 8 Grimstad, June 2005 12th SDL Forum A Little Bit on Use Case Maps UCMs order responsibilities (e.g. tasks, actions, etc) along a path and link causes (e.g. pre-conditions or triggering events) to effects (e.g post-conditions) Approach ◊UCMs show dependencies, do not describe collaboration behavior! ◊Individual UCMs describing goal-based progress of collaborations ◊Composite UCM showing dependencies  Service goals as synchronization points between collaborations

9 9 Grimstad, June 2005 12th SDL Forum Dependencies with UCMs Stub (sub-collaboration) Waiting Places (new collab. starts, previous one waits)

10 10 Grimstad, June 2005 12th SDL Forum Synthesis of State Machines Services ultimately realized by system components ◊Need to describe behavior of system components ◊Build state machines from collaboration sequence diags. and UCMs! PROJECT COMPOSE GUIDE COMPOSITION Sequence diagrams Role Automata UCM showing Dependencies Sys. Comp. State Machine

11 11 Grimstad, June 2005 12th SDL Forum Synthesis Process Steps (III) UCM guides composition of role automata

12 12 Grimstad, June 2005 12th SDL Forum Conclusion UML 2.0 collaborations are a powerful tool for service modeling ◊Collaborations  High-level view of services ◊Associated Sequence Diagrams  Low-level details ◊All elements annotated with service goals! UCMs nicely complement UML collaborations to show dependencies ◊Individual UCMs describing goal-based progress of collaborations ◊Composite UCM showing dependencies Automatic synthesis of component state machines from collaborations and UCMs possible, based on... ◊Scenario composition  UCMs compose collaborations ◊State information  Goals relate scenarios Thank you!


Download ppt "1 Grimstad, June 2005 12th SDL Forum Synthesizing State-machine Behaviour from UML Collaborations and Use Case Maps Humberto Nicolás Castejón Dept. of."

Similar presentations


Ads by Google