SlideShare a Scribd company logo
1 of 29
Dealing with Non-Functional Requirements in Model-Driven Development A VISION PAPER 18th IEEE International  Requirements Engineering Conference Sydney, 2010 David Ameller, UPC (Spain) Xavier Franch, UPC (Spain) Jordi Cabot, INRIA (France)
Outline Introduction Motivation State of the art Our proposal: An NFR-aware MDD process Research agenda Conclusions RE'10: Dealing with NFRs in MDD
Introduction RE'10: Dealing with NFRs in MDD
MDD definition RE'10: Dealing with NFRs in MDD “Model-driven development is simply the notion that we can construct a model of a system that we can then transform into the real thing” Stephen Mellor et al., “Model-Driven Development”. IEEE Software 20(5), 2003. HelloWorld HelloWorld Swing Show() Show() POJO JDBC … show() { print(“Hello World”); } …
MDD in practice RE'10: Dealing with NFRs in MDD Most MDD approaches do not consider NFRs … show() {   print(“Hello World”); } … HelloWorld HelloWorld Interoperability NFR Specification Document Swing Show() Show() Scalability POJO Service-Oriented Architecture JDBC “[…] the functionality is not useful or usable without the necessary non-functional characteristics” L. Chung et al., “On Non-Functional Requirements in Software Engineering”, 2009 But…
The role of NFRs RE'10: Dealing with NFRs in MDD Many prominent researchers argue that NFRs mainly impact on the architecture, more concretely in the decision making process Impact Architectural decisions Req. "The system shall detect and report unauthorised data accesses” NFRs Software development Req. "The system shall keep our current Data Base Management System (DBMS)” Technological decisions
Objective of this work Identify the challenges to integrate NFRs into the MDD production process Why? Because it is a complex problem with critical consequences, and it is still far from a solution How? We propose a general process that deals with NFRs and then we identify the challenges needed to build this solution RE'10: Dealing with NFRs in MDD
Motivation RE'10: Dealing with NFRs in MDD
Motivation example We consider two scenarios for the ACME travel agency web portal: ACME luxury offers vacation packages to exotic destinations in 5-star hotels. ACME world-wide offers hundreds of packages from other transportation and accommodation sites. Both scenarios have common functionalities: User management, payment facilities, searches RE'10: Dealing with NFRs in MDD
Motivation example And some common NFRs, but other NFRs are different: RE'10: Dealing with NFRs in MDD = ≠
Motivation example Decision making from NFRs First: The type of application ,[object Object],Second: The architecture of the system “The 4+1 View Model of Architecture” Kruchten’95      Deployment architectural view RE'10: Dealing with NFRs in MDD Components and patterns Configuration alternatives
Motivation example ,[object Object],RE'10: Dealing with NFRs in MDD The table is based on S. Ceri et al., Designing Data-Intensive Web Applications, 2002. Notice that there are no conflicts in this example
Motivation example RE'10: Dealing with NFRs in MDD Different NFR specifications lead to different software systems ACME Luxury ACME World-wide Our position is that it should be possible to generate both systems with a MDD process that considers NFRs
State of the art RE'10: Dealing with NFRs in MDD ,[object Object]
Approaches supporting NFRs,[object Object]
MDD supporting NFRs RE'10: Dealing with NFRs in MDD Systematic Literature Review (SLR) From the initial 228 results we finally selected 13 relevant works (see details in the paper) These were classified in three categories Approaches for modeling NFRs (profiles and metamodels) Approaches based on model transformation (patterns) Approaches based on model analysis None of them has a integrated view of the problems to overcome in order to support        NFRs in MDD
An NFR-Aware MDD process RE'10: Dealing with NFRs in MDD
An NFR-aware MDD process RE'10: Dealing with NFRs in MDD A MDD process should be able to deal with NFRs and should be able to certify that the result is compliant with the initial NFRs We explore two variants Automatic process Interactive process Impact Architectural decisions NFRs Compliance
An NFR-aware MDD process All requirements are specified at PIM level We propose to use M2M transformations able to deal with NFRs (M2March, M2Mtech) We propose an intermediate model (PIM/PSM)  to reflect architectural decisions made from NFRs The code(software product) is compliant with the stated NFRs RE'10: Dealing with NFRs in MDD
An NFR-aware MDD process The first approach is conceptually sound but may be too complex In this case PIM is unaware of NFRs We propose to use human interaction to obtain NFRs (with architectural and technological consequences) Hybrid approaches are possible RE'10: Dealing with NFRs in MDD
Firewall example Deciding the need of firewall components RE'10: Dealing with NFRs in MDD
Benefits of our proposal vs. ,[object Object]
No need to modify the code
Architectural decisions depend on NFRs
Knowledge reuseRE'10: Dealing with NFRs in MDD
Drawbacks of our proposal vs. New model (PIM/PSM) need to be maintained New transformations are needed We need to maintain the architectural knowledge RE'10: Dealing with NFRs in MDD
Research Agenda RE'10: Dealing with NFRs in MDD
Research agenda This is a selection of the most important topics: Modeling NFRs ,[object Object],Architectural knowledge ,[object Object],Nature of models ,[object Object],Provide ways for “gluing” separate transformations Bottom-up perspective Correctness and completeness RE'10: Dealing with NFRs in MDD
Conclusions RE'10: Dealing with NFRs in MDD

