SlideShare a Scribd company logo
1 of 21
Download to read offline
Run-time Monitoring-based Evaluation andCommunication Integrity Validation of SoftwareArchitectures 
Ana Dragomir 
02.12.2014 
Motivation 
State of the art vs. state of the practice 
Goals 
Approach 
Evaluation 
Summary and outlook
The ARAMIS ProjectMotivation 
“You don’t need architecture to build a dog kennel, but you’d better have some for a skyscraper” 
Software architecture (SA) description is useful to understand and meaningfully evolve a software system but… 
“Is it just a shared hallucination?” 
…the architecture drifts from its description! 
The description: 
is no longer as useful 
can lead to misunderstandings 
domino effect
Problem Statement 
SHOULD 
IS 
VS.
Stakeholders 
Architects 
Software Landscape Architects 
Are the systems of the landscape interacting as prescribed? 
Which systems are the hubs and sinks? 
Software Architects 
Is the system built according to its description? 
Which architecture units are the hubs and sinks? 
Which architecture units are “too complex”? 
Software Developers 
If I need to change a requirement, how can I quickly find out how it is currently implemented? 
What architecture/software units are interacting & how?
State of the ArtRelated Work
State of the ArtRelated Work
State of the PracticeOur Experience: Company 1 
CMMI Level 3 
More than 1000 IT Employees 
Large, heterogeneous systems (Java EE, Cobol, …) 
System architecture 
Decisions and architecture are documented, though separately 
Code-quality monitors (e.g., Sonarqube) are used 
Enterprise architecture 
Inter-system information flow diagrams 
Manual proces 
No architecture reconstruction tools! 
“Read the documentation, then start making phone calls” 
Reconstruction is cumbersomeand must be supplemented with support for evolution
State of the PracticeOur Experience: Company 2 
Medium Enterprise 
More than 500 IT Employees 
Mainly Java-based systems 
Systemarchitecture 
“The Developer Handbook” 
Low-level descriptions 
Abstract view of the system missing 
Jointattempt with SWC to reconstruct the architecture 
Purchased Sonargraph Architect 
Encountered terminology differences
State of the ArtFlaws 
The reconstruction occurs on very different abstraction levels 
Structural view: layers, modules, subsystems, etc. 
Behavioral view: objects, methods, etc. 
Heterogeneity of terminology is not addressed 
Reconstruction tools have stiff meta-models 
The architects expect results that conform to their terminology 
Heterogeneity of systems is not properly addressed 
The interplay of heterogeneous systems is important 
Reconstruction by itself is not a goal 
Are the units behaving as expected? What are the deviations? 
Evolution support is needed!
Goals 
Improve the traceabilitybetween usage scenarios, implementation and architecture documentation 
Develop/Use a minimally intrusive technical solution for run-time monitoring and real-time visualization 
Provide a means to evaluateif the predetermined architecture rules have been respected 
Easily extendablesolution
Multi-level Behavior Monitoring 
XX 
X 
Y 
MM 
M 
To 
From 
Operation Name 
Parameters 
Monitoring 
Systems To Monitor 
Analysis 
m2 
m3 
m4 
m6 
AA 
A 
B 
m1 
m10 
m7 
m8 
m9 
Interest: communication 
between AA, XX, MM 
AA 
XX 
MM 
m2 
m5 
m6 
m8 
m9 
Interest: communication 
within AA 
A 
B 
m1 
m10 
m7 
Interest: High level 
violations 
AA 
MM 
m8 
m9
Architecture 
ARAMISfor Communication Integrity Checking and Evaluation
Architecture Meta-model
Metrics @ ARAMIS 
Goal: find weak points in the analyzed behavior 
Step 1: Characterize behavior 
Step 2: Compare previous result with the architects’ expectations 
Metrics Categories 
Behavioral coupling and cohesion metrics 
Behavior hotspots 
Violations-based metrics
ARAMISCoupling and Cohesion Metrics 
Behavioral Coupling (BCo) 
Behavioral Cohesion (BCh) 
Scenario-based Unit Behavior Metric (SUB) 
Cohesion vs. Coupling of an Architecture Unit 
SUB = 퐵퐶ℎ 퐵퐶ℎ+퐵퐶표 
SUB Characterization (SUBC) 
High coupling/low cohesion; SUB ∈[0, 0.5) 
Mid coupling/mid cohesion; SUB ∈[0,5, 0.66) 
Low coupling/high cohesion;SUB ∈[0.66, 1]
Evaluation 
Phase 1: validation of communication rules 
The MosAICsoftware system 
Incentive: an initial architecture description was available 
interest in evaluating its conformance 
111753 LOC 
116 classes, 10 packages 
Defined 4 top-level units & 16 inner units 
20 allowed rules 
>100000 monitored calls 
3 distinct architecture violations (frequencies: 1, 2, 22 resp.) 
The result was used to improve the architecture 
Increased confidence in MosAIC’squality
Evaluation 
Phase 2: relevance of the SUB and SUBC metrics 
The JHotDrawframework 
Incentive: presumably, a good designed architecture 
126068 LOC 
529 classes, 38 packages 
Defined 12 top-level units but only 7 were used at run-time 
No rules 
> 150000 monitored calls
Evaluation 
JHotDrawresults
Conclusions 
ARAMIS aims to: 
Support the understanding of software systems 
Validate their communication integrity 
Assess their behavior 
The current results are promising 
Evaluated two projects 
MosAIC 
JHotDraw
Outlook 
Develop relevant multi-level visualizations 
Experiment with monitoring the inter-play of heterogeneous systems 
Model evolution scenarios 
Simulation & Impact analysis 
Explore further relevant metrics to depict the quality of the architecture 
Flexible quality model, tailorableaccording to the specific needs of the architects
Summary 
ARAMIS 
Flexible approach towards 
Monitoring architecture 
Validating its communication integrity according to specified rules 
Assessing its quality 
Supporting a reasonable evolution

