SlideShare a Scribd company logo
MexADL: An Aspect-Oriented Approach for Verifying the
         Maintainability of Software Systems

           Juan Castrejón, Rafael Lozano, Genoveva Vargas-Solar
                        ITESM-CCM, LIG-LAFMIA




                     http://code.google.com/p/mexadl
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions
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%
                       http://users.jyu.fi/~koskinen/smcosts.htm
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.
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
AREAS AND TOPICS
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
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
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.
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
SOFTWARE QUALITY
      (3/4)




    SQuaRE quality model
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
ASPECT ORIENTED
         PROGRAMMING (1/2)

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

• The   principle states that a program can be divided into
 different features, or concerns, to allow independent analysis,
 striving to maintain a minimum overlap of functionality among
 them
ASPECT ORIENTED
         PROGRAMMING (2/2)

• 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
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
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
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions
APPROACH (1/4)
APPROACH (2/4)
APPROACH (3/4)




Use cases for the verification approach
APPROACH (4/4)




 Maintainability quality metrics
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions
MEXADL (1/4)

• An   implementation of this approach for Java based systems

                      Requirement      Tool implementation
                  ADL                       xADL 2.0
                  ADL environment      ArchEdit, Archipelago
                  AOP implementation         AspectJ
                  Build tool               Apache Ant


                          Implementation tools
MEXADL (2/4)




 External metrics tools
MEXADL (3/4)




xADL 2.0 extension (Characteristic)
MEXADL (4/4)




xADL 2.0 extension (Sub-characteristics)
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions
CASE STUDY (1/9)
• Indvalid: Validate digital tax receipts according to mexican regulations




               http://indvalid.com, 188 classes, 3 programmers, 1 architect
CASE STUDY (2/9)




   Quality metrics values
CASE STUDY (3/9)




  Association of quality metrics
CASE STUDY (4/9)




Association of user-generated types
CASE STUDY (5/9)
 An invocation
has been made

  Execution




  Execution




                 Compile-time warning
CASE STUDY (6/9)




   Quality metrics aspect
CASE STUDY (7/9)

  Associate
components to
 Component
   types




    Marker
 interface for
 ServiceType


                     Association aspect
CASE STUDY (8/9)




    Verification results
CASE STUDY (9/9)




    Verification results
OUTLINE

• Introduction

• Approach

• MexADL

• Case   Study

• Conclusions
CONCLUSIONS (1/2)

• 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.
CONCLUSIONS (2/2)


• 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.
FUTURE WORK

• Furtherevaluate the validity of our approach, by applying it to
 a wider set of software projects

• Improvement   of current verification controls during the
 generation of AOP inter-type declarations.

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

• Consideration   for dynamic structures of software systems
Questions

More Related Content

What's hot

[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
Ivano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] 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
 
