Exploring the Intentional Dimension during Software (Architecture) Design adding the “why” and the “who/where” to the “what” and the “how” Daniel Gross.

Slides:



Advertisements
Similar presentations
Accelerating The Application Lifecycle. DEPLOY DEFINE DESIGN TEST DEVELOP CHANGE MANAGEMENT Application Lifecycle Management #1 in Java Meta, Giga, Gartner.
Advertisements

Integration of MBSE and Virtual Engineering for Detailed Design
2 Introduction A central issue in supporting interoperability is achieving type compatibility. Type compatibility allows (a) entities developed by various.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
A Stepwise Modeling Approach for Individual Media Semantics Annett Mitschick, Klaus Meißner TU Dresden, Department of Computer Science, Multimedia Technology.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
From requirements to design
Object-Oriented Analysis and Design
Use-case Modeling.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
The Architecture Design Process
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Systems Engineering Foundations of Software Systems Integration Peter Denno, Allison Barnard Feeney Manufacturing Engineering Laboratory National Institute.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
SOFTWARE ADAPTIVITY THROUGH XML-BASED BUSINESS RULES AND AGENTS Queen’s University of Belfast, School of Computer Science, Belfast, United Kingdom Liang.
RUP Fundamentals - Instructor Notes
A Development Process Lecture Oo13 Objectory based method.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Introduction to MDA (Model Driven Architecture) CYT.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
UML Profile to Support Requirements Engineering with KAOS Presented by Chin-Yi Tsai.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary.
1 Introduction to Software Engineering Lecture 1.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
The Next Generation Science Standards: 4. Science and Engineering Practices Professor Michael Wysession Department of Earth and Planetary Sciences Washington.
For Goal-Driven Business Process Modeling Saeed A.Behnam,  Daniel Amyot, Gunter Mussbacher SITE, University of.
A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot,
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
1 Evolving System Architecture to Meet Changing Business Goals An Agent and Goal-Oriented Approach Daniel Gross & Eric Yu Faculty of Information Studies.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
UML Diagrams: Use Case Diagrams Prof. Hany Ammar, CSEE Dept., WVU.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
Prof. Hany H. Ammar, CSEE, WVU, and
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Basic Concepts and Definitions
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
Model Based Systems Engineering Visualization Steven Corns Missouri University of Science & Technology.
Systems Architectures System Integration & Architecture.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Welcome to M301 P2 Software Systems & their Development
Course Outcomes of Object Oriented Modeling Design (17630,C604)
SysML v2 Formalism: Requirements & Benefits
AIM Operational Concept
Computer Aided Software Engineering (CASE)
PPT1: Basics of software engineering
Presentation transcript:

Exploring the Intentional Dimension during Software (Architecture) Design adding the “why” and the “who/where” to the “what” and the “how” Daniel Gross Faculty of Information Studies University of Toronto Conceptual meta modeling through prototyping based on case study material The First Tropos Workshop Nov. 2001, Trento-Italy

Presentation Objective Illustrate a research method for conceptual meta modeling to represent the intentional dimension (intents & know-how) –borrowing from the (qualitative) social science grounded theory research methodology (Glasser & Strauss, 1976; Corbin & Strauss, 1990) Illustrate an integrated research environment for prototyping (tool) meta model & modeling methods –as an integral part of the research method –illustrate the use of a meta-case tool (Meta-Edit+) as such an environment

Research questions Conceptual meta modeling question: –Are i* concepts adequate/sufficient to capture software design intents, know-how and reusable knowledge from project documentation? If not, what extensions are needed? Modeling methodology question: –What methods for capturing & reusing intents and know-how from project documentation can be proposed? Research methodology question: –Using case study material, how can we systematically explore i* expressiveness and suggest further extensions and modeling-methodology support? Note: focus on post- mortem-capturing This presentation focus

Grounded theory method “meta-model” Based on (Strauss & Corbin, 1990) Initial “meta model” for basic social processes Developing concepts/categori es based on data