More Related Content

What's hot

Software architecture
Software architectureSoftware architecture
Software architectureUdayna
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsGatte Ravindranath
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)IIUI
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsHimanshu
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysisCAST
 
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...CodeOps Technologies LLP
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)IIUI
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7mohammad hossein Jalili
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Dhivyaa C.R
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 

What's hot (20)

Software architecture
Software architectureSoftware architecture
Software architecture
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
03 basic concepts
03 basic concepts03 basic concepts
03 basic concepts
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
 
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 

Viewers also liked

Community Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, IndiaCommunity Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, IndiaAlison Prior
 
Community based natural resource management
Community based natural resource managementCommunity based natural resource management
Community based natural resource managementIFAD Vietnam
 
#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel Development#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel DevelopmentFMINigeria
 
Proposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy StructureProposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy StructureMILLA MENGA
 
Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...SPERI
 
National mineral development corporation
National mineral development corporationNational mineral development corporation
National mineral development corporationPranjal Sao
 

Viewers also liked (6)

Community Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, IndiaCommunity Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, India
 
Community based natural resource management
Community based natural resource managementCommunity based natural resource management
Community based natural resource management
 
#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel Development#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel Development
 
Proposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy StructureProposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy Structure
 
Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...
 
National mineral development corporation
National mineral development corporationNational mineral development corporation
National mineral development corporation
 

Similar to Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures

Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using addJavid iqbal hashmi
 
Software Architecture
Software Architecture Software Architecture
Software Architecture ssuser9d62d6
 
Lecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docLecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docesrabilgic2
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471vconovalov
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.pptFaizaZulkifal
 

Similar to Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures (20)

Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
Software Architecture
Software Architecture Software Architecture
Software Architecture
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Chapter1
Chapter1Chapter1
Chapter1
 
Unit 2
Unit 2Unit 2
Unit 2
 
Lecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docLecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.doc
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Unit2 2
Unit2 2Unit2 2
Unit2 2
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
Ooad
OoadOoad
Ooad
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.ppt
 

