Metodologia GORE(KAOS) para Engenharia de Requisitos
Transcription
Metodologia GORE(KAOS) para Engenharia de Requisitos
Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri August 20, 2014 Javier Martínez Silva javsilva@usp.br Departamento de Engenharia Mecatrônica Universidade de São Paulo São Paulo d-l @ b Agenda P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Introduction Motivation Javier Martínez Silva Requirement Engineering RE in planning problems Introduction Motivation Requirement Engineering KAOS Goals Formal Representation Refinements RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) Roadef (2005) Objects Agents Operations in KAOS Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Proposal of translation to GHENeSys Proposal over cyclelife of planning problem 60 d-l @ b P P Introduction L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva ENGENHARIA DO CONHECIMENTO Introduction 2 Eliciação Motivation Requirement Engineering Problema, Requisitos Inform, Conhecimento do domínio RE in planning problems KAOS Goals Formal Representation Refinements Especificação Design Sistema de Informação Validação Roadef (2005) Objects Agents Verificação Operations in KAOS Proposal of translation to GHENeSys DOMÍNIO FORMAL Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 P Motivation... L I - U S O Introduction P d-l @ b AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva ENGENHARIA DO CONHECIMENTO Introduction 3 Eliciação Motivation Requirement Engineering Problema, Requisitos Inform, Conhecimento do domínio RE in planning problems KAOS Goals Formal Representation Refinements Especificação Design Sistema de Informação Validação Roadef (2005) Objects Agents Verificação Operations in KAOS Proposal of translation to GHENeSys DOMÍNIO FORMAL Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 P Motivation (cont) L I - U S O Introduction P d-l @ b AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Problemático Fracasso Bem sucedido Javier Martínez Silva 60 Introduction Motivation 4 Requirement Engineering 53 50 RE in planning problems 46 KAOS 40 Refinements Roadef (2005) Objects 30 Agents Operations in KAOS 31 20 Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 10 60 53 46 16 35 34 33 27 Proposal of translation to GHENeSys Proposal over cyclelife of planning problem 51 44 40 Goals Formal Representation 49 28 26 29 28 37 15 18 19 43 39 32 24 23 42 21 18 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 P Motivation (cont) L I - U S O Introduction P d-l @ b AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Chaos Resolution by large and small projects (2012) Small Project Javier Martínez Silva Large Project Introduction Motivation 5 Requirement Engineering RE in planning problems 20% 52% KAOS Goals 38% Formal Representation 76% Refinements 4% Roadef (2005) Objects 10% Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Successful Failed Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Challenged 60 Small projects are defined as projects with less than $1 million in labor content and large pojects are considered projects with more than $10 million in labor content P Motivation (cont). L I - U S O Introduction P d-l @ b AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri failure (%) Javier Martínez Silva Introduction Motivation 6 100 other causes Requirement Engineering RE in planning problems KAOS Goals 50 Formal Representation requirements - related Refinements Roadef (2005) Objects Agents Operations in KAOS 2003 1994 Proposal over cyclelife of planning problem 2000 0 Proposal of translation to GHENeSys years [J. Maresco, IBM developersWork, 2007] Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 P Motivation. L I - U S O Introduction P d-l @ b AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri failure (%) Javier Martínez Silva Introduction Motivation 7 100 other causes Requirement Engineering RE in planning problems KAOS Goals 50 Formal Representation requirements - related Refinements Roadef (2005) Objects Agents Operations in KAOS Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 2003 1994 Proposal over cyclelife of planning problem 2000 0 Proposal of translation to GHENeSys years P What is it? L I - U S O Requirement Engineering P d-l @ b AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I Identify objectives & opportunities for new system (system-to-be). I Define functionalities of, constraints on, responsibilities in system-to-be. I Specify all of these in a requirements document. Javier Martínez Silva Introduction Motivation Requirement Engineering 8 RE in planning problems KAOS Goals Software Formal Representation Environment Refinements Roadef (2005) Objects + Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem (people, devices, other softwares) System Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b P P What is RE about? L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Why? Javier Martínez Silva domain knowledge Objectives [rationale] Introduction Motivation Operationalization Requirement Engineering 9 RE in planning problems KAOS Requirements Goals What? Formal Representation Refinements Assumptions Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Responsability assignment Proposal over cyclelife of planning problem Who? Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 10 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 11 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 12 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 13 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 14 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 15 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 16 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 17 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L Requirements in the planning-system lifecycle Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modelagem Text do Conhecimento Introduction Motivation Requirement Engineering RE in planning problems Análise do Modelo Preparação do Modelo 18 KAOS Goals Especificação Text de Requisitos Formal Representation Refinements Roadef (2005) Objects Análise e Pós-Design Text do Plano/ Escalonador Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Síntese do Text Plano/ Escalonador *Tiago S Vaquero, J Christopher Beck, Lee McCluskey, and Reinaldo Silva. "KnowledgeEngineering for Planning & Scheduling:Tools and Methods",2013. 60 d-l @ b P P L I - U S O AB DE S I GN - L How main planning tools implement knowledge acquisition? Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Ferramentas Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems 19 KAOS Goals Formal Representation Modelo do domínio DISCOPLAN PDDL EUROPA Action Notation Modeling Language GIPO PDDL FlowOpt Work-Flow Modeling itSIMPLE UML JABBAH Business Process Management Notation ModPlan PDDL VIZ Non-Standard graphical diagrams Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b P P L I - U S O AB DE S I GN - L How main planning tools implement knowledge acquisition? Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Ferramentas Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems 20 KAOS Goals Formal Representation Modelo do domínio DISCOPLAN PDDL EUROPA Action Notation Modeling Language GIPO PDDL FlowOpt Work-Flow Modeling itSIMPLE UML JABBAH Business Process Management Notation ModPlan PDDL VIZ Non-Standard graphical diagrams Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b P P KAOS father L I - U S O AB DE S I GN - L Google acadêmico Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS 21 Goals Professor of Computing Science, ICTEAM Institute, EPL, Université catholique de Louvain Software engineering - requirements rengineering - system modeling - high Axel Van assurance systems - formal methods Lamsweerde Todos Desde 2009 Citações Índice h 10431 36 4872 29 Índice i10 51 39 Formal Representation Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys 928 Proposal over cyclelife of planning problem 0 Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 1993 1996 2002 2008 2014 d-l @ b KAOS:goal-oriented, model-driven RE P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Introduction Interviews Motivation existing systems Requirement Engineering Keep RE in planning problems KAOS Documents All Objectives Satisfied 22 Goals Formal Representation Refinements Roadef (2005) modeling analysis Objects Agents Operations in KAOS Proposal of translation to GHENeSys ObjetivER StarUML Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo ".html" 60 Generation of RE deliverables ".rtf" ".pdf" ".mif" d-l @ b Goals categories P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Goal Javier Martínez Silva Introduction Motivation functional Requirement Engineering not-functional RE in planning problems KAOS Goals 23 quality Formal Representation Refinements Roadef (2005) safety Objects Agents accuracy performance Operations in KAOS desenvolvimento Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo costs 60 deadline maintenance d-l @ b Goal types P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Achieve Javier Martínez Silva 1 ... Introduction Motivation Requirement Engineering Current Condition ... Target Condition ... RE in planning problems KAOS Goals 24 Formal Representation 2 ... Refinements Maintain Current Condition Good Condition Good Condition Good Condition ... Roadef (2005) Objects Time Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Achieve [TargetCondition] Maintain [GoodCondition] [if CurrentCondition then] [if CurrentCondition then] 1 Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 sooner_or_later TargetCondition always GoodCondition 2 d-l @ b KAOS Diagrams P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri WHY HOW Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals WHO 25 Formal Representation Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem ON WHAT Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 WHAT d-l @ b KAOS as modeling language P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Modeling Language Modeling Language Formal Language LTL Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals KAOS 26 Formal Representation Graphical Language Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 Goal Objects Operations Agents d-l @ b KAOS formally... P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri The goals take the general formal form: C ⇒ ΘT Javier Martínez Silva Introduction where: • C is the current condition Motivation Requirement Engineering RE in planning problems KAOS • Goals Formal Representation 27 • Refinements T is the target condition Θ represents a LTL operator such as: Roadef (2005) – Objects Agents Operations in KAOS – Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo – 60 : In the next state. ♦: Sometimes in the future. [♦≤d: Some- times in the future before deadline d]. : Always in the future. [≤d: Always in the future up to deadline d] d-l @ b KAOS formally (cont) P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Goal BehaviorType GoalName Def Informal textual definition Javier Martínez Silva Introduction Motivation of the goal Requirement Engineering RE in planning problems [ FormalSpec : LTL sentences] KAOS Goals Formal Representation 28 Refinements Roadef (2005) Example: Objects Agents Goal Achieve CarPaintedWhenTransported Operations in KAOS Proposal of translation to GHENeSys Def A car must be painted at any time when is on painting area. Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo FormalSpec ∀c : Car, pa : P aintingArea 60 On(c, pa) ⇒ ♦c.painted = 0true0 d-l @ b Main elements of Goal diagram P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri R, E, D ` G “In view of properties D of the domain, the requirements R will achieve goals G under expectations E” Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation 29 Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Requirement: Goal assigned to single agente in software-to-be. Expectation: Goal assigned to single agente in environment. Domain properties: Descriptive statements about environment(physical laws, organizational policies) Proposal over cyclelife of planning problem Requirement Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 Expectation Domain properties d-l @ b P P Refinements L I - U S O AB DE S I GN - L An AND-refinement of goal G into subgoals G1, . . . , Gn states that G can be satisfied by satisfying G1, . . . , Gn Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva • the set is called refinement of Introduction Motivation • the subgoal Requirement Engineering An OR-refinement of goal G into refinements R1, . . . , Rm m states that G can be satisfied by RE in planning problems KAOS Goals Formal Representation Refinements G Gi is said to contribute positively to G 30 Roadef (2005) satisfying all subgoals in any of the alternative refinements Ri • the refinement Objects Agents Ri is called alternative for G Operations in KAOS Proposal of translation to GHENeSys G Proposal over cyclelife of planning problem AND G1 G2 G3 OR Ag Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo G4 60 G6 G5 ... G7 d-l @ b Refinements. Example P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri G1,G2,G3 refinement of G. G G6,G7 alternatives of G3. Javier Martínez Silva Introduction Motivation G1 G2 G3 Requirement Engineering RE in planning problems Ag1 KAOS Goals Formal Representation Refinements 31 G4 G6 G5 G7 Roadef (2005) Objects Agents Ag2 Operations in KAOS Proposal of translation to GHENeSys G2,G4 expectations of agents Ag1 and Ag2. Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Ag3 G5,G6,G7 requirements of agents Ag3. 60 d-l @ b AND-refinement patterns. Example P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Milestone-Driven CÞàT Javier Martínez Silva Introduction T:Cars painted. Motivation Requirement Engineering M:Cars transported. RE in planning problems KAOS CÞàM Goals Formal Representation Refinements Example: C:Request was received. MÞàT 32 Cars painted when a request was received Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Cars transported when a request was received 60 Cars painted when were transported d-l @ b OR-refinement of goals. Patterns. P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Case-Driven Javier Martínez Silva CÞàT Introduction Motivation Requirement Engineering K1ÚK2ÞàC: K1ÞàC, ÚK2ÞàC.Then: K1ÞàT, K2ÞàT. Rule generalization RE in planning problems KAOS Goals Formal Representation Refinements 33 CÞàK1 CÞàK2 K1ÚK2Ú...ÚKnÞàT. Roadef (2005) Objects Agents T:Ambullance mobilized Operations in KAOS Proposal of translation to GHENeSys C:Ambullance allocated Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo K1ÚK2Ú...ÚKnÞàC: Ambulance mobilized when allocated K1: Ambullance on road 60 K2: Ambullance at Allocated ambullance movilized when is on station. road Allocated ambullance movilized when is at station d-l @ b P P Goal links L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I Javier Martínez Silva Introduction Links relate goals to I Other goals Motivation Requirement Engineering RE in planning problems I AND/OR refinement ⇒ goal contributions I conflict ⇒ resolutions KAOS Goals I Formal Representation Refinements Other sumodels ⇒ traceability 34 Roadef (2005) Objects Agents I reference → objects I responsibility → agents I operationalization → operations I coverage → scenarios I obstruction → obstacles Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b Conceptual Objects P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I Structural view of the system being modeled I Object = set of instances of system-specific concept Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS I Can be distinctly identified & enumerated I Share similar features (attributes, associations) I Have specific behaviors from state to state Goals Formal Representation Refinements 35 I Roadef (2005) Objects Agents Object specializations (at meta level): I Entity: autonomous object I Association: object dependent on objects it links I Event: instantaneous object I Agent: active object, controls behaviors Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b P P L I - U S O AB DE S I GN - L Example of Goal Diagram. (2005) Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Roadef Ach [Pedido pronto pra entrega quando uma ordem foi recebida] Javier Martínez Silva Introduction Motivation RE in planning problems KAOS Ach [Carros agrupados segundo caract. espec] Goals Formal Representation Refinements Roadef (2005) Ach [Carros montados na área de montagem uma vez foram pintados] Ach [Carros pintados quando uma ordem foi recebida] Requirement Engineering Ach [Carros montados uma vez agrupados] 36 Operário Objects Agents Operations in KAOS Ach [Carros transportados qdo ordem foi recebida] Ach [Carros pintados uma vez na área de pintura] Assembler Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Ach [Carros foram agrupados segundo limite pistola] Ach [Carros transportados qdo foram agrupados] Ach [A pistola de spray lavada com solvente] Transporter 60 Mtn [A pistola de spray com pintura uma vez lavada] Spray Gun d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri The object model is derivable from the goal model Ach [Car assambled on assembly area when it is painted] FormalDef:"c:Cars, as:Assembly Area Painted(c)ÙOn(c,as)Þàcar.assembled='true' Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) 37 Objects Agents Car Operations in KAOS Proposal of translation to GHENeSys Assembly Area painted: Boolean Proposal over cyclelife of planning problem assembled: Boolean Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo On 60 countCars: Integer d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri The object model is derivable from the goal mode (cont) Ach [Car painted on when one request was received in the factory] FormalDef:"c:Cars, r:Request, f:factory ReceiveReq(r,f)Þàcar.painted='true' Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) 38 Objects Agents Operations in KAOS Request Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Factory countCar:Integer specialCar: SpecialCarUnit Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Receive 60 plan:PlanUnit d-l @ b P P L I - U S O AB DE S I GN - L The object model is derivable from the goal model Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Request Factory 1 Receive plan:PlanUnit 1 Javier Martínez Silva count_car:Integer espec_feat:Espec_Feat 1 1 Introduction Motivation 1 RE in planning problems Has Goals Formal Representation Refinements 39 1 1 1 Agents Assembler Operations in KAOS follow At Has id:Integer 60 1 id:Integer Car Proposal over cyclelife of planning problem Transporter 1 has 1 SprayGun 1 id:Integer limit:Integer has_paint:Boolean state:StateUnit 1 * Proposal of translation to GHENeSys Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 1 At Objects 1 Has1 count_car:Integer count_car:Integer 1 Gun Painted Area Assembly Area KAOS Roadef (2005) Has Has Requirement Engineering 1 painted:Boolean anssembled:Boolean 1 Satisfies * Special Features special_features:Spec_FeatUnit * d-l @ b Conceptual objects & current instances P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I Javier Martínez Silva Built-in semantic relation: I Introduction InstanceOf (o, Ob) iff o is currently an instance of Ob. Motivation Requirement Engineering RE in planning problems I Every concept must be defined by a Def annotation making it precise the conditions for an individual to satisfy InstanceOf (o, Ob). I Other object features: KAOS Goals Formal Representation Refinements Roadef (2005) Objects 40 Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 I attributes, associations ⇒ state of object instance. I domain invariants = domain properties. I inititial state when InstanceOf (o, Ob) becomes true. d-l @ b Agent cooperation for reaching goal P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I Javier Martínez Silva Agent = role (rather than individual), responsible for goal achievement I Introduction safe plane transportation: pilot, passanger, on-board plane controller, tracking system, station computer,... Motivation Requirement Engineering I RE in planning problems Agent Types: I KAOS I Goals I Formal Representation software (software-to-be, legacy software) devices humans Refinements Roadef (2005) Objects Agents 41 Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo (people, devices, other softwares) 60 d-l @ b Goal realizability by an agent P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri A goal G is realizable by agent ag iff ... I given ag’s monitoring & control capabilities it is possible for ag alone to satisfy G without more restrictions than required by G. I there exists a transition system TSag = (Init, Next) on variables monitored & controlled by ag such that RUN(TSag ) = HISTORIES(G) Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements monitored var: Roadef (2005) Objects Agents 42 Operations in KAOS Proposal of translation to GHENeSys measuredLimit controlled var: SprayGun count_car_painted Ach [A pistola de spray lavada com solvente] Proposal over cyclelife of planning problem Spray Gun Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b Goal realizability by an agent (cont) P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri An agent is modeled & specified by its features ... Javier Martínez Silva I Name, Def I (Attributes/associations, DomInvar/Init → object model) I Type: software or environment agent I Responsibility: links to goal model I Monitoring, Control: links to object model Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents I 43 state variables = attributes, associations from object model Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 I Performs: links to operation model I Dependency links to other agents for goal achievement or successful operation performance d-l @ b Modeling agents in KAOS. Example P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva AccurateEstimate OfSpeed&Position Introduction Motivation Requirement Engineering RE in planning problems SafeCommand Message KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents 44 Tracking System Dependency Speed&Accel Controller CommandSent InTime Operations in KAOS Train MeasuredSpeed MeasuredLoc CommandSpeed CommandAccel Command Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo CurrentSpeed CurrentLoc Responsability 60 SentCommand Performance d-l @ b Modeling operations in KAOS P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Introduction I Functional view of the system being modeled: what services are to be provided? (statics). I Operation Op: Motivation Requirement Engineering RE in planning problems KAOS Goals I relation Op ⊆ InputState × OutputState. I Op must operationalize underlying goals (proof obligation). I Op applications define state transitions (events) I concurrent with others. Formal Representation Refinements Roadef (2005) Objects Agents 45 Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b Specifying operations in KAOS P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva I Name,Def I DomPre: condition characterizing the class of input states in the domain. I DomPost: condition characterizing the class of output states in the domain I Links to other models: Operationalization (goals), Input/Output (objects), Performance (agent). Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents Operations in KAOS 46 Pistola de Spray lavada com solvente Carros transportados qdo foram agrupados Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Lavar pistola Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 Pintar Transportar Carros Agrupar Carros d-l @ b P P L I - U S O AB DE S I GN - L Example of Goal Diagram. (2005) Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Roadef Ach [Pedido pronto pra entrega quando uma ordem foi recebida] Javier Martínez Silva Introduction Motivation Ach [Carros montados na área de montagem uma vez foram pintados] Ach [Carros pintados quando uma ordem foi recebida] Requirement Engineering RE in planning problems KAOS Ach [Carros agrupados segundo caract. espec] Goals Formal Representation Refinements Ach [Carros montados uma vez agrupados] Roadef (2005) Operário Objects Agents Operations in KAOS Ach [Carros transportados qdo ordem foi recebida] Ach [Carros pintados uma vez na área de pintura] Assembler Proposal of translation 47 to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Ach [Carros foram agrupados segundo limite pistola] Ach [Carros transportados qdo foram agrupados] Ach [A pistola de spray lavada com solvente] Transporter 60 Mtn [A pistola de spray com pintura uma vez lavada] Spray Gun d-l @ b P P L I - U S O AB DE S I GN - L Translation from Goal GHENeSys structures Model Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Agente Introduction Pseudo lugar&arco habilitador Motivation Requirement Engineering RE in planning problems Objetivo KAOS Goals Formal Representation Lugar Refinements Roadef (2005) Objetivo de comportamento Objects Agents Operations in KAOS Proposal of translation 48 to GHENeSys Macro lugar Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Propriedade do domínio 60 Pseudo lugar&arco habilitador to d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Translation from Goal Model GHENeSys structures (cont) Refinamento-and Javier Martínez Silva Obj1 Obj Introduction Motivation Requirement Engineering RE in planning problems Obj2 Obj1 KAOS Goals Obj Obj2 Formal Representation Refinements Roadef (2005) Refinamento-or Objects Agents Obj1 Obj Operations in KAOS Proposal of translation 49 to GHENeSys Proposal over cyclelife of planning problem Obj2 Obj1 Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 Obj2 Obj to d-l @ b P P L I - U S O AB DE S I GN - L Translation from Goal Model GHENeSys structures (cont) to Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Milestone-Drive Ag1 Introduction Motivation CÞàM CÞàT Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements CÞàM Roadef (2005) Objects MÞàT CÞàT Agents Operations in KAOS MÞàT Proposal of translation 50 to GHENeSys Ag1 Proposal over cyclelife of planning problem Ag2 Ag2 Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Translation from Goal Model GHENeSys structures.Example Transporter Carros prontos para serem transportados Javier Martínez Silva Introduction Motivation Requirement Engineering Carros Agrupados RE in planning problems Operario KAOS Goals Carros Transportados qdo ordem recebida Pistola lavada con solvente Formal Representation Refinements SprayGun Roadef (2005) Objects Agents Pistola enchida com pintura qdo lavada Operations in KAOS Carros prontos para serem pintados Carros pintados Proposal of translation 51 to GHENeSys Carros agrupados segundo caract_espec Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Assembler 60 Carros prontos para serem montados Pedido pronto para ser entregue Carros Montados to d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation 52 to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 Translation from Goal Model Place/Transition Petri Net.Pipe v2.5 to d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Proposal of use of KAOS in lifecycle planning problem itSIMPLE Especificação do problema Javier Martínez Silva Introduction Passo 1: Criar e desenvolver o modelo do domínio de planejamento. Modelos em KAOS Motivation Requirement Engineering Passo 2: Traduzir os modelos KAOS numa rede de Petri. RE in planning problems KAOS Goals Rede de Petri Formal Representation Refinements Roadef (2005) Objects Passo 3: Exportar a rede de Petri a ser analisada. Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Passo 5: Obter o modelo do domínio traduzido em pnml. 53 Sentença PDDL Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Planos resultantes 60 Passo 6: Gerar os planos GHENeSys Modelo pnml da rede importado Passo 4: Análise da rede de Petri Reporte da análise da rede de Petri d-l @ b P P L I - U S O AB DE S I GN - L Proposal of use of KAOS in lifecycle planning problem.Perspective Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri KAOS Javier Martínez Silva XML Introduction Motivation Requirement Engineering Redes de Petri RE in planning problems KAOS PDDL Goals Formal Representation 60 S o/Es íntese d o calo nado r Anál do P ise e pó s lano /Esc -design alon ador Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 54 Plan Proposal over cyclelife of planning problem Prep ar do m ação odel o Operations in KAOS Proposal of translation to GHENeSys An do m álise odel o Agents Mod e Con lagem do heci men to Objects Espe c de R ificação equi sitos Refinements Roadef (2005) d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Proposal of Method for Requirement Engineering 1. Domain analysis: define and refine goals with two goals diagrams (functional and not-functional) Javier Martínez Silva 1.1 Boundary between system planning and problem domain. 1.2 Responsibility analysis: agent assignment. 1.3 Risk & conflict analysis Introduction Motivation Requirement Engineering 2. To derive structure objects RE in planning problems KAOS 2.1 Planning system: enriched objects from behaviour goals link with it. 2.2 Resulting in whole class diagram of the system. Goals Formal Representation Refinements Roadef (2005) Objects 3. Operationalization & behavior analysis of goals. Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem 55 3.1 How alter objects (IN/OUT) 3.2 For each operation to define constraints. 4. Behavior model synthesis Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 4.1 To define a petri Net for each operation. 4.2 To create positive scenario. d-l @ b Advantage of KAOS versus UML P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I KAOS lies in a Requirement Engineering methodology. Javier Martínez Silva I Graphical and formal mechanism with representations for all elements. I Possibility of manage conflicts between goals. I Traceability → A noticeable mechanism to produce a Class diagram I Completeness → Class diagram I Temporal constraints. Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo I 56 I Cover objectives more than a simple class. Using a formal representation from early phase. Article: A UML profile to support requirements engineering with KAOS. 60 d-l @ b And now.. what about the specification? P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Introduction ENGENHARIA DO CONHECIMENTO Motivation Eliciação Requirement Engineering Problema, Requisitos Inform, Conhecimento do domínio RE in planning problems KAOS Goals Formal Representation Refinements Validação Roadef (2005) Especificação: Design KAOS! Objects Agents Verificação Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Sistema de Informação DOMÍNIO FORMAL 57 60 d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri I Javier Martínez Silva What a requirement engineering need to know? Search for intentional & prescriptive keywords in documents available, interview transcripts, etc Introduction Motivation Requirement Engineering RE in planning problems I in order to, so as to, so that, ... I has to, must, to be, must be, shall, ensure, want, motivate, expected to,... I purpose, objective, aim, concern, ... KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents I Refinement links: “in order to X the system has to Y “ I Lógica temporal knowledges. I Refinement patterns. Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 58 60 d-l @ b Tool and key reference P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Requirements Engineering: From System Goals to UML Models to Software Specifications Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems REquirements & SPECification KAOS Goals Formal Representation Techniques for Information Technology Refinements Roadef (2005) Spin out of UCL (University of Louvain-Belgium). Objects Agents Operations in KAOS Scientific Advisor: Prof. Axel Van Lamswerde. Proposal of translation to GHENeSys Proposal over cyclelife of planning problem 59 Main activities: Consultancy service in GORE. Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo Tool Editor 60 d-l @ b P P L I - U S O AB DE S I GN - L Metodologia GORE(KAOS) para Engenharia de Requisitos. Redes de Petri Javier Martínez Silva Introduction Motivation Requirement Engineering RE in planning problems KAOS Goals Formal Representation Refinements Roadef (2005) Objects Agents Operations in KAOS Proposal of translation to GHENeSys Proposal over cyclelife of planning problem Dept. de Engenharia Mecatrônica Universidade de São Paulo São Paulo 60 60 Tool and key reference (cont) Thanks for your attention!