Presentation is loading. Please wait.

Presentation is loading. Please wait.

From System Specifications to Component Behavioral Models Ivo Krka George Edwards Yuriy Brun Nenad Medvidovic.

Similar presentations


Presentation on theme: "From System Specifications to Component Behavioral Models Ivo Krka George Edwards Yuriy Brun Nenad Medvidovic."— Presentation transcript:

1 From System Specifications to Component Behavioral Models Ivo Krka George Edwards Yuriy Brun Nenad Medvidovic

2 Background Early development specifications Partial System-level Scenarios and properties Mapping early specifications to more comprehensive behavioral models is beneficial

3 Problem Statement Early development phases Partial Specifications System-level E.g., scenarios and properties Mapping early specifications to more comprehensive behavioral models is beneficial How can we synthesize more comprehensive behavioral models from early specifications?

4 Web Cache Example responseCache pre: cached = true post: none requestServer pre: cached = false post: none responseServer pre: none post: cached = true dataUpdate pre: none post: cached = false dataChanged pre: none post: cached = false ClientCacheServer requestCache requestServer responseServer responseCache requestCache responseCache

5 ClientCacheServer requestCache requestServer responseServer responseCache requestCache responseCache Current Solutions Component-level model synthesis [1] S1 S2 S4 S3 S5 requestCacherequestServer responseServer responseCache requestCache responseCache -- pre: cached = true; post: none requestServer -- pre: cached = false; post: none responseServer -- pre: none; post: cached = true dataUpdate -- pre: none; post: cached = false dataChanged -- pre: none; post: cached = false Synthesize Cache Can Client request data twice in a row? Can Server send data without Cache’s request? Etc.

6 Modeling Partial Behavior Modal Transition Systems (MTS) Required behavior Potential behavior Marked with “?” sign S1 S2 S3 S4 e1 e2 e1? e3 e3? e1? e2 MTS M

7 Current Solutions System-level partial behavioral model synthesis [2] Shortcomings Potential errors – system-level perspective Components cannot satisfy the specification Overlook discrepancies among specifications Scale, analyzability and comprehensibility

8 Our Approach Generating Component-Level Partial-Behavior Models (MTSs) NEW IDEA:

9 Component-Level MTS Synthesis Inputs Sequence diagrams Pre/post constraints Outputs Component MTSs

10 Component-Level MTS Synthesis Specs Component- level constraints generation Sequence diagram annotation Initial MTS generation Final MTS generation

11 Phase 1 Pre/post constraints System-level Pre/post constraints Each component Cache responseCache pre: cached = true post: none requestServer pre: cached = false post: none responseServer pre: none post: cached = true dataUpdate pre: none post: cached = false dataChanged pre: none post: cached = false responseCache pre: cached = true post: none requestServer pre: cached = false post: none responseServer pre: none post: cached = true dataChanged pre: none post: cached = false Specs Sequence diagram annotation Initial MTS generation Final MTS generation Component- level constraints generation

12 Phase 2 Component pre/post constraints Initial MTS Only potential transitions S1 (F) S2 (T) requestCache?, requestServer?, dataChanged? responseServer? dataChanged? requestCache?, responseCache?, responseServer? Cache Specs Component-level constraints generation Sequence diagram annotation Final MTS generation Initial MTS generation

13 Phase 3 Pre/post constraints Scenarios Annotated scenarios Conditions must hold F T F F T T T Cache responseCache pre: cached = true post: none requestServer pre: cached = false post: none responseServer pre: none post: cached = true dataChanged pre: none post: cached = false Cache requestCache requestServer responseServer responseCache requestCache responseCache Specs Component-level constraints generation Sequence diagram annotation Initial MTS generation Final MTS generation The data is initially not cached.

14 Phase 4 Initial MTS Annotated SDs Final MTS Strong refinement S1 (F) S2 (F) dataChanged? requestCache dataChanged? S3 (F) requestServer requestCache? requestServer? S4 (T) responseServer? requestCache?requestServer? responseServer? responseServer dataChanged? S5 (T) responseCache responseServer? S6 (T) requestCache responseCache responseCache?requestCache? responseServer? Cache Specs Component-level constraints generation Sequence diagram annotation Initial MTS generation Final MTS generation The scenario is incorporated into the MTS as required behavior.

15 Scenario cannot execute Constraint violated Component cannot reach desirable state Missing events Utilization 1: Discovery of Specification Discrepancies ClientCacheServer requestCache requestServer responseServer responseCache requestCache responseCache dataUpdate

16 Utilization 2: Requirements Elicitation Propose new scenarios Infer/propose new properties □ ((requestPending  ¬ cached ) →○ (requestPending )) ClientCacheServer requestCache requestServer responseServer dataUpdate dataChanged requestServer When the data is not cached and the request is pending, the request will be pending in the next state

17 Utilization 3: OTS Component Selection Multiple candidate components Satisfaction of required behavior No proscribed behavior 1 3 2 1 Selection

18 Utilization 4: As-intended vs. As-implemented Comparison Introduced proscribed behavior? Missing required behavior? Architectural drift S1 S2 S3 e1 e1? e3 e3? e2 S1 S2 S3 e1 e2 e3? e2

19 Conclusions Synthesis algorithm the first step Component-level MTSs Notable potential contributions

20 Thank you! Questions?


Download ppt "From System Specifications to Component Behavioral Models Ivo Krka George Edwards Yuriy Brun Nenad Medvidovic."

Similar presentations


Ads by Google