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

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...Jordi Cabot
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE Jordi Cabot
 
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 EngineeringJordi Cabot
 
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)Jordi Cabot
 
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 ResearcherJordi Cabot
 
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)Jordi Cabot
 
Aggregation Functions in OCL
Aggregation Functions in OCL Aggregation Functions in OCL
Aggregation Functions in OCL Jordi Cabot
 
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 ...Jordi Cabot
 
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'13Jordi Cabot
 
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 transformationsJordi Cabot
 
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 Jordi Cabot
 
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 communityJordi Cabot
 
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)Jordi Cabot
 
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-TransformationJordi Cabot
 
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 2016Jordi Cabot
 
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 rescueJordi Cabot
 
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 AnalysisJordi Cabot
 
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 ...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 modelsJordi 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

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 ArchitectureEric Nelson
 
The Outlook is Cloudy
The Outlook is CloudyThe Outlook is Cloudy
The Outlook is CloudyEduserv
 
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 BeyondSaïd Assar
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006santa
 
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 ArchitectsNane Kratzke
 
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 Designlbergmans
 
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 approachAlexander Decker
 
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...Ana Roxin
 
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 cloudMarcos Almeida
 
Distinguishing Analysis from Design
Distinguishing Analysis from DesignDistinguishing Analysis from Design
Distinguishing Analysis from DesignStephen Frezza
 
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 designTech_MX
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Operations Research Digital Material.pdf
Operations Research Digital Material.pdfOperations Research Digital Material.pdf
Operations Research Digital Material.pdfTANVEERSINGHSOLANKI
 
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 ...danielschulz2005
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachBen Stopford
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
Victor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkVictor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkCBOD ANR project U-PSUD
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpTony Bibbs
 

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

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?Jordi Cabot
 
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 architecturesJordi Cabot
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart softwareJordi Cabot
 
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 disciplineJordi Cabot
 
¿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...Jordi Cabot
 
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 effortJordi Cabot
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursJordi Cabot
 
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'21Jordi Cabot
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringJordi Cabot
 
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 platformJordi Cabot
 
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 ModelingJordi Cabot
 
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édulosJordi Cabot
 
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 Jordi Cabot
 
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...Jordi Cabot
 
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 TransformationsJordi Cabot
 
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 APIsJordi Cabot
 
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?Jordi Cabot
 
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?Jordi Cabot
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformJordi Cabot
 
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 DatabasesJordi 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

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

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#