SlideShare uma empresa Scribd logo
1 de 21
University of L’Aquila
                                                                               Department of Information
                                                                                   Engineering, Computer
                                                                                Science and Mathematics




          Combining fUML and Profiles for Non-Functional Analysis
          Based on Model Execution Traces




Tanja Mayerhofer, Philip Langer                                                                                        Luca Berardinelli
Business Informatics Group                                                                                          Sealab Quality Group
Institute of Software Technology and Interactive Systems       Department of Information Engineering , Computer Science and Mathematics
Vienna University of Technology                                                                                     University of L’Aquila
Favoritenstraße 911/1883, 1040 Vienna, Austria                                                   Via Vetoio, Coppito 67100 L’Aquila , Italy
phone: 43 (1) 5880118804 (secretary), fax: 43 (1) 5880118896
office@big.tuwien.ac.at, www.big.tuwien.ac.at
Outline

• Motivations
• UML-Based Analysis Methodologies:
    • translational approaches
    • fUML-based approaches
• The proposed framework
    •     Model Execution
    •     UML/fUML integration
    •     UML-based Analysis
    •     Reusable and Analysis-specific components
• Case Study: Early Performance Analysis
• Future work
                                                      2
Motivations

• Problems
    •   fUML ignores UML Profiles: stereotypes and tags don’t have a running
        counterpart at the instance level.
    •   fUML cannot be exploited by model-based methodologies that relies on model
        annotations
    •   Semantic anchoring mechanisms (e.g., model transformations) are always
        required that link external semantics (and notations) to (a subset of )UML
        modeling elements
• Solution (contribution)
    •   a reusable framework for performing model-based analyses leveraging
        execution traces of UML models and integrating UML profiles heretofore
        unsupported by fUML.
• Example given
    •   Modeling solution for Early Performance Analysis
         •   notation: fUML, MARTE Profile
         •   methodology: Software Performance Engineering (SPE, by C. Smith)
         •   tool: framework tailored for early model-based performance analysis
                                                                                     3
Motivations




                         Ninth International ACM Sigsoft Conference on the Quality of
                                            Software Architectures
                                                 QoSA 2013

                                      Vancouver, Canada, June 17-21, 2013
                                    The conference is a part of CompArch 2013
                                            http://comparch2013.org
                                            Notification: March, 25th

              Architecture Evaluation
              • quality assessment of legacy systems and third party applications
              • empirical validation, testing, prototyping and simulation for assessing architecture qu
              • quality attributes of software architectures
              • methods and processes for evaluating architecture quality
              • model-driven evaluation of software architecture quality
              • evaluating the effects of architectural adaptations at run-time
              • lessons learned and empirical validation of theories and frameworks on architecture
                quality

                                                                                              4
UML-Based Analysis Methodologies: translational approaches
             Input                                                                        Output

            UML                                     Analysis                              Model
            Model                                   Analysis
                                                     Analysis                              Model
                                                                                           Model
                                                     Model
                                                     Model                               Analysis
                                                                                         Analysis
                                                      Model          «analyzedBy»         Analysis
     «appliedTo»              «produce»                                                   Report
                                                                                          Report
                                                                                           Report
         Profile
         Profile
          Profile
       Application
       Application
        Application   «integrate»                                            «produce»
                                    Integration
                                     Integration                Analysis
                                                                 Analysis
                                      Integration
                                        Tool                      Analysis
                                                                  Tool
                                         Tool
                                          Tool                     Tool
                                                                    Tool




•    UML-based methodologies prescribe model annotations on input UML Models added
     through user-defined or standard UML Profiles
•    Integration Tools produce Analysis Models in different (textual/graphilcal) (formal)
     notations for sake of semantics anchoring
•    Model Analysis Reports are produced by Analysis Tools to assess functional/non-
     functional properties of the modeled system                                          5
UML-Based Analysis Methodologies: translational approaches (example)
Vittorio Cortellessa, Raffaela Mirandola: PRIMA-UML: a performance validation incremental methodology on early
UML diagrams. Sci. Comput. Program. 44(1): 101-129 (2002)




    •   Three “metamodels” combined (UML, S-PMIF, PMIF);
    •   Four unidirectional m2m transformations (UML->SPMIF, UML->PMIF, SPMIF+PMIF->SPMIF, SPMIF+PMIF->PMIF)
    •   Three different technical spaces (MOF, Ecore, XML)
    •   Toolset: modeling tools (UML, S-PMIF, PMIF), analysis tools (Execution Graph Analysis, QN Solvers)
                             [Kurtev02] Kurtev, I., Bézivin, J., Aksit, M. "Technological Spaces: An Initial Appraisal", In Proceedings of the
                             Confederated International Conferences CoopIS, DOA, and ODBASE 2002, Industrial track, Irvine, CA, USA, 2002.       6
                             http://wwwhome.cs.utwente.nl/~kurtev/files/TechnologicalSpaces.pdf
