SlideShare a Scribd company logo
An Approach for the Maintainability Verification of Software
  Systems based on Aspect Oriented Programming and
          Architecture Description Languages

                       Juan Carlos Castrejón
                            ITESM-CCM




                                                              1
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions



                           2
PROBLEM (1/3)


• Asa software system evolves, the lack of compliance between
 design documents and implementation artifacts may cause a
 detriment in its overall quality

• Software   maintenance costs between 50-75%




                                                                3
PROBLEM (2/3)
                 Maintainability software development problem factors
                                   Lack of traceability
                         Changes are not adequately documented
                       Documentation is obscure or untrustworthy
                      Lack of adherence to programming standards
                  Lack of consideration for software quality requirements

Chen, J., & Huang, S. (2009). An empirical analysis of the impact of software development problem factors on software maintainability.
                                            Journal of Systems and Software, 82(6), 981-992.




                                                                                                                                         4
PROBLEM (3/3)

• Inregard to the maintainability of software systems, we can
 identify two main sources for this detachment

       • An ambiguous documentation of the system’s architectural
        intent and its desired quality attributes

       • An absence of adequate mechanisms to enforce that both
        architectural and quality intents are maintained through
        system evolution


                                                                    5
AREAS AND TOPICS




                   6
SOFTWARE ARCHITECTURE
           (1/2)


• Thisdiscipline strives to capture, document, analyze and reuse
 the highest level of abstraction of a system, by representing it
 with one or more structures, the components they are
 composed of, and the externally visible properties of such
 components




                                                                    7
SOFTWARE ARCHITECTURE
          (2/2)

• System elements are usually depicted using informal diagrams
 and idioms (Ex: box-and-line)

• Architecture  Description Languages (ADL) emerged as an
 effort to overcome this situation, by providing formalized
 constructs that strive to effectively represent a system’s
 architectural intent



                                                                 8
SOFTWARE QUALITY
                  (1/4)


• The  quality of a system is the degree to which the system
 satisfies the stated and implied needs of its various
 stakeholders, and thus provides value.

• Quality   Models: McCall, Boehm, ISO 9003, ISO 9126, etc.




                                                               9
SOFTWARE QUALITY
              (2/4)

• Newgeneration of quality standards referred to as ISO/IEC
 SQuaRE (Software Product Quality Requirements and Evaluation)

•A  logically organised, enriched and unified series covering
 three complementary processes: requirements specification,
 measurement and evaluation



                                                                 10
SOFTWARE QUALITY
      (3/4)




    SQuaRE quality model

                           11
SOFTWARE QUALITY
                  (4/4)


• Maintainabilityis defined as as the degree of effectiveness and
 efficiency with which the product can be modified

• Divided  into five sub- characteristics: modularity, reusability,
 analyzability, modifiability and testability




                                                                     12
ASPECT ORIENTED
         PROGRAMMING (1/3)

•A  way to cope with software complexity is to follow the
 separation of concerns principle

• The principle states that a program can be split into different
 features or concerns to allow independent analysis, striving to
 maintain a minimum overlap of functionality among them



                                                                    13
ASPECT ORIENTED
             PROGRAMMING (2/3)

• It   is not always simple to define what	

 a concern is

• There  may be concerns spanning more than one concept or
  functionality (crosscutting concerns)

• Classic   examples: Security, Logging



                                                             14
ASPECT ORIENTED
         PROGRAMMING (3/3)

• The  Aspect Oriented Programming (AOP) methodology,
 introduces a new unit of modularization, the aspect

• An aspect is responsible for the abstraction of a crosscutting
 functionality

• An implementation of AOP may also include mechanisms to
 alter the static structure and dynamic behavior of the system


                                                                   15
PURPOSE

• To enforce the maintainability quality characteristic of
 software systems, as defined by the ISO/IEC SQuaRE quality
 model

   • By    describing its sub-characteristics within the constructs
       available in an ADL

   • By    using AOP techniques to help verify those sub-
       characteristics through the use of internal quality metrics


                                                                      16
HYPOTHESIS


• Themaintainability quality characteristic of a software system
 can be effectively defined and characterized using the
 constructs available in an architecture description language

• The maintainability quality characteristic of a software system
 can be verified using static crosscutting techniques of aspect
 oriented programming



                                                                    17
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions



                           18
APPROACH (1/4)




                 19
APPROACH (2/4)




                 20
APPROACH (3/4)




Use cases for the verification approach

                                         21
APPROACH (4/4)




 Maintainability quality metrics


                                   22
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions



                           23
MEXADL (1/8)

• An   implementation of this approach for Java based systems

                    Requirement         Tool implementation
                       ADL                 xADL 2.0 [31]
                 AOP implementation         AspectJ [10]
                  ADL environment     ArchEdit, Archipelago [31]
                     Build tool            Apache Ant [60]


                        Implementation tools


                                                                   24