More Related Content

Viewers also liked

White-box texting of (ATL) model transformations
White-box texting of (ATL) model transformationsWhite-box texting of (ATL) model transformations
White-box texting of (ATL) model transformations
Jordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Jordi Cabot
 

Viewers also liked (20)

From COBOL to Models: an MDE framework to extract business logic out of legac...
From COBOL to Models: an MDE framework to extract business logic out of legac...From COBOL to Models: an MDE framework to extract business logic out of legac...
From COBOL to Models: an MDE framework to extract business logic out of legac...
 
MDE Diploma
MDE DiplomaMDE Diploma
MDE Diploma
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software Engineering
 
Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13)
Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13)Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13)
Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13)
 
Looking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherLooking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software Researcher
 
From UML/OCL to natural language (using SBVR as pivot)
From UML/OCL to natural language (using SBVR as pivot)From UML/OCL to natural language (using SBVR as pivot)
From UML/OCL to natural language (using SBVR as pivot)
 
Aggregation Functions in OCL
Aggregation Functions in OCL Aggregation Functions in OCL
Aggregation Functions in OCL
 
Under the Hood: Model-Based Development in the Automotive Industry by Darren ...
Under the Hood: Model-Based Development in the Automotive Industry by Darren ...Under the Hood: Model-Based Development in the Automotive Industry by Darren ...
Under the Hood: Model-Based Development in the Automotive Industry by Darren ...
 
Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
 
White-box texting of (ATL) model transformations
White-box texting of (ATL) model transformationsWhite-box texting of (ATL) model transformations
White-box texting of (ATL) model transformations
 
Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems
 
Wanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityWanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your community
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Rule-Based Access-Control Evaluation through Model-Transformation
Rule-Based Access-Control Evaluation through Model-TransformationRule-Based Access-Control Evaluation through Model-Transformation
Rule-Based Access-Control Evaluation through Model-Transformation
 
Model-based Analysis of Java EE Web Security Configurations - Mise 2016
Model-based Analysis of Java EE Web Security Configurations - Mise 2016Model-based Analysis of Java EE Web Security Configurations - Mise 2016
Model-based Analysis of Java EE Web Security Configurations - Mise 2016
 
Improving Software Languages: usage patterns to the rescue
Improving Software Languages: usage patterns to the rescueImproving Software Languages: usage patterns to the rescue
Improving Software Languages: usage patterns to the rescue
 
MetaScience: Holistic Approach for Research Modeling and Analysis
MetaScience: Holistic Approach for Research Modeling and AnalysisMetaScience: Holistic Approach for Research Modeling and Analysis
MetaScience: Holistic Approach for Research Modeling and Analysis
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
 
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
 

Similar to Dealing with non-functional requirements in Model-driven development

IWSM2014 COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)
Nesma
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
Tech_MX
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 

Similar to Dealing with non-functional requirements in Model-driven development (20)

What Impact Will Entity Framework Have On Architecture
What Impact Will Entity Framework Have On ArchitectureWhat Impact Will Entity Framework Have On Architecture
What Impact Will Entity Framework Have On Architecture
 
The Outlook is Cloudy
The Outlook is CloudyThe Outlook is Cloudy
The Outlook is Cloudy
 
Model Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondModel Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and Beyond
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
 
Managing Complexity and Change with Scalable Software Design
Managing Complexity and Change with Scalable Software DesignManaging Complexity and Change with Scalable Software Design
Managing Complexity and Change with Scalable Software Design
 
Getting relational database from legacy data mdre approach
Getting relational database from legacy data mdre approachGetting relational database from legacy data mdre approach
Getting relational database from legacy data mdre approach
 
On the relation between Model View Definitions (MVDs) and Linked Data technol...
On the relation between Model View Definitions (MVDs) and Linked Data technol...On the relation between Model View Definitions (MVDs) and Linked Data technol...
On the relation between Model View Definitions (MVDs) and Linked Data technol...
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloud
 
