SlideShare a Scribd company logo
Enabling Performance
Modeling for the Masses:
Initial Experiences
Abel Gómez, Connie U. Smith, Amy Spellmann, and Jordi Cabot
Internet Interdisciplinary Institute – Universitat Oberta de Catalunya, Spain
L&S Computer Technology, USA
1
• Performance problems are obvious to
users: sluggish response time, low
throughtput…
• Performace issues cause rejection of
new products, or event loss of life.
• Performance is a competitive edge…
… but performance problems are
typically tackled after they occur.
• Unplanned expense and time for
refactoring.
2
Software Performance Engineering
3
Software Performance Engineering
•SPE is a labor-intensive approach.
•Requires considerable expertise and effort.
•Performance engineers work side by side with system
designers.
4
Can system designers
do the analysis
themselves?
• C1 — We need model
specifications to express
performance-determining design
elements.
• C2 — We need transformation
tolos from system design models
to performance models
5
MDE
Automated Software Performance Engineering
6
Defining Performance Scenarios
and Requirements with
UML and MARTE
7
Deployment Diagrams
• Execution architecture of the
system
• Hardware elements providing
processing services.
8
Class Diagrams
• Logical entities of the system.
• Software elements,
communications and
synchonization entities (mutex).
9
Composite Structure Diagrams
• Describe how specific instances
participating in a system relate to
each other (from a static POV).
• Specify resources, workloads and
allocations.
10
Sequence Diagrams
• Describe key performance
scenarios.
• Typically include fine-grained
resource usage information (e.g.
in ExecutionSpecifications or in
Messages)
11
Automatic transformation to
Performance Models
12
QVT
S-PMIF+
13
Performance Modeling
for the Masses
The tool
14
15
16
17
About the project
• 2 months, led by two experts
• 200 correspondences
• 40 MARTE stereotypes and their S-PMIF+ counterparts
• 8 meetings
• 150 e-mails
• 118-pages report
18
Some thoughts
• Barrier to entry: the modeling languages
• UML and MARTE are extensive standards
• There are ambiguities in the standards (e.g. MARTE VSL expressions).
• There is a lack of online documentation with systematic modeling guidelines.
The report (1/3!) had to provide specific
recommendations and guidelines.
19
Some thoughts
• About the QVTo language
• Imperative transformation languages do not have specially good reputation, but…
… it facilitated the processing of ordered elements
• Good logging and assertions support
• Explicit support for libraries
• Helpers can contribute new properties and operations dynamically
• Intermediate clases can be defined (very useful to reify VSL expressions)
20
Some thoughts
• Repetitive transformation code:
• 4 files
• 2027 LOC
• More the 60% of the code deals with
auxiliary tasks
• This has an important impact in the
effort estimation
21
Stereotypes
12%
Strings
13%
VSL & NFP
22%
Helpers
15%
M2M
38%
LOC
Stereotypes
Strings
VSL & NFP
Helpers
M2M
Some thoughts
• Limitations of the modeling tools
• Papyrus is the most popular tool for UML modeling in the Eclipse ecosystem.
• It still has important and known limitiations, specially w.r.t Sequence Diagrams.
• Ordering is important…
… but it is easily lost.
• Papyrus models get corrupt very easily.
• Garbage elements are commonly left around.
22
Some related work
• Assessment of non-functional requirements, such as performance, is a
well stablished discipline.
• Different formalisms, techniques and levels of automation have been
achieved.
• PUMA, Palladio, Descartes Modeling Language, DICE framework, process
mining techniques…
23
Some related work
• Most of them are similar in concept, but:
• Some require performance-specific annotations from MARTE/PAM (closely related
to LQN), requiring performance expertise. E.g., PUMA.
• Some use specific DSLs (although similar to UML). E.g., PCM; DML.
• Some make use of their own profiles (although extending MARTE/DAM). E.g. DICE.
• Most of the transform to one specific tool, rather tan a MIF.
24
Conclusions
• Automated SPE processes are
posible.
• MDE techniques and MIFs are
valuable assets.
• We eliminate the need of
manually creating performance
models (laboriuos and error
prone task).
• We created a prototype
demonstrating the viability of the
approach.
25
Enabling Performance
Modeling for the Masses:
Initial Experiences
Abel Gómez, Connie U. Smith, Amy Spellmann, and Jordi Cabot
Internet Interdisciplinary Institute – Universitat Oberta de Catalunya, Spain
L&S Computer Technology, USA
26

More Related Content

PPT
Flowcharts
PDF
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
PDF
Software Engineering an Introduction
PPT
Pertemuan 2-apbo-software-developmeng-processing
PDF
Software Engineering - Ch5
PPSX
DITEC - Software Engineering
PPTX
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3
Flowcharts
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Software Engineering an Introduction
Pertemuan 2-apbo-software-developmeng-processing
Software Engineering - Ch5
DITEC - Software Engineering
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3

