Multi-objective reasoning with constrained goal models

Goal models have been widely used in computer science to represent software requirements, business objectives, and design qualities. Existing goal modelling techniques, however, have shown limitations of expressiveness and/or tractability in coping with complex real-world problems. In this work, we exploit advances in automated reasoning technologies, notably satisfiability and optimization modulo theories (SMT/OMT), and we propose and formalize: (1) an extended modelling language for goals, namely the constrained goal model (CGM), which makes explicit the notion of goal refinement and of domain assumption, allows for expressing preferences between goals and refinements and allows for associating numerical attributes to goals and refinements for defining constraints and optimization goals over multiple objective functions, refinements, and their numerical attributes; (2) a novel set of automated reasoning functionalities over CGMs, allowing for automatically generating suitable refinements of input CGMs, under user-specified assumptions and constraints, that also maximize preferences and optimize given objective functions. We have implemented these modelling and reasoning functionalities in a tool, named CGM-Tool, using the OMT solver OptiMathSAT as automated reasoning backend. Moreover, we have conducted an experimental evaluation on large CGMs to support the claim that our proposal scales well for goal models with 1000s of elements.

[1]  John Mylopoulos,et al.  Formal Reasoning Techniques for Goal Models , 2003, J. Data Semant..

[2]  Albert Oliveras,et al.  On SAT Modulo Theories and Optimization Problems , 2006, SAT.

[3]  Neil A. Ernst,et al.  Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[4]  Allen Newell,et al.  GPS, a program that simulates human thought , 1995 .

[5]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[6]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[7]  Roberto Sebastiani,et al.  Optimization in SMT with LA(Q) Cost Functions , 2012 .

[8]  Neil A. Ernst,et al.  Finding incremental solutions for evolving requirements , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[9]  Eric Yu,et al.  Iterative, Interactive Analysis of Agent-goal Models for Early Requirements Engineering , 2012 .

[10]  Silvia Tomasi,et al.  Optimization Modulo Theories with Linear Rational Costs , 2014, ACM Trans. Comput. Log..

[11]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[12]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[13]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[14]  John Mylopoulos,et al.  Requirements models for design- and runtime: A position paper , 2013, 2013 5th International Workshop on Modeling in Software Engineering (MiSE).

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

[16]  Hod Lipson Proceedings of the 9th annual conference on Genetic and evolutionary computation , 2007 .

[17]  John Mylopoulos,et al.  Semantic models for knowledge management , 2001, Proceedings of the Second International Conference on Web Information Systems Engineering.

[18]  Neil A. Ernst,et al.  Agile Requirements Evolution via Paraconsistent Reasoning , 2012, CAiSE.

[19]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[20]  Ian Horrocks,et al.  An Analysis of Empirical Testing for Modal Decision Procedures , 2000, Log. J. IGPL.

[21]  Stefano Spaccapietra,et al.  Journal on Data Semantics I , 2003, Lecture Notes in Computer Science.

[22]  Pierluigi Roberti,et al.  STS-tool: Socio-technical Security Requirements through social commitments , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[23]  John Mylopoulos,et al.  Solving the next adaptation problem with prometheus , 2016, 2016 IEEE Tenth International Conference on Research Challenges in Information Science (RCIS).

[24]  John Mylopoulos,et al.  Simple and Minimum-Cost Satisfiability for Goal Models , 2004, CAiSE.

[25]  Alexei Lapouchnian,et al.  Goal-Oriented Requirements Engineering: An Overview of the Current Research , 2005 .

[26]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[27]  Roberto Sebastiani,et al.  OptiMathSAT: A Tool for Optimization Modulo Theories , 2018, Journal of Automated Reasoning.

[28]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[29]  John Mylopoulos,et al.  Integrating Preferences into Goal Models for Requirements Engineering , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[30]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[31]  John Mylopoulos,et al.  Requirements Evolution and Evolution Requirements with Constrained Goal Models , 2016, ER.

[32]  Eric S. K. Yu,et al.  Comparison and evaluation of goal-oriented satisfaction analysis techniques , 2013, Requirements Engineering.

[33]  Annie I. Antón,et al.  The use of goals to surface requirements for evolving systems , 1998, Proceedings of the 20th International Conference on Software Engineering.

[34]  Roberto Sebastiani,et al.  Pushing the Envelope of Optimization Modulo Theories with Linear-Arithmetic Cost Functions , 2014, TACAS.

[35]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[36]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[37]  Cesare Tinelli,et al.  Handbook of Satisfiability , 2021, Handbook of Satisfiability.

[38]  Anna Lisa Ferrara,et al.  Tools and Algorithms for the Construction and Analysis of Systems - TACAS 2013 , 2013 .

[39]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[40]  Neil A. Ernst,et al.  Reasoning with Optional and Preferred Requirements , 2010, ER.

[41]  Peter F. Patel-Schneider,et al.  A New General Method to Generate Random Modal Formulae for Testing Decision Procedures , 2003, J. Artif. Intell. Res..

[42]  Alberto Griggio,et al.  The MathSAT 5 SMT Solver ⋆ , 2012 .

[43]  Alberto Griggio,et al.  Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories , 2014, J. Artif. Intell. Res..

[44]  Neil A. Ernst,et al.  Agile requirements engineering via paraconsistent reasoning , 2014, Inf. Syst..

[45]  Alberto Griggio,et al.  A Simple and Flexible Way of Computing Small Unsatisfiable Cores in SAT Modulo Theories , 2007, SAT.

[46]  Sotirios Liaskos,et al.  On eliciting contribution measures in goal models , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[47]  Mats P. E. Heimdahl,et al.  Proceedings of the IEEE International Conference on Requirements Engineering , 1997 .

[48]  John Mylopoulos,et al.  An Empirical Evaluation of the i* Framework in a Model-Based Software Generation Environment , 2006, CAiSE.

[49]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[50]  E. Feigenbaum,et al.  Computers and Thought , 1963 .

[51]  Roberto Sebastiani,et al.  On the Benefits of Enhancing Optimization Modulo Theories with Sorting Networks for MaxSMT , 2016, SMT@IJCAR.