390 likes | 594 Vues
2. Outline. IntroductionVDM-based Design for Context-aware Feature-Oriented ModelingIntroducing Aspect into VDM-SLWeaving and Proof ObligationDiscussion and Conclusion. 3. 1. Introduction. . 4. Motivation. Identifying the features is not trivial.In particular, embedded systems should react to a
E N D
1. 1 Separation of Context Concerns --- Applying Aspect Orientation to VDM Naoyasu Ubayashi (Kyushu Institute of Technology)
Shin Nakajima (National Institute of Informatics)
August 21, 2006
2. 2 Outline Introduction
VDM-based Design for Context-aware Feature-Oriented Modeling
Introducing Aspect into VDM-SL
Weaving and Proof Obligation
Discussion and Conclusion
3. 3 1. Introduction
4. 4 Motivation Identifying the features is not trivial.
In particular, embedded systems should react to a certain change in the context.
The context results in a set of description fragments spreading over a lot of modules.
5. 5 Example: an electric pot
6. 6 Our approach We propose
- Context-aware FOM (feature-oriented modeling)
- VDM-based design method for context-aware FOM
- AspectVDM (aspect-oriented VDM descriptions)
and Proof obligation policies
7. 7 Context-aware FOM
8. 8 2. VDM-based Design for Context-aware FOM
9. 9 Development Scenario --- Separation of context concerns
10. 10 Step 1: model system specifications
12. 12 Step 2: model context specifications
13. 13 Step 3: composethe system and context specifications
15. 15 Separation of context concerns is nice, but … Writing down VDM descriptions to follow the idea of separation of context concerns requires to edit various parts of the base description (Eclectic Pot_0).
The modification is scattered. The process is not systematic as well as error-prone.
By introducing the notion of the aspect in an explicit manner, the process is expected to be systematic, and possibly automatic.
16. 16 3. Introducing Aspect into VDM-SL
17. 17 What is Aspect Orientation ?
18. 18 AO Mechanism--- JPM: Join Point Mechanism
19. 19 AspectVDM JPM
20. 20 Pointcut & Advice
21. 21 Aspect for the pot
22. 22 4. Weaving and Proof Obligation
23. 23 Weaving in AspectVDM Weaving in AspectVDM is not just a syntactical transformation alone.
How proof obligation is generated should be considered.
24. 24 Effect of weaving
25. 25 Conditions for consistency in weaving
26. 26 Proof Obligation --- preserved or regenerated ?
27. 27 Regeneration of proof obligations
28. 28 Example – electric pot
29. 29 5. Discussion and Conclusion
30. 30 Refinement vs. weaving Refinement and weaving are similar in that both concerns with the model transformations.
In the refinement, the description becomes concrete toward the programming level implementation.
In the weaving, the woven description stays at the same level as before because the base and the aspect look at the same abstraction level.
31. 31 Related work Aspect extension of Z and Object-Z [Yu, H. et al. 2005, 2006]
Aspect introduction into JML [Yamada and Watanabe 2005]
Integration of the aspectual notion with strongly-typed functional programming language Caml [Masuhara et al 2005]
32. 32 Conclusion Separation of concerns is important to reduce the complexity of software design.
This research examined a software development method starting with the feature-oriented modeling method to have VDM-based formal design.
In order to overcome the problem that a feature may be scattered over the VDM design description, the notion of the aspect was adapted to propose AspectVDM.
33. 33 Etc
34. 34 Example: an electric pot
35. 35 SPL & FOM Embedded systems such as consumer appliances have a wide variety of similar but different products. So, their development require to identify a set of commonalities and variabilities.
Feature-Oriented Modeling (FOM) has been proposed for supporting Software Product Line (SPL).
36. 36 Proof Obligation
37. 37 Explicit vs. Implicit VDM-SL allows both explicit and implicit specifications, the latter of which are studied in this research.
Since explicit specification is meant to execute, the notion of the aspect would be very similar to that found in AspectJ.
Studying how the aspect in two specification styles are related is important.
38. 38 New version of AspectVDM
39. 39 Regeneration of proof obligations
40. 40 Example – electric pot (cont’d)