ebook img

The Design of Requirements Modelling Languages: How to Make Formalisms for Problem Solving in Requirements Engineering PDF

285 Pages·2015·12.799 MB·
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Design of Requirements Modelling Languages: How to Make Formalisms for Problem Solving in Requirements Engineering

Ivan Jureta The Design of Requirements Modelling Languages How to Make Formalisms for Problem Solving in Requirements Engineering The Design of Requirements Modelling Languages Ivan Jureta The Design of Requirements Modelling Languages How to Make Formalisms for Problem Solving in Requirements Engineering 123 IvanJureta DépartementdesSciencesdeGestion(B423) UniversitédeNamur Namur Belgium ISBN978-3-319-18820-1 ISBN978-3-319-18821-8 (eBook) DOI 10.1007/978-3-319-18821-8 LibraryofCongressControlNumber:2015940984 SpringerChamHeidelbergNewYorkDordrechtLondon ©SpringerInternationalPublishingSwitzerland2015 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpart of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission orinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar methodologynowknownorhereafterdeveloped. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfrom therelevantprotectivelawsandregulationsandthereforefreeforgeneraluse. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authorsortheeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinor foranyerrorsoromissionsthatmayhavebeenmade. Printedonacid-freepaper SpringerInternationalPublishingAGSwitzerlandispartofSpringerScience+BusinessMedia (www.springer.com) For Zorana ;-) Preface You have a requirements engineering problem to solve, if (i) you have unclear, abstract, incomplete, potentially conflicting information about expectations of var- iousstakeholders,andabouttheenvironmentinwhichtheseexpectationsshouldbe met,(ii)youknowthatthereispresentlynosolutionwhichmeetstheseexpectations and (iii) you need to define and document a set of clear, concrete, sufficiently complete, coherent statements, often called requirements; so that a system is made andoperatedtosatisfythesestatementswillinfactmeetstakeholders’expectations. Requirementsengineeringproblemsareill-structuredproblems.Solvingthemis hard. You typically have to do many complex and interdependent tasks, such as elicitation, categorization, evaluation, prioritization, negotiation and prediction. Solving a requirements engineering problem relies on intuition and creativity, butmoreimportantlyforthisbook,itmobilizesexperientialknowledgewhichwas shaped by your problem-solving experience. This book shows how to create arti- ficial intelligence (AI) fromthat experientialproblem-solvingknowledge.You can seesuchAIasanassistanttowhichyoucandelegatesomeproblem-solvingtasks. AI is a combination offormal languages or formalisms used to represent (make models of) problem-solving information and algorithms used to carry out trans- formations of, and computations on those representations. Formalisms and algo- rithms preserve and automate the application of that experiential problem-solving knowledge you built into them. ThisbookfocusesontheformalismspartofAI.Onthealgorithmside,itshows how models made with the various formalisms can be translated, and translations fed into already well-known and general purpose algorithms. ThisbookwasinfluencedbyresearchwhichIcarriedoutwithJohnMylopoulos and Alexander Borgida. I co-authored papers on problem solving in requirements engineeringwiththem,aswellaswithNeilErnst,StéphaneFaulkner,AnnaPerini, Pierre-Yves Schobbens, Alberto Siena, Angelo Susi, and many others. They have all shaped the content of this book in various ways. This does not mean that we agree on the ideas which I present here. March 2015 Ivan Jureta vii Contents 1 Requirements Problem Solving . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problem Situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Problem-Solving Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Solution Situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5 Requirements Problem Solving. . . . . . . . . . . . . . . . . . . . . . . 6 2 Problem-Solving Automation with Artificial Intelligence. . . . . . . . 9 2.1 Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Ill-Structured Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Well-Structured Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Well-Structured Subproblems. . . . . . . . . . . . . . . . . . . . . . . . 15 2.5 Case-Specific and Recurrent Tasks . . . . . . . . . . . . . . . . . . . . 17 2.6 Languages and Algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.7 Artificial Intelligence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3 Problem and Solution Concepts in Requirements Engineering . . . 21 3.1 Requirements Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Problem and Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.2 Solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.5 Default Problem and Solution. . . . . . . . . . . . . . . . . . . . . . . . 25 4 Introduction to Requirements Modeling Languages . . . . . . . . . . . 29 4.1 Formal Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.2 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 Role in Problem Solving . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3 Rough Historical Overview . . . . . . . . . . . . . . . . . . . . . . . . . 33 ix x Contents 4.4 i-Star. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.2 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4.3 Semantic Domain and Mapping . . . . . . . . . . . . . . . . 40 4.4.4 Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.5 Techne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.5.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.5.2 Semantic Domain and Mapping . . . . . . . . . . . . . . . . 45 4.5.3 Syntax and More Semantic Mapping. . . . . . . . . . . . . 47 4.5.4 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.5.5 Formalization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5.6 Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5 Requirements Problem-Solving Cases . . . . . . . . . . . . . . . . . . . . . 61 5.1 Brussels Law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.1.2 Interviews Summary . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1.3 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2 Copenhagen Sports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.2 Interview Summary. . . . . . . . . . . . . . . . . . . . . . . . . 67 5.2.3 Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3 Dubai Telecom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3.1 Interviews Summary . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3.2 Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.4 London Ambulance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6 Checklists, Templates, and Services for Requirements Modeling Language Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.1 Problem-Solving Services . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.2 Checklists and Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3 Language and Module Names . . . . . . . . . . . . . . . . . . . . . . . 76 7 Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.2 Single Relation Language . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.2.1 Choose a Language Service. . . . . . . . . . . . . . . . . . . 79 7.2.2 Models over Fragments. . . . . . . . . . . . . . . . . . . . . . 80 7.2.3 Trivial Modeling Language . . . . . . . . . . . . . . . . . . . 82 7.3 Modular Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.4 Some Influence Relations. . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7.4.1 Presence of Influence . . . . . . . . . . . . . . . . . . . . . . . 90 7.4.2 Direction of Influence. . . . . . . . . . . . . . . . . . . . . . . 92 7.4.3 Relative Strength of Influence . . . . . . . . . . . . . . . . . 94 7.4.4 Summary on Influence Relations . . . . . . . . . . . . . . . 98 Contents xi 7.5 Arguments in Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.5.1 Support and Defeat. . . . . . . . . . . . . . . . . . . . . . . . . 100 7.5.2 Accepted or Rejected . . . . . . . . . . . . . . . . . . . . . . . 105 7.6 Combinations of Relations. . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.6.1 Independent Relations. . . . . . . . . . . . . . . . . . . . . . . 112 7.6.2 Interacting Relations . . . . . . . . . . . . . . . . . . . . . . . . 113 7.7 Summary on Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.2 Guidelines from Arguments . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.3 Composite Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 8.4 Stronger and Weaker Guidelines. . . . . . . . . . . . . . . . . . . . . . 128 8.5 Summary on Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 9 Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 9.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 9.2 Independent Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 9.3 Taxonomy of Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 9.4 In Meta-models and Ontologies . . . . . . . . . . . . . . . . . . . . . . 139 9.5 Derived Categories and Relations . . . . . . . . . . . . . . . . . . . . . 140 9.6 Enforce Category Use. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 9.7 Summary on Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10 Valuation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.2 Propagating Binary Values. . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.2.1 Binary Value Type . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.2.2 Value Propagation. . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.3 Combining Several Binary Value Types . . . . . . . . . . . . . . . . 156 10.3.1 Independent Value Assignments. . . . . . . . . . . . . . . . 158 10.3.2 Dependent Value Assignments. . . . . . . . . . . . . . . . . 162 10.4 Sets of Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 10.5 Constraints on Assignments. . . . . . . . . . . . . . . . . . . . . . . . . 165 10.6 Real Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 10.7 Summary on Valuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 11 Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.2 Independent Random Variables. . . . . . . . . . . . . . . . . . . . . . . 173 11.3 Dependent Random Variables. . . . . . . . . . . . . . . . . . . . . . . . 180 11.3.1 Ignoring Existing Relations . . . . . . . . . . . . . . . . . . . 181 11.3.2 Using Existing Relations . . . . . . . . . . . . . . . . . . . . . 182 xii Contents 12 Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 12.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 12.2 Alternatives over Binary Value Types. . . . . . . . . . . . . . . . . . 189 12.3 Picks and Their Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 12.4 Several Arbitrary Value Types . . . . . . . . . . . . . . . . . . . . . . . 216 12.5 Summary on Alternatives. . . . . . . . . . . . . . . . . . . . . . . . . . . 220 13 Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 13.1 Representing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 13.2 Constraints in Outcome Search. . . . . . . . . . . . . . . . . . . . . . . 229 13.3 Summary on Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 14 Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 14.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 14.2 Preferences and Criteria Basics. . . . . . . . . . . . . . . . . . . . . . . 240 14.2.1 Core Preference Relations . . . . . . . . . . . . . . . . . . . . 240 14.2.2 Domains of Preference Relations . . . . . . . . . . . . . . . 241 14.2.3 Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 14.3 Representing Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . 242 14.4 Finding Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 14.5 Better and Best Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . 254 14.6 Summary on Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 15 Links to Formal Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 15.1 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 15.2 Models to Theories, Approach One. . . . . . . . . . . . . . . . . . . . 269 15.3 Models to Theories, Approach Two . . . . . . . . . . . . . . . . . . . 273 15.4 Risks of Mapping to Formal Theories. . . . . . . . . . . . . . . . . . 273 15.5 Summary on Formal Theories. . . . . . . . . . . . . . . . . . . . . . . . 274 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.