Distinguishing Analysis from Design
Distinguishing Analysis from DesignDistinguishing Analysis from Design
Distinguishing Analysis from Design
 
IWSM2014 COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - dealing with NFR (Chris Woodward)
 
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Operations Research Digital Material.pdf
Operations Research Digital Material.pdfOperations Research Digital Material.pdf
Operations Research Digital Material.pdf
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Victor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkVictor Chang: Cloud computing business framework
Victor Chang: Cloud computing business framework
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype Dcphp
 

More from Jordi Cabot

More from Jordi Cabot (20)

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architectures
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platform
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulos
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIs
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL Databases
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Dealing with non-functional requirements in Model-driven development

  • 1. Dealing with Non-Functional Requirements in Model-Driven Development A VISION PAPER 18th IEEE International Requirements Engineering Conference Sydney, 2010 David Ameller, UPC (Spain) Xavier Franch, UPC (Spain) Jordi Cabot, INRIA (France)
  • 2. Outline Introduction Motivation State of the art Our proposal: An NFR-aware MDD process Research agenda Conclusions RE'10: Dealing with NFRs in MDD
  • 3. Introduction RE'10: Dealing with NFRs in MDD
  • 4. MDD definition RE'10: Dealing with NFRs in MDD “Model-driven development is simply the notion that we can construct a model of a system that we can then transform into the real thing” Stephen Mellor et al., “Model-Driven Development”. IEEE Software 20(5), 2003. HelloWorld HelloWorld Swing Show() Show() POJO JDBC … show() { print(“Hello World”); } …
  • 5. MDD in practice RE'10: Dealing with NFRs in MDD Most MDD approaches do not consider NFRs … show() { print(“Hello World”); } … HelloWorld HelloWorld Interoperability NFR Specification Document Swing Show() Show() Scalability POJO Service-Oriented Architecture JDBC “[…] the functionality is not useful or usable without the necessary non-functional characteristics” L. Chung et al., “On Non-Functional Requirements in Software Engineering”, 2009 But…
  • 6. The role of NFRs RE'10: Dealing with NFRs in MDD Many prominent researchers argue that NFRs mainly impact on the architecture, more concretely in the decision making process Impact Architectural decisions Req. "The system shall detect and report unauthorised data accesses” NFRs Software development Req. "The system shall keep our current Data Base Management System (DBMS)” Technological decisions
  • 7. Objective of this work Identify the challenges to integrate NFRs into the MDD production process Why? Because it is a complex problem with critical consequences, and it is still far from a solution How? We propose a general process that deals with NFRs and then we identify the challenges needed to build this solution RE'10: Dealing with NFRs in MDD
  • 8. Motivation RE'10: Dealing with NFRs in MDD
  • 9. Motivation example We consider two scenarios for the ACME travel agency web portal: ACME luxury offers vacation packages to exotic destinations in 5-star hotels. ACME world-wide offers hundreds of packages from other transportation and accommodation sites. Both scenarios have common functionalities: User management, payment facilities, searches RE'10: Dealing with NFRs in MDD
  • 10. Motivation example And some common NFRs, but other NFRs are different: RE'10: Dealing with NFRs in MDD = ≠
  • 11.
  • 12.
  • 13. Motivation example RE'10: Dealing with NFRs in MDD Different NFR specifications lead to different software systems ACME Luxury ACME World-wide Our position is that it should be possible to generate both systems with a MDD process that considers NFRs
  • 14.
  • 15.
  • 16. MDD supporting NFRs RE'10: Dealing with NFRs in MDD Systematic Literature Review (SLR) From the initial 228 results we finally selected 13 relevant works (see details in the paper) These were classified in three categories Approaches for modeling NFRs (profiles and metamodels) Approaches based on model transformation (patterns) Approaches based on model analysis None of them has a integrated view of the problems to overcome in order to support NFRs in MDD
  • 17. An NFR-Aware MDD process RE'10: Dealing with NFRs in MDD
  • 18. An NFR-aware MDD process RE'10: Dealing with NFRs in MDD A MDD process should be able to deal with NFRs and should be able to certify that the result is compliant with the initial NFRs We explore two variants Automatic process Interactive process Impact Architectural decisions NFRs Compliance
  • 19. An NFR-aware MDD process All requirements are specified at PIM level We propose to use M2M transformations able to deal with NFRs (M2March, M2Mtech) We propose an intermediate model (PIM/PSM) to reflect architectural decisions made from NFRs The code(software product) is compliant with the stated NFRs RE'10: Dealing with NFRs in MDD
  • 20. An NFR-aware MDD process The first approach is conceptually sound but may be too complex In this case PIM is unaware of NFRs We propose to use human interaction to obtain NFRs (with architectural and technological consequences) Hybrid approaches are possible RE'10: Dealing with NFRs in MDD
  • 21. Firewall example Deciding the need of firewall components RE'10: Dealing with NFRs in MDD
  • 22.
  • 23. No need to modify the code
  • 25. Knowledge reuseRE'10: Dealing with NFRs in MDD
  • 26. Drawbacks of our proposal vs. New model (PIM/PSM) need to be maintained New transformations are needed We need to maintain the architectural knowledge RE'10: Dealing with NFRs in MDD
  • 27. Research Agenda RE'10: Dealing with NFRs in MDD
  • 28.
  • 29. Conclusions RE'10: Dealing with NFRs in MDD
  • 30.
  • 31. Compared all different alternativesFormulated a research agenda RE'10: Dealing with NFRs in MDD
  • 32. Conclusions RE'10: Dealing with NFRs in MDD “...MDD has a chance to succeed in the realm of large, distributed, industrial software development, but it is far from a sure bet”, B. Hailpern and P. Tarr, “Model-driven Development: The Good, the Bad, and the Ugly”. IBM Systems Journal 45(3), 2006. We hope that we are improving the likelihood for this bet.
  • 33. Comments andQuestions David Ameller Xavier Franch Jordi Cabot <dameller@essi.upc.edu> <franch@essi.upc.edu> <jordi.cabot@inria.fr>