Recently uploaded

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Recently uploaded (20)

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 

Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures

  • 1. Run-time Monitoring-based Evaluation andCommunication Integrity Validation of SoftwareArchitectures Ana Dragomir 02.12.2014 Motivation State of the art vs. state of the practice Goals Approach Evaluation Summary and outlook
  • 2. The ARAMIS ProjectMotivation “You don’t need architecture to build a dog kennel, but you’d better have some for a skyscraper” Software architecture (SA) description is useful to understand and meaningfully evolve a software system but… “Is it just a shared hallucination?” …the architecture drifts from its description! The description: is no longer as useful can lead to misunderstandings domino effect
  • 4. Stakeholders Architects Software Landscape Architects Are the systems of the landscape interacting as prescribed? Which systems are the hubs and sinks? Software Architects Is the system built according to its description? Which architecture units are the hubs and sinks? Which architecture units are “too complex”? Software Developers If I need to change a requirement, how can I quickly find out how it is currently implemented? What architecture/software units are interacting & how?
  • 5. State of the ArtRelated Work
  • 6. State of the ArtRelated Work
  • 7. State of the PracticeOur Experience: Company 1 CMMI Level 3 More than 1000 IT Employees Large, heterogeneous systems (Java EE, Cobol, …) System architecture Decisions and architecture are documented, though separately Code-quality monitors (e.g., Sonarqube) are used Enterprise architecture Inter-system information flow diagrams Manual proces No architecture reconstruction tools! “Read the documentation, then start making phone calls” Reconstruction is cumbersomeand must be supplemented with support for evolution
  • 8. State of the PracticeOur Experience: Company 2 Medium Enterprise More than 500 IT Employees Mainly Java-based systems Systemarchitecture “The Developer Handbook” Low-level descriptions Abstract view of the system missing Jointattempt with SWC to reconstruct the architecture Purchased Sonargraph Architect Encountered terminology differences
  • 9. State of the ArtFlaws The reconstruction occurs on very different abstraction levels Structural view: layers, modules, subsystems, etc. Behavioral view: objects, methods, etc. Heterogeneity of terminology is not addressed Reconstruction tools have stiff meta-models The architects expect results that conform to their terminology Heterogeneity of systems is not properly addressed The interplay of heterogeneous systems is important Reconstruction by itself is not a goal Are the units behaving as expected? What are the deviations? Evolution support is needed!
  • 10. Goals Improve the traceabilitybetween usage scenarios, implementation and architecture documentation Develop/Use a minimally intrusive technical solution for run-time monitoring and real-time visualization Provide a means to evaluateif the predetermined architecture rules have been respected Easily extendablesolution
  • 11. Multi-level Behavior Monitoring XX X Y MM M To From Operation Name Parameters Monitoring Systems To Monitor Analysis m2 m3 m4 m6 AA A B m1 m10 m7 m8 m9 Interest: communication between AA, XX, MM AA XX MM m2 m5 m6 m8 m9 Interest: communication within AA A B m1 m10 m7 Interest: High level violations AA MM m8 m9
  • 12. Architecture ARAMISfor Communication Integrity Checking and Evaluation
  • 14. Metrics @ ARAMIS Goal: find weak points in the analyzed behavior Step 1: Characterize behavior Step 2: Compare previous result with the architects’ expectations Metrics Categories Behavioral coupling and cohesion metrics Behavior hotspots Violations-based metrics
  • 15. ARAMISCoupling and Cohesion Metrics Behavioral Coupling (BCo) Behavioral Cohesion (BCh) Scenario-based Unit Behavior Metric (SUB) Cohesion vs. Coupling of an Architecture Unit SUB = 퐵퐶ℎ 퐵퐶ℎ+퐵퐶표 SUB Characterization (SUBC) High coupling/low cohesion; SUB ∈[0, 0.5) Mid coupling/mid cohesion; SUB ∈[0,5, 0.66) Low coupling/high cohesion;SUB ∈[0.66, 1]
  • 16. Evaluation Phase 1: validation of communication rules The MosAICsoftware system Incentive: an initial architecture description was available interest in evaluating its conformance 111753 LOC 116 classes, 10 packages Defined 4 top-level units & 16 inner units 20 allowed rules >100000 monitored calls 3 distinct architecture violations (frequencies: 1, 2, 22 resp.) The result was used to improve the architecture Increased confidence in MosAIC’squality
  • 17. Evaluation Phase 2: relevance of the SUB and SUBC metrics The JHotDrawframework Incentive: presumably, a good designed architecture 126068 LOC 529 classes, 38 packages Defined 12 top-level units but only 7 were used at run-time No rules > 150000 monitored calls
  • 19. Conclusions ARAMIS aims to: Support the understanding of software systems Validate their communication integrity Assess their behavior The current results are promising Evaluated two projects MosAIC JHotDraw
  • 20. Outlook Develop relevant multi-level visualizations Experiment with monitoring the inter-play of heterogeneous systems Model evolution scenarios Simulation & Impact analysis Explore further relevant metrics to depict the quality of the architecture Flexible quality model, tailorableaccording to the specific needs of the architects
  • 21. Summary ARAMIS Flexible approach towards Monitoring architecture Validating its communication integrity according to specified rules Assessing its quality Supporting a reasonable evolution