What's hot (20)

PPTX
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
DOC
Tyronne Castillo - Resume MAY 2015
PPT
Re ppt1
DOC
Amit Kumar_resume
PPTX
CS8494 SOFTWARE ENGINEERING Unit-1
PPT
PPT
Software engineering syllabus
PPTX
Uc14 chap13
PDF
OOAD - System Analysis and Design
PPSX
DISE - Introduction to Software Engineering
PPTX
Function Points
PPTX
Object Oriented System Design
PPT
Intoduction to software engineering part 1
PPT
PPT
Il product development - 20 01 2011
DOCX
Anirban_Resume
PPTX
Machine learning for software engineering
PPT
Software design methodologies
DOCX
Anirban_Resume
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
Tyronne Castillo - Resume MAY 2015
Re ppt1
Amit Kumar_resume
CS8494 SOFTWARE ENGINEERING Unit-1
Software engineering syllabus
Uc14 chap13
OOAD - System Analysis and Design
DISE - Introduction to Software Engineering
Function Points
Object Oriented System Design
Intoduction to software engineering part 1
Il product development - 20 01 2011
Anirban_Resume
Machine learning for software engineering
Software design methodologies
Anirban_Resume
Ad

Similar to Enabling Performance Modeling for the Masses: Initial Experiences (20)

PPTX
Unit 1b
PPT
Web technologies: Model Driven Engineering
PPT
Pressman ch-3-prescriptive-process-models
PPTX
The art of architecture
PPT
compiler introduction ssssssssssssssssssssssssssssssssssssssss
PPTX
Agile MDD
PPTX
Machine Learning in Software Engineering
PDF
PAC 2019 virtual Alexander Podelko
PPT
Year13_SystemModelsmypresentationTechnology.ppt
PPTX
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
PDF
From science to engineering, the process to build a machine learning product
PDF
Developing Modeling Tool for RM-ODP with Eclipse Sirius
PPTX
Uml basics
PDF
Survey on Software Defect Prediction
PPT
session on pattern oriented software architecture
PPTX
Survey on Software Defect Prediction
PPTX
Oracle Forms Modernization Roadmap
PPTX
EMBEDDED AND REAL TIME SYSTEMS-Unit-4_6703.pptx
PPSX
Scope of software engineering
PPTX
Mg6088 spm unit-2
Unit 1b
Web technologies: Model Driven Engineering
Pressman ch-3-prescriptive-process-models
The art of architecture
compiler introduction ssssssssssssssssssssssssssssssssssssssss
Agile MDD
Machine Learning in Software Engineering
PAC 2019 virtual Alexander Podelko
Year13_SystemModelsmypresentationTechnology.ppt
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
From science to engineering, the process to build a machine learning product
Developing Modeling Tool for RM-ODP with Eclipse Sirius
Uml basics
Survey on Software Defect Prediction
session on pattern oriented software architecture
Survey on Software Defect Prediction
Oracle Forms Modernization Roadmap
EMBEDDED AND REAL TIME SYSTEMS-Unit-4_6703.pptx
Scope of software engineering
Mg6088 spm unit-2
Ad

More from abgolla (6)

PDF
A model based approach for developing event-driven architectures with AsyncAPI
PDF
A Modeling Editor and Code Generator for AsyncAPI
PDF
TemporalEMF: A Temporal Metamodeling Framework
PPTX
On the Opportunities of Scalable Modeling Technologies: An Experience Report ...
PPTX
Una herramienta para evaluar el rendimiento de aplicaciones intensivas en datos
PPTX
Fase 2015 - Map-based Transparent Persistence for Very Large Models
A model based approach for developing event-driven architectures with AsyncAPI
A Modeling Editor and Code Generator for AsyncAPI
TemporalEMF: A Temporal Metamodeling Framework
On the Opportunities of Scalable Modeling Technologies: An Experience Report ...
Una herramienta para evaluar el rendimiento de aplicaciones intensivas en datos
Fase 2015 - Map-based Transparent Persistence for Very Large Models

Recently uploaded (20)

PDF
August Patch Tuesday
PDF
project resource management chapter-09.pdf
PDF
Encapsulation theory and applications.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mushroom cultivation and it's methods.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
A Presentation on Touch Screen Technology
PDF
Getting Started with Data Integration: FME Form 101
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Tartificialntelligence_presentation.pptx
August Patch Tuesday
project resource management chapter-09.pdf
Encapsulation theory and applications.pdf
1 - Historical Antecedents, Social Consideration.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
OMC Textile Division Presentation 2021.pptx
Zenith AI: Advanced Artificial Intelligence
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mushroom cultivation and it's methods.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Heart disease approach using modified random forest and particle swarm optimi...
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A Presentation on Touch Screen Technology
Getting Started with Data Integration: FME Form 101
A novel scalable deep ensemble learning framework for big data classification...
Tartificialntelligence_presentation.pptx

