exploring the intentional dimension during software (architecture) design adding the “why” and...
TRANSCRIPT
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
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
Note: focus on post-mortem-capturing
This presentation focusThis presentation focus
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
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)
“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
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
Lets experiment with a meta model that captures design options and goals
Meta conceptsMeta concepts
Meta relationshipsMeta relationships
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
Initial capturing method
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
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
Capturing meta concept rationale and elicitation question
method extended to include step for capturing precedence
method extended to include step for capturing precedence
New precedence links New precedence links
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
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 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