Editor's Notes

  1. The outline of the presentation will begin with an introduction, then the motivation, the SOTA, then our proposal, an NFR #en efar# aware MDD process. And finally the research agenda and the conclusions.
  2. I would like to begin the introduction with the MDD definition. #read def, “ai” triple “i”#The MDD process start with a PIM, for example a UML class diagram, that then is transformed using a M2M transformation into PSM. In the example we can se that we added two classes specific of the platform to the previous one. Finally we use a M2T transformation to obtain the code or the final product.
  3. In practice, MDD processes don’t consider NFRs.As we seen before #3 clicks# the MDD process will generate a product.#click# But… #bat##click# the NFRs could let us think on a service based solution. #click# that is not what we obtained from the MDD process.#click# so, as many times has been told, Functionality is not useful without the non-functionality.
  4. Many authors said that NFRs and the architecture of the system are very related topics, in fact this conference have a whole dedicated session to architecture. Concretely we think that NFRs are used to make architectural decisions.#click# also we consider as a type of these decisions, the technological decisions. For example a requirement such as #read NFR# will impact on a technological decision.
  5. To end with the introduction I want to clarify which is the objective of this work.#read blue box#We need to identify these challenges #read answer 1#.#haw# To do so, #read answer 2#.
  6. To motivate this work I will use an example about a travel agency with two scenarios. On the one hand ACME luxury that offers vacation packages…In the other hand ACME WW offers…Both scenarios share common functionalities. For example user management…
  7. To exemplify the impact of the NFRs in the architecture we will use as example the deployment view. For this view of the architecture we have several configurations e.g. SSC and DBMS separated. And we have several components that can be used with these configurations.
  8. #click# In this table we see the relationship between quality attributes and NFRs. Observe that the configurations have concrete values while the components can improve or damage the initial values.#click# in the concrete case of the ACME travel agency. Scalability will determine the use of replication #click# and the Security will determine the use of BDMS separated and Firewall.
  9. Here we can see again that different NFRs lead to different software systems.So, Our position.. #read#
  10. For the state of the art, we have differentiated between approaches that not support NFRs and the approaches that support NFRs.
  11. The approaches that not support NFRs can deal with NFRs outside of the process.One way is to Modify the PSM… #read##click# Other way is to modify the M2M… #read##click# the situation is worse if… #read#
  12. As I said before, a MDD process should be able to deal with NFRs and also should be able to certify the result is compliant with the specified NFRs.To do this we propose two variants of a process that can deal with NFRs.One is fully automatic and the second one is interactive.
  13. The problem of the previous variant is that it is too complex. For this variant we use a standard “pi Ai Em” #click#, a PIM unaware of NFRs.And we use #click# interaction with the user to obtain the NFRs necessary to: first, generate the architecture, and second, generate the PSM.From this point we will have all necessary NFRs to generate the software product.#click# it is important to notice that these are extreme variants, it is more than possible that the best solution is between the two variants.
  14. In the paper you will find a more exhaustive list of topics that require further research. This is a selection of the most relevant ones.#click&amp;read##click&amp;read##click&amp;read##click&amp;read##click&amp;read##click&amp;read##click&amp;read#
  15. #read##click&amp;read##click&amp;read#
  16. To conclude with this presentation I would like to quote a paper about the good the bad and the ugly of MDD. It says that #read##click &amp; read#