MAMBA Model-Based Software Analysis Utilizing OMG’s SMM WSR 2012 Sören Frey André van Hoorn Reiner Jung Benjamin Kiel Wilhelm Hasselbring Christian-Albrechts-University, Kiel Software Engineering Group 3.05.2012
Contents Motivation 1 Structured Metrics Meta-Model 2 MAMBA 3 Conclusions 4 Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 2 / 16
� Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
� Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Re-usable metrics Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
� Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Re-usable metrics Use of metrics across technology boundaries Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
� Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Re-usable metrics Use of metrics across technology boundaries Combination of static and dynamic analysis Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
� Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Re-usable metrics Use of metrics across technology boundaries Combination of static and dynamic analysis Solution Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
� Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Re-usable metrics Use of metrics across technology boundaries Combination of static and dynamic analysis Solution OMG’s Structured Metrics Meta-Model (SMM) Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
Motivation Motivation Goal: Model-Based Software Analysis with SMM [Obj12] Re-usable metrics Use of metrics across technology boundaries Combination of static and dynamic analysis Solution OMG’s Structured Metrics Meta-Model (SMM) Measurement Architecture for Model-Based Analysis (MAMBA) [FvHJ � 11] http://mamba-framework.sf.net/ Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 3 / 16
Bookstore - Example Motivation <<component>> <<component>> <<component>> Catalog Bookstore CRM getBook : Book searchBook : List<Book> getOrders : List<Order> Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 4 / 16
Bookstore - Example Motivation <<component>> <<component>> <<component>> Catalog Bookstore CRM getBook : Book searchBook : List<Book> getOrders : List<Order> Example Metrics Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 4 / 16
Bookstore - Example Motivation <<component>> <<component>> <<component>> Catalog Bookstore CRM getBook : Book searchBook : List<Book> getOrders : List<Order> Example Metrics Number of classes Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 4 / 16
Bookstore - Example Motivation <<component>> <<component>> <<component>> Catalog Bookstore CRM getBook : Book searchBook : List<Book> getOrders : List<Order> Example Metrics Number of classes Average response time of methods Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 4 / 16
Bookstore - Example Motivation <<component>> <<component>> <<component>> Catalog Bookstore CRM getBook : Book searchBook : List<Book> getOrders : List<Order> AverageResponseTime Example Metrics Number of classes Average response time of methods (here searchBook ) Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 4 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Definition of observations Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Definition of observations Collection of measurement results Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Definition of observations Collection of measurement results Measures Direct measures, like a ClassRecognizer Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Definition of observations Collection of measurement results Measures Direct measures, like a ClassRecognizer Derived measures, like a NumberOfClasses Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Definition of observations Collection of measurement results Measures Direct measures, like a ClassRecognizer Derived measures, like a NumberOfClasses Closed: rely only on SMM and observed model Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
SMM Features Structured Metrics Meta-Model Composition Definition of measures Definition of observations Collection of measurement results Measures Direct measures, like a ClassRecognizer Derived measures, like a NumberOfClasses Closed: rely only on SMM and observed model Open: require additional external data (e.g. monitoring data) Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 5 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure name="NumberOfClasses" accumulator=sum Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure name="NumberOfClasses" accumulator=sum scope :Scope class="kdm.code.CodeModel" Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure name="NumberOfClasses" accumulator=sum from scope :BaseMeasureRelationship :Scope class="kdm.code.CodeModel" to :Counting name="ClassRecognizer" Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure name="NumberOfClasses" accumulator=sum from scope :BaseMeasureRelationship :Scope class="kdm.code.CodeModel" to :Counting name="ClassRecognizer" scope :Scope class="kdm.code.Package" Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure name="NumberOfClasses" accumulator=sum from scope :BaseMeasureRelationship :Scope class="kdm.code.CodeModel" to :Counting name="ClassRecognizer" scope :Scope class="kdm.code.Package" operation :Operation language="OCL" body="isOCLTypeOf(kdm.code.ClassUnit)" Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure :CollectiveMeasure name="NumberOfClasses" name="AverageMethodResponseTime" accumulator=sum accumulator=average from scope :BaseMeasureRelationship :Scope class="kdm.code.CodeModel" to :Counting name="ClassRecognizer" scope :Scope class="kdm.code.Package" operation :Operation language="OCL" body="isOCLTypeOf(kdm.code.ClassUnit)" Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Measuring with SMM Structured Metrics Meta-Model bookstore.smm :MeasureLibrary :CollectiveMeasure :CollectiveMeasure name="NumberOfClasses" name="AverageMethodResponseTime" accumulator=sum accumulator=average from scope from :BaseMeasureRelationship :Scope class="kdm.code.CodeModel" to :Counting :BaseMeasureRelationship name="ClassRecognizer" to scope :Scope :NamedMeasure class="kdm.code.Package" name="kieker.KDMMethodResponseTime" operation :Operation language="OCL" body="isOCLTypeOf(kdm.code.ClassUnit)" Frey, van Hoorn, Jung, Kiel, Hasselbring MAMBA 3.05.2012 6 / 16
Recommend
More recommend