UML-Based Analysis Methodologies: translational approaches
           Input                                                                        Output

          UML                                     Analysis                              Model
          Model                                   Analysis
                                                   Analysis                              Model
                                                                                         Model
                                                   Model
                                                   Model                               Analysis
                                                                                       Analysis
                                                    Model          «analyzedBy»         Analysis
   «appliedTo»              «produce»                                                   Report
                                                                                        Report
                                                                                         Report
       Profile
       Profile
        Profile
     Application
     Application
      Application   «integrate»                                            «produce»
                                  Integration
                                   Integration                Analysis
                                                               Analysis
                                    Integration
                                      Tool                      Analysis
                                                                Tool
                                       Tool
                                        Tool                     Tool
                                                                  Tool
                           model transformations
                           for semantic anchoring


Pros
• Existing analysis techniques and tools for the target language can be directly exploited.
Cons
• Additional level(s) of indirection
• Deep knowledge of source/target(s) metamodels and semantics, model transformation techniques.
• Implementation and maintenance of model transformations (as Integration Tools)
                                                                                             7
• Academic tools less stable than industrial-strength ones
UML-Based Analysis Methodologies: fUML-based approaches - Overview
           Input    UML/fUML Integration   fUML-based Model Execution    Output

          UML                                                            Model
          Model                                                           Model
                                                                          Model
                                                                        Analysis
                                                                        Analysis
                                                                         Analysis
   «appliedTo»                                                           Report
                                                                         Report
                                                                          Report
       Profile
       Profile
        Profile
     Application
     Application
      Application




                                              UML-based Analysis

  UML               fUML
Cons
- (not) additional level of indirection
- (not) implementation and maintenance of model transformations
- (not) deep knowledge of source/target(s) metamodels and semantics, model
  transformation techniques.                                                        8
UML-Based Analysis Methodologies: fUML-based approaches - Overview
           Input     UML/fUML Integration   fUML-based Model Execution       Output

          UML                                                                Model
          Model                                                               Model
                                                                              Model
                                                                            Analysis
                                                                            Analysis
                                                                             Analysis
   «appliedTo»                                                               Report
                                                                             Report
                                                                              Report
       Profile
       Profile
        Profile
     Application
     Application
      Application




                                                UML-based Analysis

   UML               fUML


Pros  Contribution of paper
- Integration of the analysis algorithms directly with the design modeling language
- Integration of Model Analysis Report(s) directly with the design modeling language
                                                                                        9
The proposed framework: fUML-based Model Execution
• fUML View: a UML Model whose            fUML-based Model Execution
  elements belong to the fUML
                                               fUML
  language units (Classes, Common              View
                                                          «executedBy»

  Behaviors, Activities, and Actions)                           Extended
                                                                fUML VM
• Extended fUML VM: standard                    fUML
                                                             «produce»
  fUML VM + moliz extensions for              Execution
                                                Trace


   1.   analyzing the execution                              Trace model
             Chronological execution order
             Input / output
             Token flow
             Call hierarchy
   2.   observing the execution state                        Event model

   3.   controlling the execution                            Command API
                                                                            10
The proposed framework: fUML-based Model Execution
• fUML View: a UML Model whose              fUML-based Model Execution
  elements belong to the fUML
                                                fUML
  language units (Classes, Common               View
                                                          «executedBy»

  Behaviors, Activities, and Actions)                           Extended
                                                                fUML VM
• Extended fUML VM: standard                    fUML
                                                             «produce»
  fUML VM + moliz extensions for              Execution
                                                Trace


   1.   analyzing the execution                              Trace model

   2.   observing the execution state                        Event model
             Start / end of activity execution
             Start / end of activity node execution
             Suspension of activity execution
             Modification of extensional values
   3.   controlling the execution                            Command API
                                                                            11
The proposed framework: fUML-based Model Execution
• fUML View: a UML Model whose             fUML-based Model Execution
  elements belong to the fUML
                                               fUML
  language units (Classes, Common              View
                                                         «executedBy»

  Behaviors, Activities, and Actions)                          Extended
                                                               fUML VM