MEXADL (2/8)




 External metrics tools

                          25
MEXADL (3/8)




xADL 2.0 extension (Characteristic)


                                      26
MEXADL (4/8)




xADL 2.0 extension (Sub-characteristics)
                                           27
MEXADL (5/8)




xADL 2.0 extension (Component)



                                 28
MEXADL (6/8)




xADL 2.0 extension (Java implementation)


                                           29
MEXADL (7/8)




    Definition


                30
MEXADL (8/8)




   Verification
                 31
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions



                           32
CASE STUDY (1/7)

• SQL   query optimizer designed for distributed databases




                      xADL 2.0 description

                                                             33
CASE STUDY (2/7)




   Quality metrics values


                            34
CASE STUDY (3/7)




  Association of quality metrics
                                   35
CASE STUDY (4/7)
  Layer                 Spring Annotation                Layer   Java package pattern
Controller   org.springframework.stereotype.Controller
                                                         Model   mx.itesm.ddb.model..*
 Service      org.springframework.stereotype.Service
                                                          Util    mx.itesm.ddb.util..*
Repository   org.springframework.stereotype.Repository




       Association of user-generated types
                                                                                         36
CASE STUDY (5/7)




Valid interactions aspect

                            37
CASE STUDY (6/7)




   Quality metrics aspect
                            38
CASE STUDY (7/7)




    Verification results
                          39
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions



                           40
CONCLUSIONS (1/3)

• Considering that the quality model of this study is based on
 the emerging set of ISO/IEC SQuaRE standards, it is expected
 to remain valid for a reasonable time

• Theset of source code quality metrics is not fixed, and could
 be changed according to the needs of particular projects

• Thisflexibility would also come in handy in the event of
 changes to the definition of the ISO/IEC SQuaRE quality
 model.

                                                                 41
CONCLUSIONS (2/3)

• The  facilities provided by the xADL 2.0 language and its
 integrated environment, ArchStudio, proved to be very useful
 to effectively implement the extensions of the proposed
 approach

• AspectJ’s maturity and particular support for inter-type
 declarations was of great aid in order to implement the
 association between ADL descriptions and implementation
 code in an effective manner


                                                                42
CONCLUSIONS (3/3)


• Development   teams can detect architectural violations in a
 more effective way, compared to a manual verification process.

• The approach can help avoid the lack of compliance between
 design documents and implementation artifacts.




                                                                 43
FUTURE WORK



• Implementationsfor other environments such as C++ or
 the .NET framework

• Consideration   for dynamic structures of software systems




                                                               44
Questions




            45

More Related Content

What's hot

[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)
Ivano Malavolta
 
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
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
Ivano Malavolta
 
safety assurence in process control
safety assurence in process controlsafety assurence in process control
safety assurence in process control
Nathiya Vaithi
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
Frank Gielen
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
manishthaper
 
201407 A System Architecture for Affective Meta Intelligent Tutoring Systems
201407 A System Architecture for Affective Meta Intelligent Tutoring Systems201407 A System Architecture for Affective Meta Intelligent Tutoring Systems
201407 A System Architecture for Affective Meta Intelligent Tutoring Systems
Javier Gonzalez-Sanchez
 
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)
Ivano Malavolta
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
Anže Vodovnik
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
Saransh Garg
 
1
11
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
Mayukh Maitra
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Ivica Crnkovic
 
Reverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device SoftwareReverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device Software
Dharmalingam Ganesan
 
Cbt component based technology architectures
Cbt   component based technology architecturesCbt   component based technology architectures
Cbt component based technology architectures
Saransh Garg
 
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...
Luca Berardinelli
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...
cscpconf
 
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Shinpei Hayashi
 
Tactics
TacticsTactics
Tactics
ayjagadish
 
Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2
Dharmalingam Ganesan
 

What's hot (20)

[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)
 
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
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
 
safety assurence in process control
safety assurence in process controlsafety assurence in process control
safety assurence in process control
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
201407 A System Architecture for Affective Meta Intelligent Tutoring Systems
201407 A System Architecture for Affective Meta Intelligent Tutoring Systems201407 A System Architecture for Affective Meta Intelligent Tutoring Systems
201407 A System Architecture for Affective Meta Intelligent Tutoring Systems
 
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
1
11
1
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
 
Reverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device SoftwareReverse Architecting of a Medical Device Software
Reverse Architecting of a Medical Device Software
 
Cbt component based technology architectures
Cbt   component based technology architecturesCbt   component based technology architectures
Cbt component based technology architectures
 
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...
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...
 
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
 
Tactics
TacticsTactics
Tactics
 
Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2
 

Viewers also liked

ExSchema
ExSchemaExSchema
ExSchema
jccastrejon
 
ExSchema - ICSM'13
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13
jccastrejon
 