[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
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
manishthaper
 
1
11
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
 
[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
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
Ivano Malavolta
 
Spring framework
Spring frameworkSpring framework
Spring framework
Kani Selvam
 
yuchung Resume LA
yuchung Resume LAyuchung Resume LA
yuchung Resume LA
Tom Chung
 
Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...
Tiago Oliveira
 
Software Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementSoftware Engineering Practice - Configuration management
Software Engineering Practice - Configuration management
Radu_Negulescu
 
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
 
3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies
op205
 
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
 
Detecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction HistoriesDetecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction Histories
SAIL_QU
 
Application cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCDApplication cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCD
Davide Veronese
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
Saransh Garg
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
Mayukh Maitra
 

What's hot (20)

[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] 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
 
[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)
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
1
11
1
 
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 ...
 
[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)
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
yuchung Resume LA
yuchung Resume LAyuchung Resume LA
yuchung Resume LA
 
Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...
 
Software Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementSoftware Engineering Practice - Configuration management
Software Engineering Practice - Configuration management
 
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
 
3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies
 
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
 
Detecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction HistoriesDetecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction Histories
 
Application cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCDApplication cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCD
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 
Component based models and technology
Component based models and technologyComponent based models and technology
Component based models and technology
 

Similar to MexADL - HADAS Presentation

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
 
Web Testing
Web TestingWeb Testing
Web Testing
smita gupta
 
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
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
Software models
Software modelsSoftware models
Software models
Sumayyiah .
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software Engineering
Aditya Kamble
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
Fáber D. Giraldo
 
sesi 8 measuring external quality.pdf
sesi 8 measuring external quality.pdfsesi 8 measuring external quality.pdf
sesi 8 measuring external quality.pdf
fxgbizdcs
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
Ivano Malavolta
 
what is software Engineering for students
what is software Engineering for studentswhat is software Engineering for students
what is software Engineering for students
AssadLeo1
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptxChapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
aroraritik30
 
Process model rup
Process model rupProcess model rup
Process model rup
Aryan Ajmer
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
MohsinAli773
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
International Journal of Soft Computing and Engineering (IJS
International Journal of Soft Computing and Engineering (IJSInternational Journal of Soft Computing and Engineering (IJS
International Journal of Soft Computing and Engineering (IJS
hildredzr1di
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Poonkodi Jayakumar
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factors
Aalia Barbe
 
Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design  Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design
Sutharshan Sharma
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
Simran Kaur
 

Similar to MexADL - HADAS Presentation (20)

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
 
Web Testing
Web TestingWeb Testing
Web Testing
 
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
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Software models
Software modelsSoftware models
Software models
 
Trends in Embedded Software Engineering
Trends in Embedded Software EngineeringTrends in Embedded Software Engineering
Trends in Embedded Software Engineering
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
sesi 8 measuring external quality.pdf
sesi 8 measuring external quality.pdfsesi 8 measuring external quality.pdf
sesi 8 measuring external quality.pdf
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
what is software Engineering for students
what is software Engineering for studentswhat is software Engineering for students
what is software Engineering for students
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptxChapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
 
Process model rup
Process model rupProcess model rup
Process model rup
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
International Journal of Soft Computing and Engineering (IJS
International Journal of Soft Computing and Engineering (IJSInternational Journal of Soft Computing and Engineering (IJS
International Journal of Soft Computing and Engineering (IJS
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factors
 
Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design  Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 

Recently uploaded

Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
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
 
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
 
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
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
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
 
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
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
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
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
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
 

Recently uploaded (20)

Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
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
 
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
 
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
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
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
 
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
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
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
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
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
 

MexADL - HADAS Presentation

  • 1. MexADL: An Aspect-Oriented Approach for Verifying the Maintainability of Software Systems Juan Castrejón, Rafael Lozano, Genoveva Vargas-Solar ITESM-CCM, LIG-LAFMIA http://code.google.com/p/mexadl
  • 2. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions
  • 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% http://users.jyu.fi/~koskinen/smcosts.htm
  • 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.
  • 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
  • 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
  • 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
  • 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.
  • 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
  • 11. SOFTWARE QUALITY (3/4) SQuaRE quality model
  • 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
  • 13. ASPECT ORIENTED PROGRAMMING (1/2) •A way to cope with software complexity is to follow the separation of concerns principle • The principle states that a program can be divided into different features, or concerns, to allow independent analysis, striving to maintain a minimum overlap of functionality among them
  • 14. ASPECT ORIENTED PROGRAMMING (2/2) • 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
  • 20. APPROACH (3/4) Use cases for the verification approach
  • 22. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions
  • 23. MEXADL (1/4) • An implementation of this approach for Java based systems Requirement Tool implementation ADL xADL 2.0 ADL environment ArchEdit, Archipelago AOP implementation AspectJ Build tool Apache Ant Implementation tools
  • 24. MEXADL (2/4) External metrics tools
  • 25. MEXADL (3/4) xADL 2.0 extension (Characteristic)
  • 26. MEXADL (4/4) xADL 2.0 extension (Sub-characteristics)
  • 27. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions
  • 28. CASE STUDY (1/9) • Indvalid: Validate digital tax receipts according to mexican regulations http://indvalid.com, 188 classes, 3 programmers, 1 architect
  • 29. CASE STUDY (2/9) Quality metrics values
  • 30. CASE STUDY (3/9) Association of quality metrics
  • 31. CASE STUDY (4/9) Association of user-generated types
  • 32. CASE STUDY (5/9) An invocation has been made Execution Execution Compile-time warning
  • 33. CASE STUDY (6/9) Quality metrics aspect
  • 34. CASE STUDY (7/9) Associate components to Component types Marker interface for ServiceType Association aspect
  • 35. CASE STUDY (8/9) Verification results
  • 36. CASE STUDY (9/9) Verification results
  • 37. OUTLINE • Introduction • Approach • MexADL • Case Study • Conclusions
  • 38. CONCLUSIONS (1/2) • 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.
  • 39. CONCLUSIONS (2/2) • 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.
  • 40. FUTURE WORK • Furtherevaluate the validity of our approach, by applying it to a wider set of software projects • Improvement of current verification controls during the generation of AOP inter-type declarations. • Implementationsfor other environments such as C++ or the .NET framework • Consideration for dynamic structures of software systems

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n