• Extended fUML VM: standard                   fUML
                                                            «produce»
  fUML VM + moliz extensions for             Execution
                                               Trace


   1.   analyzing the execution                             Trace model

   2.   observing the execution state                       Event model

   3.   controlling the execution                           Command API
             Start / stop execution
             Resume execution until certain activity node
             Resume execution stepwise
             Retrieve runtime information
                                                                           12
The proposed framework: UML/fUML Integration
              Input         UML/fUML Integration               fUML-based Model Execution

             UML        «integrate»    fUML        «produce»      fUML       «executedBy»
             Model                    Adapter                     View
                                                                                   Extended
      «appliedTo»
                                           «use»                                   fUML VM
          Profile                                                  fUML
          Profile
           Profile     «integrate»   UML Trace     «integrate»                  «produce»
        Application                                              Execution
        Application
         Application                  Adapter                      Trace
                               «produce»


                                     Execution
                                         UML
                                     Execution
                                       Trace
                                      Execution
                                       Trace
                                        Trace

•   fUML Adapter: it truncates all unsupported UML elements, as well as the profile applications, and
    generates the in-memory representation of fUML models processable by the fUML virtual machine;

•   UML Trace Adapter: It maps the fUML Execution Traces with the corresponding modeling elements on
    the source UML Model by exploiting mapping information saved by the fUML Adapter. integrated UML
    execution trace is created

•   UML Execution Trace: it refers to the original elements of the UML model instead of the fUML view.   13
The proposed framework: UML-based Analysis
             Input         UML/fUML Integration               fUML-based Model Execution          Output

            UML        «integrate»    fUML        «produce»      fUML       «executedBy»         Model
            Model                    Adapter                     View                             Model
                                                                                                  Model
                                                                                                Analysis
                                                                                                Analysis
                                                                                  Extended       Analysis
     «appliedTo»                                                                                 Report
                                                                                                 Report
                                          «use»                                   fUML VM         Report
         Profile                                                  fUML
         Profile
          Profile     «integrate»   UML Trace     «integrate»                  «produce»
       Application                                              Execution
       Application
        Application                  Adapter                      Trace
                              «produce»


                                    Execution
                                        UML
                                                          «analyzedBy»   Model-based         «produce»
                                    Execution
                                      Trace
                                     Execution                            Analyzer
                                      Trace
                                       Trace                     UML-based Analysis


Model-based Analyzer: A model-based analysis is typically performed to answer certain questions about the
expected behavior of the modeled system. The expected behavior is directly reflected by the trace of the
model's execution and can now be analyzed using a model-based analyzer, which computes certain metrics
by interpreting the execution trace and the additional information captured using profile applications.


                                                                                                            14
The proposed framework: Reusable and specific to analysis components
         Input          UML/fUML Integration                fUML-based Model Execution          Output

        UML          «integrate»    fUML        «produce»      fUML       «executedBy»         Model
        Model                      Adapter                     View                             Model
                                                                                                Model
                                                                                              Analysis
                                                                                              Analysis
                                                                                Extended       Analysis
 «appliedTo»                                                                                   Report
                                                                                               Report
                                        «use»                                   fUML VM         Report
     Profile                                                    fUML
     Profile
      Profile      «integrate»   UML Trace      «integrate»                  «produce»
   Application                                                Execution
   Application
    Application                   Adapter                       Trace
                            «produce»


                                 Execution
                                     UML
                                                        «analyzedBy»   Model-based         «produce»
                                 Execution
                                   Trace
                                  Execution                             Analyzer
                                   Trace
                                    Trace                      UML-based Analysis

                                                                                                  Caption:
 fUML-based Modeling Solution for Software Performance Engineering (SPE)
  C.U. Smith and L.G. Williams. Performance solutions: A practical guide to                     specific to the
                                                                                                  analysis
  creating responsive, scalable software, volume 1. Addison-Wesley Boston,
  2002.
                                        Performance                                               Artifact
                  MARTE                                            Execution Time
                                          Analyzer
                 Application                                          Report
                                        (EG analysis)                                                  Tool
                                                                                                                  15