Victoria Shukis
Victoria ShukisVictoria Shukis
Victoria Shukis
tiashukis
 
Model2Roo - ACME
Model2Roo - ACMEModel2Roo - ACME
Model2Roo - ACME
jccastrejon
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentation
jccastrejon
 
Reinventing You by dorie clark
Reinventing You by dorie clarkReinventing You by dorie clark
Reinventing You by dorie clarkBURESI
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
jccastrejon
 

Viewers also liked (7)

ExSchema
ExSchemaExSchema
ExSchema
 
ExSchema - ICSM'13
ExSchema - ICSM'13ExSchema - ICSM'13
ExSchema - ICSM'13
 
Victoria Shukis
Victoria ShukisVictoria Shukis
Victoria Shukis
 
Model2Roo - ACME
Model2Roo - ACMEModel2Roo - ACME
Model2Roo - ACME
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentation
 
Reinventing You by dorie clark
Reinventing You by dorie clarkReinventing You by dorie clark
Reinventing You by dorie clark
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
 

Similar to MexADL

Software Process Models
 Software Process Models  Software Process Models
Software Process Models
MohsinAli773
 
comparative study software quality models
comparative study  software quality models comparative study  software quality models
comparative study software quality models
Auwal Amshi
 
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptxvnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
Krishna20539
 
Towards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software SystemsTowards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software Systems
Heiko Koziolek
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
Fáber D. Giraldo
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Ahmed Alageed
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
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
 
A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks
sadique_ghitm
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
cscpconf
 
Lab management
Lab managementLab management
Lab management
logumca
 
Web Testing
Web TestingWeb Testing
Web Testing
smita gupta
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
ijseajournal
 
Il product development - 20 01 2011
Il  product development - 20 01 2011Il  product development - 20 01 2011
Il product development - 20 01 2011
nakham
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software Engineering
Aditya Kamble
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
Gregory Solovey
 
Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...
Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...
Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...
IJCSIS Research Publications
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
Amr E. Mohamed
 
4213ijsea01 (1)
4213ijsea01 (1)4213ijsea01 (1)
4213ijsea01 (1)
ijseajournal
 

Similar to MexADL (20)

Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
comparative study software quality models
comparative study  software quality models comparative study  software quality models
comparative study software quality models
 
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptxvnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
 
Towards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software SystemsTowards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software Systems
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
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
 
A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
 
Lab management
Lab managementLab management
Lab management
 
Web Testing
Web TestingWeb Testing
Web Testing
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
 
Il product development - 20 01 2011
Il  product development - 20 01 2011Il  product development - 20 01 2011
Il product development - 20 01 2011
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software Engineering
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
 
Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...
Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...
Enhanced Feature Analysis Framework for Comparative Analysis & Evaluation of ...
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
4213ijsea01 (1)
4213ijsea01 (1)4213ijsea01 (1)
4213ijsea01 (1)
 

Recently uploaded

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 

Recently uploaded (20)

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 