Conceptual meta modeling with case study material (in the spirit of grounded theory research methodology (Glasser & Strauss, 1976)) Case study material Conceptual meta model based on concepts/classifications, relationships Initial meta model & method Start with a theory (basic ontology)*: “Intentionality is making deliberate design decision to achieve stakeholders’ goals” “Intentionality is distributed among stakeholders and within the system during software design and evolution” * Grounded theory purists don’t like to start with a theory – others argue we inevitably start with one Refine theory concepts analyzing & prototyping with case study material Design knowledge capturing & reuse needs Computational analysis support needs Design guidance support needs New modeling concepts emerge from research data Theory guides to know what to look for in the research data Note: theory concepts need to be found in the actual data, otherwise they don’t make sense (at least in the analyzed case study)

“Research method” Modeling Meta modeling Conceptual modeling & analysis (prototyping meta model & method) Research Cycle Capture intent & solution knowledge with existing modeling constructs,Identify limitations Analyze documentation Draw distinctions among meta model constructs and and relationships Specify operational “design process” semantics Document rationales, notes, research issues & relate constructs to research data Use Meta case facilities Start with preliminary agent and goal meta model & method steps Analyzing documentation Method modeling Refine method steps and/or specify new analysis & tool capabilities Knowledge based meta modeling Abstract, classify and parameterize knowledge Specify instantiations and/or bindings semantics

Meta modeling with Meta-Edit+ Method steps meta model (basically a flow-chart meta model) methods instances Meta-modeling design, objectives, rationales, definitions & notes Meta modeling design rationales Meta modeling design rationales meta modeling rationale instances methods instances Method model under design Research data capturing & linking Meta-model under design based on actor and goal concepts conceptual model instances capturing intentional design Meta-meta model based on GOPRR (Graph-Object-Property-Relationship-Role concepts) Meta model under design Missing: process-orientation & knowledge-level support, Intended use Daniel’s extensions

Lets experiment with a meta model that captures design options and goals Meta concepts Meta relationships

Capturing meta model design rationale Declaring meta model construct Reference to document location is captured Capturing meta model construct rationales & source

Initial capturing method

Captured information with current meta model and capturing method Based on Mitel’s System Operation, Administration, Maintenance, Provision reusable platform architecture documentation

Identifying potential meta model extensions Analyzing the data we realize that some design options depend on preceding ones. –we note this for potential meta model extensions … may be useful for tracing impact when retracting design decisions. –we also note a new meta design goal “achieving change impact traceability.” In the text some design options are discussed for the future. –we note the potential need for a new meta-attribute for “designOption” : “potentialFutureDesignOption.” The need to cluster goals and design decisions into actors. –May need method & process-support extensions to guide the clustering. Some decisions relate to product classes (“reusable platforms”) while others are “instantiations” of these (“OAMP reusable platform). –We identify the need to distinguish between actor Classes and instances (“a-system” vs. “this-system”).

e.g. “precedence” a new meta model relationship Capturing meta concept rationale and elicitation question

method extended to include step for capturing precedence New precedence links

Taking notes, adding meta modeling “design” goals Research notes.Note can also be attached to meta modeling constructs Note: meta modeling goals are related to meta model constructs Precedence links allows for change impact analysis Meta model “design” goals

Meta-Edit+ vs. Concept-base / Telos Meta-Edit+ limitation. –Unlike Concept-Base only two meta-levels, no cross-meta level support (“w-strata”). Flattening the meta-space creates duplication of concept data. Can’t link method steps to meta constructs to be instantiate. Cant provide adequate knowledge-capturing & parameterization support (needs more meta levels). –Might also need some sort of scripting support (available in concept base?). Meta-Edit+ strengths. –Easy to use graphical user interface for quick prototyping iterations. –Dynamic user-interface generation based on meta-construct definitions. –Easy to use graphical notation definition support including hierarchical decompositions and “explosions.” –Runs on Windows (and Linux) platform.

Conclusion Tool requirements for research into conceptual meta-modeling Prototyping support –Prototype emergent i* meta model & modeling method with research data to learn about meta-model expressive abilities and limitations –Executable modeling method Research traceability support –Capture & refine “modeling theory”, research objectives as knowledge of domain increases –Link theory & objectives to emerging meta model –Link emergent meta model to research data Research process support –Capture research issues, goals & notes as they arise –Link issues & notes to meta model, modeling diagrams and/or research data Documentation support –Use research data as examples for modeling examples & tutorials

Future methodology work How to relate intentional meta model to “classes” & “instances” of software system product & process models –How do actors, goals, design Options etc. relate to UML type of concepts Architecture type of concepts etc.. –extending GRL work Rework research method and tool support within concept-base / Telos environment