Case Study: Early performance analysis based on fUML (1)

                                         Case Study
                                          e-health system
                                          Retrieval of patient information
                                          Analyze end-to-end execution time

                                          Software View: UML Classes (structure)
                                               software components
                                               component operations
                                          Hardware View: UML Classes (structure)
                                               software allocation on hardware
                                               hardware platform resources:
                                                processing, storage, communication
                                               MARTE Annotations: hardware
                                                resources details like
                                                    frequencies of CPUs
                                                    bandwidth of comm.networks
                                                    disk access time
                       ignored by fUML              …
                                                                                  16
Case Study: Early performance analysis based on fUML (2)

 Software View: UML Activities (behavior)
        associated to each component operation
        MARTE Annotations: resource usages (a.k.a. demand vectors in SPE) for any atomic
         behavioral unit. The usedResources correspond to those equipping the execution
         host where the software components are allocated

                                                                             ignored by fUML
act Client::RPD                                          int RPD messages
<<ResouceUsage>>            stereotype ignored by fUML




                                                                                         17
Case Study: Early performance analysis based on fUML (3)
Analysis of execution time based on Execution Graph (graph reduction algorithm)
    EGs are particularly suitable during the early stages of a software development process because
    an EG "[...] characterizes the resource requirements of proposed software alone, in the absence
    of other
    workloads, multiple users or delays due to contention for resources." [10]
          UML Metamodel                 UML2EG                        S-PMIF Metamodel
                                     transformation                             «conforms to»
       «conforms to»




  ………………………………………………………………………………………………
                Eclipse                  MOSQUITO                            SPEED
                 UML                       (UAQ)                            (C.Smith)                 18
                                                                   http://www.perfeng.com/
Case Study: Early performance analysis based on fUML (3)

Analysis of execution time based on Execution Trace (graph reduction
  algorithm)               execTime = 184,3489 sec +nodeExecutions execTime = 184,3489 sec
  t : Trace
                                      ae1 : ActivityExecution                                             c1 : CallActionExecution
                        -    activity = eHS::invokeServices()                                 -    callee = Client::requestPatientInfoPages()


              +activityExecutions        +callee
                                                  execTime = 184,3489 sec +nodeExecutions                              execTime = 28,3156 sec
                                      ae2 : ActivityExecution                                             c2 : CallActionExecution
                         -   activity = Client::requestPatientInfoPages()                 -        callee = AppServer::getPatientData()

         +activityExecutions                                                                                         execTime = 156,0333 sec
                                                                                                          c3: CallActionExecution
                                                   execTime = 28,3156 sec +nodeExecutions -        callee = displayResults
                                      ae3 : ActivityExecution
                        -    activity = AppServer::getPatientData()
  +activityExecutions                                                     +callee

                                                              execTime = 0,0722 sec
                                                c4 : CallActionExecution
                                                                                                                       execTime = 0,2888 sec
                                     -   callee = Database::loginInteraction()
                                                                                                         c5 : CallActionExecution
                                                                                          -       callee = Database::getPatientData()
                                                                  execTime = 0,0767 sec
                                                 c6 : CallActionExecution
                                                                                                                       execTime = 0,0736 sec
                                     -    callee = Database::getMedicalHistories()
                                                                                                         c7 : CallActionExecution
                                                                                          -       callee = Database::getDiseaseData()
                                                                execTime = 18,5570 sec
                                                 c8 : CallActionExecution
                                                                                                                        execTime = 9,2473 sec
                                     -    callee = ImageServer::getXrayImages()
                                                                                                         c9 : CallActionExecution
                                                                                          -       callee = ImageServer::getXrayImages()         19
Case Study: Early performance analysis based on fUML (3)

Analysis of execution time based on Execution Trace (graph reduction
  algorithm)




                                                                       20
Future Work: overview

Different Types of possible future work:         fUML-based Modeling Solution for...             *
                                               Profile                             Model Analysis
                                                            Model Analyzer
• Modeling Solutions                         Applications                             Report

    •   for different Functional Analyses
    •   for Non-Functional Analyses
    •   for combined Functional/Non-Functional Analyses              fUML-based Model
                                                                        Execution
                                                                   fUML         «executedBy»
                                                                   View
                                                                                      Extended
• Extending the Model Execution component                                             fUML VM
                                                                      fUML
                                                                    Execution      «produce»
                                                                     Trace



• Extending the applicability of the framework @runtime
                      Framework             Code for Sensor Motes

                                        UML2Agilla     «produce»
                                                                    Agilla
                                         Compiler                   Code                         21

Mais conteúdo relacionado

Mais procurados

Book of Uml
Book of UmlBook of Uml
Book of Uml
Niit
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
Ivano Malavolta
 