MexADL

  • 1. An Approach for the Maintainability Verification of Software Systems based on Aspect Oriented Programming and Architecture Description Languages Juan Carlos Castrejón ITESM-CCM 1
  • 2. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions 2
  • 3. PROBLEM (1/3) • Asa software system evolves, the lack of compliance between design documents and implementation artifacts may cause a detriment in its overall quality • Software maintenance costs between 50-75% 3
  • 4. PROBLEM (2/3) Maintainability software development problem factors Lack of traceability Changes are not adequately documented Documentation is obscure or untrustworthy Lack of adherence to programming standards Lack of consideration for software quality requirements Chen, J., & Huang, S. (2009). An empirical analysis of the impact of software development problem factors on software maintainability. Journal of Systems and Software, 82(6), 981-992. 4
  • 5. PROBLEM (3/3) • Inregard to the maintainability of software systems, we can identify two main sources for this detachment • An ambiguous documentation of the system’s architectural intent and its desired quality attributes • An absence of adequate mechanisms to enforce that both architectural and quality intents are maintained through system evolution 5
  • 7. SOFTWARE ARCHITECTURE (1/2) • Thisdiscipline strives to capture, document, analyze and reuse the highest level of abstraction of a system, by representing it with one or more structures, the components they are composed of, and the externally visible properties of such components 7
  • 8. SOFTWARE ARCHITECTURE (2/2) • System elements are usually depicted using informal diagrams and idioms (Ex: box-and-line) • Architecture Description Languages (ADL) emerged as an effort to overcome this situation, by providing formalized constructs that strive to effectively represent a system’s architectural intent 8
  • 9. SOFTWARE QUALITY (1/4) • The quality of a system is the degree to which the system satisfies the stated and implied needs of its various stakeholders, and thus provides value. • Quality Models: McCall, Boehm, ISO 9003, ISO 9126, etc. 9
  • 10. SOFTWARE QUALITY (2/4) • Newgeneration of quality standards referred to as ISO/IEC SQuaRE (Software Product Quality Requirements and Evaluation) •A logically organised, enriched and unified series covering three complementary processes: requirements specification, measurement and evaluation 10
  • 11. SOFTWARE QUALITY (3/4) SQuaRE quality model 11
  • 12. SOFTWARE QUALITY (4/4) • Maintainabilityis defined as as the degree of effectiveness and efficiency with which the product can be modified • Divided into five sub- characteristics: modularity, reusability, analyzability, modifiability and testability 12
  • 13. ASPECT ORIENTED PROGRAMMING (1/3) •A way to cope with software complexity is to follow the separation of concerns principle • The principle states that a program can be split into different features or concerns to allow independent analysis, striving to maintain a minimum overlap of functionality among them 13
  • 14. ASPECT ORIENTED PROGRAMMING (2/3) • It is not always simple to define what a concern is • There may be concerns spanning more than one concept or functionality (crosscutting concerns) • Classic examples: Security, Logging 14
  • 15. ASPECT ORIENTED PROGRAMMING (3/3) • The Aspect Oriented Programming (AOP) methodology, introduces a new unit of modularization, the aspect • An aspect is responsible for the abstraction of a crosscutting functionality • An implementation of AOP may also include mechanisms to alter the static structure and dynamic behavior of the system 15
  • 16. PURPOSE • To enforce the maintainability quality characteristic of software systems, as defined by the ISO/IEC SQuaRE quality model • By describing its sub-characteristics within the constructs available in an ADL • By using AOP techniques to help verify those sub- characteristics through the use of internal quality metrics 16
  • 17. HYPOTHESIS • Themaintainability quality characteristic of a software system can be effectively defined and characterized using the constructs available in an architecture description language • The maintainability quality characteristic of a software system can be verified using static crosscutting techniques of aspect oriented programming 17
  • 18. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions 18
  • 21. APPROACH (3/4) Use cases for the verification approach 21
  • 22. APPROACH (4/4) Maintainability quality metrics 22
  • 23. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions 23
  • 24. MEXADL (1/8) • An implementation of this approach for Java based systems Requirement Tool implementation ADL xADL 2.0 [31] AOP implementation AspectJ [10] ADL environment ArchEdit, Archipelago [31] Build tool Apache Ant [60] Implementation tools 24
  • 25. MEXADL (2/8) External metrics tools 25
  • 26. MEXADL (3/8) xADL 2.0 extension (Characteristic) 26
  • 27. MEXADL (4/8) xADL 2.0 extension (Sub-characteristics) 27
  • 28. MEXADL (5/8) xADL 2.0 extension (Component) 28
  • 29. MEXADL (6/8) xADL 2.0 extension (Java implementation) 29
  • 30. MEXADL (7/8) Definition 30
  • 31. MEXADL (8/8) Verification 31
  • 32. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions 32
  • 33. CASE STUDY (1/7) • SQL query optimizer designed for distributed databases xADL 2.0 description 33
  • 34. CASE STUDY (2/7) Quality metrics values 34
  • 35. CASE STUDY (3/7) Association of quality metrics 35
  • 36. CASE STUDY (4/7) Layer Spring Annotation Layer Java package pattern Controller org.springframework.stereotype.Controller Model mx.itesm.ddb.model..* Service org.springframework.stereotype.Service Util mx.itesm.ddb.util..* Repository org.springframework.stereotype.Repository Association of user-generated types 36
  • 37. CASE STUDY (5/7) Valid interactions aspect 37
  • 38. CASE STUDY (6/7) Quality metrics aspect 38
  • 39. CASE STUDY (7/7) Verification results 39
  • 40. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions 40
  • 41. CONCLUSIONS (1/3) • Considering that the quality model of this study is based on the emerging set of ISO/IEC SQuaRE standards, it is expected to remain valid for a reasonable time • Theset of source code quality metrics is not fixed, and could be changed according to the needs of particular projects • Thisflexibility would also come in handy in the event of changes to the definition of the ISO/IEC SQuaRE quality model. 41
  • 42. CONCLUSIONS (2/3) • The facilities provided by the xADL 2.0 language and its integrated environment, ArchStudio, proved to be very useful to effectively implement the extensions of the proposed approach • AspectJ’s maturity and particular support for inter-type declarations was of great aid in order to implement the association between ADL descriptions and implementation code in an effective manner 42
  • 43. CONCLUSIONS (3/3) • Development teams can detect architectural violations in a more effective way, compared to a manual verification process. • The approach can help avoid the lack of compliance between design documents and implementation artifacts. 43
  • 44. FUTURE WORK • Implementationsfor other environments such as C++ or the .NET framework • Consideration for dynamic structures of software systems 44
  • 45. Questions 45