Enabling Performance Modeling for the Masses: Initial Experiences

  • 1. Enabling Performance Modeling for the Masses: Initial Experiences Abel Gómez, Connie U. Smith, Amy Spellmann, and Jordi Cabot Internet Interdisciplinary Institute – Universitat Oberta de Catalunya, Spain L&S Computer Technology, USA 1
  • 2. • Performance problems are obvious to users: sluggish response time, low throughtput… • Performace issues cause rejection of new products, or event loss of life. • Performance is a competitive edge… … but performance problems are typically tackled after they occur. • Unplanned expense and time for refactoring. 2
  • 4. Software Performance Engineering •SPE is a labor-intensive approach. •Requires considerable expertise and effort. •Performance engineers work side by side with system designers. 4
  • 5. Can system designers do the analysis themselves? • C1 — We need model specifications to express performance-determining design elements. • C2 — We need transformation tolos from system design models to performance models 5 MDE
  • 7. Defining Performance Scenarios and Requirements with UML and MARTE 7
  • 8. Deployment Diagrams • Execution architecture of the system • Hardware elements providing processing services. 8
  • 9. Class Diagrams • Logical entities of the system. • Software elements, communications and synchonization entities (mutex). 9
  • 10. Composite Structure Diagrams • Describe how specific instances participating in a system relate to each other (from a static POV). • Specify resources, workloads and allocations. 10
  • 11. Sequence Diagrams • Describe key performance scenarios. • Typically include fine-grained resource usage information (e.g. in ExecutionSpecifications or in Messages) 11
  • 13. 13
  • 14. Performance Modeling for the Masses The tool 14
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. About the project • 2 months, led by two experts • 200 correspondences • 40 MARTE stereotypes and their S-PMIF+ counterparts • 8 meetings • 150 e-mails • 118-pages report 18
  • 19. Some thoughts • Barrier to entry: the modeling languages • UML and MARTE are extensive standards • There are ambiguities in the standards (e.g. MARTE VSL expressions). • There is a lack of online documentation with systematic modeling guidelines. The report (1/3!) had to provide specific recommendations and guidelines. 19
  • 20. Some thoughts • About the QVTo language • Imperative transformation languages do not have specially good reputation, but… … it facilitated the processing of ordered elements • Good logging and assertions support • Explicit support for libraries • Helpers can contribute new properties and operations dynamically • Intermediate clases can be defined (very useful to reify VSL expressions) 20
  • 21. Some thoughts • Repetitive transformation code: • 4 files • 2027 LOC • More the 60% of the code deals with auxiliary tasks • This has an important impact in the effort estimation 21 Stereotypes 12% Strings 13% VSL & NFP 22% Helpers 15% M2M 38% LOC Stereotypes Strings VSL & NFP Helpers M2M
  • 22. Some thoughts • Limitations of the modeling tools • Papyrus is the most popular tool for UML modeling in the Eclipse ecosystem. • It still has important and known limitiations, specially w.r.t Sequence Diagrams. • Ordering is important… … but it is easily lost. • Papyrus models get corrupt very easily. • Garbage elements are commonly left around. 22
  • 23. Some related work • Assessment of non-functional requirements, such as performance, is a well stablished discipline. • Different formalisms, techniques and levels of automation have been achieved. • PUMA, Palladio, Descartes Modeling Language, DICE framework, process mining techniques… 23
  • 24. Some related work • Most of them are similar in concept, but: • Some require performance-specific annotations from MARTE/PAM (closely related to LQN), requiring performance expertise. E.g., PUMA. • Some use specific DSLs (although similar to UML). E.g., PCM; DML. • Some make use of their own profiles (although extending MARTE/DAM). E.g. DICE. • Most of the transform to one specific tool, rather tan a MIF. 24
  • 25. Conclusions • Automated SPE processes are posible. • MDE techniques and MIFs are valuable assets. • We eliminate the need of manually creating performance models (laboriuos and error prone task). • We created a prototype demonstrating the viability of the approach. 25
  • 26. Enabling Performance Modeling for the Masses: Initial Experiences Abel Gómez, Connie U. Smith, Amy Spellmann, and Jordi Cabot Internet Interdisciplinary Institute – Universitat Oberta de Catalunya, Spain L&S Computer Technology, USA 26