exploring the intentional dimension during software (architecture) design adding the “why” and...

18
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

Upload: henry-reynolds

Post on 13-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

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

Exploring the Intentional Dimension during Software

(Architecture) Designadding 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

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

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

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

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

Note: focus on post-mortem-capturing

This presentation focusThis presentation focus

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

properties elaborate how categories relate

dimenional continum

dimension

data

concept

1..*1..*

+phenomenon

category

core attribute?0..*

+sub category

1..*

+phenomenon

1..*

story

1..*1..*

property

1..*1..*

condition

0..*

0..*

+conditional level

contingency

consequenceintervening condition

goal/purposeprocess

time1..*1..*

0..*

causal condition

0..*0..*

context

0..*

+(context) described by

0..*+described

action/interaction strategy

1..*+gives rise to

1..*

0..*+affected

1..*1..*0..*

+causes

0..*+embedded

subtyping overlapping

subtyping overlapping

0..*

0..*

0..*

0..*

0..*

0..*0..*0..*

0..*

0..*0..*

Grounded theory method “meta-model”

Grounded theory method “meta-model”

Based on (Strauss & Corbin, 1990)

Initial “meta model”for basic social processes

Initial “meta model”for basic social processes

Developing concepts/categories based on data

Developing concepts/categories based on data

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

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 onconcepts/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

New modeling concepts emerge from research data

Theory guides to know what to look for in the 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)

Note: theory concepts need to be found in the actual data, otherwise they don’t make sense (at least in the analyzed case study)

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

“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 documentationDraw 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

Analyzing documentation

Method modeling

Refine method steps and/or specify new analysis & tool capabilities

Knowledge based meta modelingAbstract, classify and parameterize knowledge

Specify instantiations and/or bindings semantics

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

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 rationalesMeta modeling

design rationalesmeta modeling rationale instances

methods instancesmethods instances

Method model under design

Method model under design

Research data capturing & linking

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

Meta model under design

Missing: process-orientation & knowledge-level support, Missing: process-orientation & knowledge-level support,

Intended useIntended use Daniel’s extensionsDaniel’s extensions

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

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

Meta conceptsMeta concepts

Meta relationshipsMeta relationships

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

Capturing meta model design rationale

Capturing meta model design rationale

Declaring meta model construct

Declaring meta model construct

Reference to document location is captured

Reference to document location is captured

Capturing meta model construct rationales & source

Capturing meta model construct rationales & source

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

Initial capturing method

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

Captured information with current meta model and capturing method

Captured information with current meta model and capturing method

Based on Mitel’s System Operation, Administration, Maintenance, Provision reusable platform architecture documentation

Based on Mitel’s System Operation, Administration, Maintenance, Provision reusable platform architecture documentation

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

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”).

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

e.g. “precedence” a new meta model relationship

Capturing meta concept rationale and elicitation question

Capturing meta concept rationale and elicitation question

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

method extended to include step for capturing precedence

method extended to include step for capturing precedence

New precedence links New precedence links

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

Taking notes, adding meta modeling “design” goals

Research notes.Note can also be attached to meta modeling constructs

Research notes.Note can also be attached to meta modeling constructs

Note: meta modeling goals are related to meta model constructs

Note: meta modeling goals are related to meta model constructs

Precedence links allows for change impact analysis

Precedence links allows for change impact analysis

Meta model “design” goals

Meta model “design” goals

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

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.

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

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

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

Future methodology workHow 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