SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Kürzlich hochgeladen (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

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>

Hinweis der Redaktion

  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#