Ecmfa2013
Ecmfa2013Ecmfa2013
Ecmfa2013
gogolla
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btech
IIITA
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
IJSEA
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 

Mais procurados (20)

Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
 
Uml3
Uml3Uml3
Uml3
 
A Review of Feature Model Position in the Software Product Line and Its Extra...
A Review of Feature Model Position in the Software Product Line and Its Extra...A Review of Feature Model Position in the Software Product Line and Its Extra...
A Review of Feature Model Position in the Software Product Line and Its Extra...
 
[LinkedIn]_Thesis Sum in English_New
[LinkedIn]_Thesis Sum in English_New[LinkedIn]_Thesis Sum in English_New
[LinkedIn]_Thesis Sum in English_New
 
Ecmfa2013
Ecmfa2013Ecmfa2013
Ecmfa2013
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Software Design_Se lect16 btech
Software Design_Se lect16 btechSoftware Design_Se lect16 btech
Software Design_Se lect16 btech
 
1 introduction of OOAD
1 introduction of OOAD1 introduction of OOAD
1 introduction of OOAD
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 framework
 
Case stydy cs701
Case stydy cs701 Case stydy cs701
Case stydy cs701
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software Development
 
Ooad
OoadOoad
Ooad
 

Destaque

Destaque (7)

fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
 
fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model Library
 
Mosquito
MosquitoMosquito
Mosquito
 
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
 
Convocação SESMA Farmacêuticos
Convocação SESMA  FarmacêuticosConvocação SESMA  Farmacêuticos
Convocação SESMA Farmacêuticos
 
Context-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisContext-aware Performance Modeling and Analysis
Context-aware Performance Modeling and Analysis
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 

Semelhante a Combining fUML and Profiles for Non-Functional Analysis Based on Model Execution Traces

Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenVerteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Intland Software GmbH
 
Measurement and metrics in model driven software development
Measurement and metrics in model driven software developmentMeasurement and metrics in model driven software development
Measurement and metrics in model driven software development
Selman Bozkır
 
07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx
AsalReview
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
swethadln
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
IBM
 
Agile Model Developement- Daniel Leroux
Agile Model Developement-  Daniel LerouxAgile Model Developement-  Daniel Leroux
Agile Model Developement- Daniel Leroux
Roopa Nadkarni
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architectures
Mr. Chanuwan
 
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
NNfamily
 
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
Applied Computing Group
 

Semelhante a Combining fUML and Profiles for Non-Functional Analysis Based on Model Execution Traces (20)

Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenVerteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
 
Chapter1
Chapter1Chapter1
Chapter1
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
Measurement and metrics in model driven software development
Measurement and metrics in model driven software developmentMeasurement and metrics in model driven software development
Measurement and metrics in model driven software development
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
 
an analysis and new methodology for reverse engineering of uml behavioral
an analysis and new methodology for reverse engineering of uml behavioralan analysis and new methodology for reverse engineering of uml behavioral
an analysis and new methodology for reverse engineering of uml behavioral
 
07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx07. MTE - Studi Kasus Pemodelan Sistem.pptx
07. MTE - Studi Kasus Pemodelan Sistem.pptx
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
MODEL: MOdel DrivEn and quaLity
MODEL: MOdel DrivEn and quaLityMODEL: MOdel DrivEn and quaLity
MODEL: MOdel DrivEn and quaLity
 
4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux4 agile modeldevelopement-danielleroux
4 agile modeldevelopement-danielleroux
 
Agile Model Developement- Daniel Leroux
Agile Model Developement-  Daniel LerouxAgile Model Developement-  Daniel Leroux
Agile Model Developement- Daniel Leroux
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architectures
 
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
 
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringModel-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
 
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
 

Mais de Luca Berardinelli

Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Luca Berardinelli
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
Luca Berardinelli
 

Mais de Luca Berardinelli (11)

Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
 
Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities
 
Uncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsUncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud Systems
 
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
 
AutomationML: A Model-Driven View
AutomationML: A Model-Driven ViewAutomationML: A Model-Driven View
AutomationML: A Model-Driven View
 
Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...
 
