Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Automating Model Transformations
and Refactoring for Goal-oriented Models


Antoine Cailliau               June 25, 2010
Outline




          Context
          What motivates the work?

          Illustrated approach
          How is the prob...
Well-structured requirements
are required


         Goal-orientation use goals
         as core abstraction to answer

  ...
KAOS is a goal-oriented method




          EffectiveTransportation         Goal-model is the
                           ...
Generic speci cations
capture a structure




     DistanceBetweenTrainEstimated   matches
     ⇒ ◊AccelerationCommanded  ...
Re nement patterns also
capture a structure


        DistanceBetweenTrainEstimated         matches
        ⇒ ◊Acceleratio...
Code evolution
overlooks requirements




        Because requirements evolve, we need

          Techniques supporting ev...
Transformations preserve
properties on re nements


          Completeness
          Satisfying sub-goals is su cient

   ...
The approach is
constructive




           Primitive
           Basic operators

           Macro-operators
           Hi...
Macro-operators support
high-level tasks



           Construction of models

           Edition of re nements

         ...
Propagation of changes
use re nement patterns



       P⇒◊Q
                    Meta-variables are bound

               ...
Changes are propagated
according meta-variables




                       TrainsFollowing ⇒
                       ◊ Safe...
Algorithm has 3 steps




  TrainsFollowing ∧ SameTrack
    ⇒ ◊ SafeDistance

                                1. Find meta...
Algorithm has 3 steps



      TrainsFollowing ∧ SameTrack
         ⇒ ◊ SafeDistance

                                    ...
Algorithm has 3 steps



      TrainsFollowing ∧ SameTrack
         ⇒ ◊ SafeDistance

                                    ...
Restructuring operators
detect bad patterns




              P⇒◊Q           Require a catalog
                           ...
Restructuring operators
refactor re nements



                P⇒◊Q
                          Easier to

         P⇒◊R    ...
Re nement patterns
form the main limitations




           Lack for abstraction
           Properties about patterns

   ...
Assumptions limit the approach




          Tool-supported matching function
          Syntactic matching only

         ...
Conclusion



             Requirements need to evolve
             to avoid disastrous consequences
             No silve...
Automating Model Transformations
and Refactoring for Goal-oriented Models




        Questions?
Upcoming SlideShare
Loading in …5
×

Automating Model Transformations and Refactoring for Goal-oriented Models

1,095 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Automating Model Transformations and Refactoring for Goal-oriented Models

  1. 1. Automating Model Transformations and Refactoring for Goal-oriented Models Antoine Cailliau June 25, 2010
  2. 2. Outline Context What motivates the work? Illustrated approach How is the problem addressed? Known limitations Is the approach viable? 1
  3. 3. Well-structured requirements are required Goal-orientation use goals as core abstraction to answer What? Why? Who? 2
  4. 4. KAOS is a goal-oriented method EffectiveTransportation Goal-model is the A refinement primary focus RapidTransportation Re nements inter-relate goals A goal SafeTransportation 3
  5. 5. Generic speci cations capture a structure DistanceBetweenTrainEstimated matches ⇒ ◊AccelerationCommanded P⇒◊Q 4
  6. 6. Re nement patterns also capture a structure DistanceBetweenTrainEstimated matches ⇒ ◊AccelerationCommanded P⇒◊Q DistanceBetweenTrainEstimated matches P⇒◊R ⇒ ◊AccelerationCommandSent AccelerationCommandSent matches R⇒◊Q ⇒ ◊AccelerationCommanded 5
  7. 7. Code evolution overlooks requirements Because requirements evolve, we need Techniques supporting evolution Tools supporting techniques 6
  8. 8. Transformations preserve properties on re nements Completeness Satisfying sub-goals is su cient Minimality No sub-goal is unnecessary Consistency No sub-goal con icts with another 7
  9. 9. The approach is constructive Primitive Basic operators Macro-operators High-level operators 8
  10. 10. Macro-operators support high-level tasks Construction of models Edition of re nements Propagation of changes Restructuring re nements 9
  11. 11. Propagation of changes use re nement patterns P⇒◊Q Meta-variables are bound Bounds express links Links may preserve invariants P⇒◊R R⇒◊Q 10
  12. 12. Changes are propagated according meta-variables TrainsFollowing ⇒ ◊ SafeDistance TrainsFollowing ⇒ AccelerationCommanded ◊AccelerationCommanded ⇒ ◊SafeDistance 11
  13. 13. Algorithm has 3 steps TrainsFollowing ∧ SameTrack ⇒ ◊ SafeDistance 1. Find meta-variable 2. Update Re nement P⇒◊Q 3. Propagate P⇒◊R R⇒◊Q 12
  14. 14. Algorithm has 3 steps TrainsFollowing ∧ SameTrack ⇒ ◊ SafeDistance 1. Find meta-variable 2. Update Re nement TrainsFollowing ∧ SameTrack ⇒ ◊AccelerationCommanded 3. Propagate AccelerationCommanded ⇒ ◊SafeDistance 13
  15. 15. Algorithm has 3 steps TrainsFollowing ∧ SameTrack ⇒ ◊ SafeDistance 1. Find meta-variable 2. Update Re nement TrainsFollowing ∧ SameTrack ⇒ ◊AccelerationCommanded 3. Propagate AccelerationCommanded ⇒ ◊SafeDistance 14
  16. 16. Restructuring operators detect bad patterns P⇒◊Q Require a catalog of “bad” patterns P∧C⇒◊R R⇒◊Q Here, pattern is a mix of two known patterns P ∧¬ C ⇒ ◊ R 15
  17. 17. Restructuring operators refactor re nements P⇒◊Q Easier to P⇒◊R R⇒◊Q Understand P⇒◊Q Analyze P∧C⇒◊Q P ∧¬ C ⇒ ◊ Q Modify 16
  18. 18. Re nement patterns form the main limitations Lack for abstraction Properties about patterns Strict instantiation Discover relaxed pattern 17
  19. 19. Assumptions limit the approach Tool-supported matching function Syntactic matching only Early formalization Some goals are hard to formalize 18
  20. 20. Conclusion Requirements need to evolve to avoid disastrous consequences No silver bullet There is a price to pay Primitive operators Basic operators Macro-operators High-level operators 19
  21. 21. Automating Model Transformations and Refactoring for Goal-oriented Models Questions?

×