IEE Integrability and Extensibility Evaluation method Tutorial

Document Sample
IEE Integrability and Extensibility Evaluation method Tutorial Powered By Docstoc
					Q-Tra: Stylebase and Quality-driven Model
             Transformation
                 Janne Merilinna
         Product Family Engineering Seminars
                 Oulu 7.10 & Hki 12.10
VTT TECHNICAL RESEARCH CENTRE OF FINLAND



                           Quality-Driven Software
                          Architecture Modelling 1/2

     • Designing software architecture is
       about constructing high-level structure
       for a system family
           • Diverse architectures are
             suitable in different situations
                • Diverse architectural
                   patterns are suitable in      LU : LeaseUser          LG : LeaseGranter     ASP : ApplicationServiceProvider        ASU : ApplicationServiceUser

                   certain situations
     • Implementing software architecture          LS : LeaseServices                                 DS : DirectoryServices


       with specific patterns promotes
       achieving products of better quality      AS : ActivatorService

                                                                                                 DD : DataDistribution

           • Quality is more predictable as      LS : LocationService

             quality attributes the patterns                                                                      Data : DataStorage

             promote are known!
           • Designing software architecture                             CS : CommunicationServices


             becomes choosing the correct
             pattern for the specific problem
              Janne Merilinna 21.10.2005
                                                                                                      2
VTT TECHNICAL RESEARCH CENTRE OF FINLAND



                           Quality-Driven Software
                          Architecture Modelling 2/2
                                                                                        Abstraction
                                                                                                                               Implementor
                                                                                    shared : Implementor
     • Choosing the pattern for a specific                                          Operation ()
                                                                                                                             OperationImp ()


       task is performed by comparing the
       quality requirements set for the                              RefinedAbstraction                 ConcreteImplementorA               ConcreteImplementorB

       software architecture and quality                                                              ...::Implementor::OperationImp     ...::Implementor::OperationImp


       attributes the patterns promote
           • Easy to deduce the patterns the
             best meet the desired quality                         Component


             goals                                                Operation ()


                                                                                                                                                Subject
           • No more wondering the
                                                ConcreteComponent                       Decorator
             patterns; just weight, and pick                                     shared : Component
                                                                                                                                               Request ()

                                               ...::Component::Operation         ...::Component::Operation
             one
                                                                                                                         RealSubject                             Proxy
                                                  ConcreteDecoratorA                ConcreteDecoratorB                                                      : RealSubject
                                                 AddedState
                                                                                                                        Request ()                          Request ()
                                                 ...::Component::Operation         ...::Component::Operation
                                                                                   AddedBehavior ()




              Janne Merilinna 21.10.2005
                                                                                                                   3
VTT TECHNICAL RESEARCH CENTRE OF FINLAND




                  Tool Support by Stylebase + Q-Tra
                                 1/2
     • The stylebase is a collection of the
       informal aspects of patterns
       represented in a way that makes it
       easy to reason what pattern is the
       most suitable for the situation on
       hand
     • The stylebase is a database, which
       is accessible to the developers from
       commercial modelling tools through
       a local area network or from the
       Internet




              Janne Merilinna 21.10.2005
                                              4
VTT TECHNICAL RESEARCH CENTRE OF FINLAND




                  Tool Support by Stylebase + Q-Tra
                                 2/2

          "Right, I chose the pattern, what next?"   • Tool support for patterns is partial
          "Generate it to the model"                   without a possibility of generating the
                                                       patterns back to the model
                                                          • ..and partial without a possibility
                                                            of effortless description
                                                     • XML based pattern
                                                       generation/description engine




               Janne Merilinna 21.10.2005
                                                                             5
VTT TECHNICAL RESEARCH CENTRE OF FINLAND




                                                                                  Tool Support by Q-Tra

                     •             Experimental quality-driven                                                        • In practise QAMT is about
                                   architecture model                                                                   transforming a pattern into
                                   transformation                                                                       another one that supports
                                     • Driving force for taking                                                         better the new quality
                                         QAMT is in the varying                                                         requirements
                                         software quality
                                         requirements


 LU : LeaseUser          LG : LeaseGranter     ASP : ApplicationServiceProvider        ASU : ApplicationServiceUser             LU : LeaseUser         LG : LeaseGranter         ASP : ApplicationServiceProvider            ASU : ApplicationServiceUser




   LS : LeaseServices                                 DS : DirectoryServices
                                                                                                                                  LS : LeaseServices              DD : DataDistribution                 DS : DirectoryServices


                                                                                                                                                                                       control
                                                                                                                                                                       control
 AS : ActivatorService                                                                                                                                  control

                                                 DD : DataDistribution
                                                                                                                                                                                          control
                                                                                                                                LS : LocationService    control
                                                                                                                                                                  AS : ActivatorService                 CS : CommunicationServices
 LS : LocationService
                                                                                                                                                                                          data
                                                                  Data : DataStorage
                                                                                                                                                                                                 data
                                                                                                                                                                        data
                                                                                                                                                   data


                                                                                                                         data
                         CS : CommunicationServices                                                                                                                                                                                  data

                                                                                                                                                                  Data : DataStorage




                                             Janne Merilinna 21.10.2005
                                                                                                                                                                                          6
VTT TECHNICAL RESEARCH CENTRE OF FINLAND




                                           Summary

                        1. Stylebase
                             • Architecture construction and evaluation guide

                        2. Pattern generation tool
                             • XML based (XMI 1.1)
                             • Currently only design patterns supported

                        3. Q-Tra tool extension
                             • Uses the stylebase and pattern generation tool
                             • Based on QAMT –technique (quality-driven architecture
                                model transformation)
                             • Pattern transformation rules
                                  • E.g. from Layers -> Blackboard style




              Janne Merilinna 21.10.2005
                                                                          7

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:3/31/2011
language:Finnish
pages:7