On The Evolution of CAEX: A Language Engineering Perspective
On The Evolution of CAEX: A Language Engineering PerspectiveOn The Evolution of CAEX: A Language Engineering Perspective
On The Evolution of CAEX: A Language Engineering Perspective
 
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
 
Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Combining fUML and Profiles for Non-Functional Analysis Based on Model Execution Traces

  • 1. University of L’Aquila Department of Information Engineering, Computer Science and Mathematics Combining fUML and Profiles for Non-Functional Analysis Based on Model Execution Traces Tanja Mayerhofer, Philip Langer Luca Berardinelli Business Informatics Group Sealab Quality Group Institute of Software Technology and Interactive Systems Department of Information Engineering , Computer Science and Mathematics Vienna University of Technology University of L’Aquila Favoritenstraße 911/1883, 1040 Vienna, Austria Via Vetoio, Coppito 67100 L’Aquila , Italy phone: 43 (1) 5880118804 (secretary), fax: 43 (1) 5880118896 office@big.tuwien.ac.at, www.big.tuwien.ac.at
  • 2. Outline • Motivations • UML-Based Analysis Methodologies: • translational approaches • fUML-based approaches • The proposed framework • Model Execution • UML/fUML integration • UML-based Analysis • Reusable and Analysis-specific components • Case Study: Early Performance Analysis • Future work 2
  • 3. Motivations • Problems • fUML ignores UML Profiles: stereotypes and tags don’t have a running counterpart at the instance level. • fUML cannot be exploited by model-based methodologies that relies on model annotations • Semantic anchoring mechanisms (e.g., model transformations) are always required that link external semantics (and notations) to (a subset of )UML modeling elements • Solution (contribution) • a reusable framework for performing model-based analyses leveraging execution traces of UML models and integrating UML profiles heretofore unsupported by fUML. • Example given • Modeling solution for Early Performance Analysis • notation: fUML, MARTE Profile • methodology: Software Performance Engineering (SPE, by C. Smith) • tool: framework tailored for early model-based performance analysis 3
  • 4. Motivations Ninth International ACM Sigsoft Conference on the Quality of Software Architectures QoSA 2013 Vancouver, Canada, June 17-21, 2013 The conference is a part of CompArch 2013 http://comparch2013.org Notification: March, 25th Architecture Evaluation • quality assessment of legacy systems and third party applications • empirical validation, testing, prototyping and simulation for assessing architecture qu • quality attributes of software architectures • methods and processes for evaluating architecture quality • model-driven evaluation of software architecture quality • evaluating the effects of architectural adaptations at run-time • lessons learned and empirical validation of theories and frameworks on architecture quality 4
  • 5. UML-Based Analysis Methodologies: translational approaches Input Output UML Analysis Model Model Analysis Analysis Model Model Model Model Analysis Analysis Model «analyzedBy» Analysis «appliedTo» «produce» Report Report Report Profile Profile Profile Application Application Application «integrate» «produce» Integration Integration Analysis Analysis Integration Tool Analysis Tool Tool Tool Tool Tool • UML-based methodologies prescribe model annotations on input UML Models added through user-defined or standard UML Profiles • Integration Tools produce Analysis Models in different (textual/graphilcal) (formal) notations for sake of semantics anchoring • Model Analysis Reports are produced by Analysis Tools to assess functional/non- functional properties of the modeled system 5
  • 6. UML-Based Analysis Methodologies: translational approaches (example) Vittorio Cortellessa, Raffaela Mirandola: PRIMA-UML: a performance validation incremental methodology on early UML diagrams. Sci. Comput. Program. 44(1): 101-129 (2002) • Three “metamodels” combined (UML, S-PMIF, PMIF); • Four unidirectional m2m transformations (UML->SPMIF, UML->PMIF, SPMIF+PMIF->SPMIF, SPMIF+PMIF->PMIF) • Three different technical spaces (MOF, Ecore, XML) • Toolset: modeling tools (UML, S-PMIF, PMIF), analysis tools (Execution Graph Analysis, QN Solvers) [Kurtev02] Kurtev, I., Bézivin, J., Aksit, M. "Technological Spaces: An Initial Appraisal", In Proceedings of the Confederated International Conferences CoopIS, DOA, and ODBASE 2002, Industrial track, Irvine, CA, USA, 2002. 6 http://wwwhome.cs.utwente.nl/~kurtev/files/TechnologicalSpaces.pdf
  • 7. UML-Based Analysis Methodologies: translational approaches Input Output UML Analysis Model Model Analysis Analysis Model Model Model Model Analysis Analysis Model «analyzedBy» Analysis «appliedTo» «produce» Report Report Report Profile Profile Profile Application Application Application «integrate» «produce» Integration Integration Analysis Analysis Integration Tool Analysis Tool Tool Tool Tool Tool model transformations for semantic anchoring Pros • Existing analysis techniques and tools for the target language can be directly exploited. Cons • Additional level(s) of indirection • Deep knowledge of source/target(s) metamodels and semantics, model transformation techniques. • Implementation and maintenance of model transformations (as Integration Tools) 7 • Academic tools less stable than industrial-strength ones
  • 8. UML-Based Analysis Methodologies: fUML-based approaches - Overview Input UML/fUML Integration fUML-based Model Execution Output UML Model Model Model Model Analysis Analysis Analysis «appliedTo» Report Report Report Profile Profile Profile Application Application Application UML-based Analysis UML fUML Cons - (not) additional level of indirection - (not) implementation and maintenance of model transformations - (not) deep knowledge of source/target(s) metamodels and semantics, model transformation techniques. 8
  • 9. UML-Based Analysis Methodologies: fUML-based approaches - Overview Input UML/fUML Integration fUML-based Model Execution Output UML Model Model Model Model Analysis Analysis Analysis «appliedTo» Report Report Report Profile Profile Profile Application Application Application UML-based Analysis UML fUML Pros  Contribution of paper - Integration of the analysis algorithms directly with the design modeling language - Integration of Model Analysis Report(s) directly with the design modeling language 9
  • 10. The proposed framework: fUML-based Model Execution • fUML View: a UML Model whose fUML-based Model Execution elements belong to the fUML fUML language units (Classes, Common View «executedBy» Behaviors, Activities, and Actions) Extended fUML VM • Extended fUML VM: standard fUML «produce» fUML VM + moliz extensions for Execution Trace 1. analyzing the execution  Trace model  Chronological execution order  Input / output  Token flow  Call hierarchy 2. observing the execution state  Event model 3. controlling the execution  Command API 10
  • 11. The proposed framework: fUML-based Model Execution • fUML View: a UML Model whose fUML-based Model Execution elements belong to the fUML fUML language units (Classes, Common View «executedBy» Behaviors, Activities, and Actions) Extended fUML VM • Extended fUML VM: standard fUML «produce» fUML VM + moliz extensions for Execution Trace 1. analyzing the execution  Trace model 2. observing the execution state  Event model  Start / end of activity execution  Start / end of activity node execution  Suspension of activity execution  Modification of extensional values 3. controlling the execution  Command API 11
  • 12. The proposed framework: fUML-based Model Execution • fUML View: a UML Model whose fUML-based Model Execution elements belong to the fUML fUML language units (Classes, Common View «executedBy» Behaviors, Activities, and Actions) Extended fUML VM • Extended fUML VM: standard fUML «produce» fUML VM + moliz extensions for Execution Trace 1. analyzing the execution  Trace model 2. observing the execution state  Event model 3. controlling the execution  Command API  Start / stop execution  Resume execution until certain activity node  Resume execution stepwise  Retrieve runtime information 12
  • 13. The proposed framework: UML/fUML Integration Input UML/fUML Integration fUML-based Model Execution UML «integrate» fUML «produce» fUML «executedBy» Model Adapter View Extended «appliedTo» «use» fUML VM Profile fUML Profile Profile «integrate» UML Trace «integrate» «produce» Application Execution Application Application Adapter Trace «produce» Execution UML Execution Trace Execution Trace Trace • fUML Adapter: it truncates all unsupported UML elements, as well as the profile applications, and generates the in-memory representation of fUML models processable by the fUML virtual machine; • UML Trace Adapter: It maps the fUML Execution Traces with the corresponding modeling elements on the source UML Model by exploiting mapping information saved by the fUML Adapter. integrated UML execution trace is created • UML Execution Trace: it refers to the original elements of the UML model instead of the fUML view. 13
  • 14. The proposed framework: UML-based Analysis Input UML/fUML Integration fUML-based Model Execution Output UML «integrate» fUML «produce» fUML «executedBy» Model Model Adapter View Model Model Analysis Analysis Extended Analysis «appliedTo» Report Report «use» fUML VM Report Profile fUML Profile Profile «integrate» UML Trace «integrate» «produce» Application Execution Application Application Adapter Trace «produce» Execution UML «analyzedBy» Model-based «produce» Execution Trace Execution Analyzer Trace Trace UML-based Analysis Model-based Analyzer: A model-based analysis is typically performed to answer certain questions about the expected behavior of the modeled system. The expected behavior is directly reflected by the trace of the model's execution and can now be analyzed using a model-based analyzer, which computes certain metrics by interpreting the execution trace and the additional information captured using profile applications. 14
  • 15. The proposed framework: Reusable and specific to analysis components Input UML/fUML Integration fUML-based Model Execution Output UML «integrate» fUML «produce» fUML «executedBy» Model Model Adapter View Model Model Analysis Analysis Extended Analysis «appliedTo» Report Report «use» fUML VM Report Profile fUML Profile Profile «integrate» UML Trace «integrate» «produce» Application Execution Application Application Adapter Trace «produce» Execution UML «analyzedBy» Model-based «produce» Execution Trace Execution Analyzer Trace Trace UML-based Analysis Caption: fUML-based Modeling Solution for Software Performance Engineering (SPE) C.U. Smith and L.G. Williams. Performance solutions: A practical guide to specific to the analysis creating responsive, scalable software, volume 1. Addison-Wesley Boston, 2002. Performance Artifact MARTE Execution Time Analyzer Application Report (EG analysis) Tool 15
  • 16. Case Study: Early performance analysis based on fUML (1) Case Study  e-health system  Retrieval of patient information  Analyze end-to-end execution time  Software View: UML Classes (structure)  software components  component operations  Hardware View: UML Classes (structure)  software allocation on hardware  hardware platform resources: processing, storage, communication  MARTE Annotations: hardware resources details like  frequencies of CPUs  bandwidth of comm.networks  disk access time ignored by fUML  … 16
  • 17. Case Study: Early performance analysis based on fUML (2)  Software View: UML Activities (behavior)  associated to each component operation  MARTE Annotations: resource usages (a.k.a. demand vectors in SPE) for any atomic behavioral unit. The usedResources correspond to those equipping the execution host where the software components are allocated ignored by fUML act Client::RPD int RPD messages <<ResouceUsage>> stereotype ignored by fUML 17
  • 18. Case Study: Early performance analysis based on fUML (3) Analysis of execution time based on Execution Graph (graph reduction algorithm) EGs are particularly suitable during the early stages of a software development process because an EG "[...] characterizes the resource requirements of proposed software alone, in the absence of other workloads, multiple users or delays due to contention for resources." [10] UML Metamodel UML2EG S-PMIF Metamodel transformation «conforms to» «conforms to» ……………………………………………………………………………………………… Eclipse MOSQUITO SPEED UML (UAQ) (C.Smith) 18 http://www.perfeng.com/
  • 19. Case Study: Early performance analysis based on fUML (3) Analysis of execution time based on Execution Trace (graph reduction algorithm) execTime = 184,3489 sec +nodeExecutions execTime = 184,3489 sec t : Trace ae1 : ActivityExecution c1 : CallActionExecution - activity = eHS::invokeServices() - callee = Client::requestPatientInfoPages() +activityExecutions +callee execTime = 184,3489 sec +nodeExecutions execTime = 28,3156 sec ae2 : ActivityExecution c2 : CallActionExecution - activity = Client::requestPatientInfoPages() - callee = AppServer::getPatientData() +activityExecutions execTime = 156,0333 sec c3: CallActionExecution execTime = 28,3156 sec +nodeExecutions - callee = displayResults ae3 : ActivityExecution - activity = AppServer::getPatientData() +activityExecutions +callee execTime = 0,0722 sec c4 : CallActionExecution execTime = 0,2888 sec - callee = Database::loginInteraction() c5 : CallActionExecution - callee = Database::getPatientData() execTime = 0,0767 sec c6 : CallActionExecution execTime = 0,0736 sec - callee = Database::getMedicalHistories() c7 : CallActionExecution - callee = Database::getDiseaseData() execTime = 18,5570 sec c8 : CallActionExecution execTime = 9,2473 sec - callee = ImageServer::getXrayImages() c9 : CallActionExecution - callee = ImageServer::getXrayImages() 19
  • 20. Case Study: Early performance analysis based on fUML (3) Analysis of execution time based on Execution Trace (graph reduction algorithm) 20
  • 21. Future Work: overview Different Types of possible future work: fUML-based Modeling Solution for... * Profile Model Analysis Model Analyzer • Modeling Solutions Applications Report • for different Functional Analyses • for Non-Functional Analyses • for combined Functional/Non-Functional Analyses fUML-based Model Execution fUML «executedBy» View Extended • Extending the Model Execution component fUML VM fUML Execution «produce» Trace • Extending the applicability of the framework @runtime Framework Code for Sensor Motes UML2Agilla «produce» Agilla Compiler Code 21