Dealing with Non-Functional Requirements in Model-Driven Development

The impact of non-functional requirements (NFRs) over software systems has been widely documented. Consequently, cost-effective software production method shall provide means to integrate this type of requirements into the development process. In this vision paper we analyze this assumption over a particular type of software production paradigm: model-driven development (MDD). We report first the current state of MDD approaches with respect to NFRs and remark that, in general, NFRs are not addressed in MDD methods and processes, and we discuss the effects of this situation. Next, we outline a general framework that integrates NFRs into the core of the MDD process and provide a detailed comparison among all the MDD approaches considered. Last, we identify some research issues related to this framework.

[1]  Carlo Ghezzi,et al.  Rethinking the Use of Models in Software Architecture , 2008, QoSA.

[2]  Stefano Ceri,et al.  Designing Data-Intensive Web Applications , 2002 .

[3]  Liming Zhu,et al.  Model Driven Development with non-functional aspects , 2009, 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design.

[4]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[5]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[6]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[7]  José Ambrosio Toval Álvarez,et al.  Integrating usability requirements that can be evaluated in design time into Model Driven Engineering of Web Information Systems , 2009, Adv. Eng. Softw..

[8]  Junichi Suzuki,et al.  A Model-Driven Development Framework for Non-Functional Aspects in Service Oriented Architecture , 2008, Int. J. Web Serv. Res..

[9]  Vinny Cahill,et al.  Customisable Model Transformations Based on Non-Functional Requirements , 2008, 2008 IEEE Congress on Services - Part I.

[10]  Patricia Lago,et al.  Architectural Knowledge: Getting to the Core , 2007, QoSA.

[11]  Steffen Zschaler,et al.  Model-Driven Development for Non-functional Properties: Refinement Through Model Transformation , 2004, UML.

[12]  Carlo Ghezzi,et al.  Quality Prediction of Service Compositions through Probabilistic Model Checking , 2008, QoSA.

[13]  Philippe Krutchen,et al.  Architectural blueprints--the '4+1' view model of software architecture , 1995 .

[14]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[15]  A. Finkelstein,et al.  A comedy of errors: the London Ambulance Service case study , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[16]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[17]  Stephen J. Mellor,et al.  Model-driven development - Guest editor's introduction , 2003 .

[18]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[19]  Motoshi Saeki,et al.  Evaluating software architectures by coloured petri nets , 2002, SEKE '02.

[20]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[21]  Jos de Bruijn,et al.  Web Service Modeling Ontology , 2005, Appl. Ontology.

[22]  Javier Franch Gutiérrez,et al.  Usage of architectural styles and technologies in IT companies and organizations , 2009 .

[23]  Carme Quer,et al.  A pattern-based method for building requirements documents in call-for-tender processes , 2009, Int. J. Comput. Sci. Appl..

[24]  Patricia Lago,et al.  The Architect's Mindset , 2007, QoSA.

[25]  Norazlin Yusop,et al.  The impacts of non-functional requirements in web system projects , 2008 .

[26]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[27]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[28]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[29]  Eric S. K. Yu,et al.  Qualitative, Interactive, Backward Analysis of i* Models , 2008, iStar.

[30]  V. JuanPabloCarvallo,et al.  Managing Non-Technical Requirements in COTS Components Selection , 2006 .

[31]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[32]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[33]  Paola Inverardi,et al.  Non-Functional Modeling and Validation in Model-Driven Architecture , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[34]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[35]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures with intermediate models , 2004, Software & Systems Modeling.

[36]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[37]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[38]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[39]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[40]  Jaelson Brelaz de Castro,et al.  Systematic Integration Between Requirements and Architecture , 2004, SELMAS.

[41]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[42]  Jon Oldevik,et al.  A Framework for QoS-Aware Model Transformation, Using a Pattern-Based Approach , 2004, CoopIS/DOA/ODBASE.

[43]  Dániel Varró,et al.  Model Transformations for Performability Analysis of Service Configurations , 2008, MoDELS Workshops.

[44]  David S. Rosenblum,et al.  Reliability prediction in model-driven development , 2005, MoDELS'05.

[45]  Agung Fatwanto,et al.  Analysis, Specification and Modeling of Non-Functional Requirements for Translative Model-Driven Development , 2008, 2008 International Conference on Computational Intelligence and Security.

[46]  Xavier Franch,et al.  How Do Software Architects Consider Non-Functional Requirements: A Survey , 2010, REFSQ.

[47]  Stefan Kugele,et al.  Optimizing Automatic Deployment Using Non-functional Requirement Annotations , 2008, ISoLA.