Download presentation
Presentation is loading. Please wait.
1
Cognitive Metrics for the Management of Model-based Software Development Reuven Gallant, Yehuda Badihi, Hagai Sugarman Jerusalem College of Technology-Machon Lev JCT
2
Why are managers afraid of model-based development? It sounds good notation method/process tool
3
Why are managers afraid of model-based development?
4
They like pictures Why sw engineers do/don’t like models (1) They don’t like tools –Or are lacking motivation to use them They don’t have patience for semantics NST: (US) (US) : (s, s') s – s' + s' – s They like pictures
5
Is a picture worth 1000 words? “To set the alarm, the key must be inserted into the lock, turned anti clockwise, and held for at least half a second. “To reset the alarm, the key must be inserted into the lock and turned clockwise. The alarm will be deactivated immediately.”
6
Automobile Alarm
7
Why sw engineers do/don’t like models (2)
8
Key Characteristics of Engineering Models Abstraction Understandability Accuracy Predictiveness Inexpensive Brian Selic, “The Pragmatics of Model-Driven Development,” IEEE Software, Sept./Oct. 2003.
9
Where measurements can help us manage model-based development Tool Evaluation People Evaluation Training Evaluation Model Evaluation
10
Metrics must be simple and easy to automate Fenton N. and Neil M. (2000). Software Metrics: a Roadmap. Future of Software Engineering. Anthony Finkelstein Ed., ACM, 359-370.
11
Bottom Up Tool Evaluation
12
Gestalt Approach to Tool Evaluation R. Gallant, M. Winokur, and J. Kudish, "Tool and Method Reciprocity: A Case Study in Requirements Management," Proceedings of The Seventh Israel Conference on Computer Systems and Software Engineerinתg 1996.
13
“… attempt to produce the most aesthetic, and therefore comprehensible, layouts. ” Harel’s Aesthetics “ An Algorithm for Blob Hierarchy Layout", Proc. Working Conf. on Advanced Visual Interfaces (AVI ’ 2000), Palermo, Italy, ACM Press, New York, May 1999, pp. 29-40.
14
Automobile Alarm-unaesthetic?
15
Statechart Complexity Metrics (1) “The aim of the experiment was to investigate the relationship between the complexity of UML statechart diagrams and their understandability (one maintainability subcharacteristic). Defining and Validating Metrics for UML Statechart Diagrams Marcela Genero, David Miranda and Mario Piattini, QAOOSE2002
16
Statechart Complexity Metrics (2)
17
Automobile Alarm-too many of something?
18
Statechart Complexity Metrics: economy vs. explicity
19
How Do We Measure Understandability? (2) Cognitive Dimensions (CDs) Viscosity Visibility Premature commitment Hidden dependencies Role expressiveness Error-proneness Abstraction Secondary notation Closeness of mapping Consistency Diffuseness Hard mental operations Provisionality Progressive evaluation Proposed by Greene in 1989, who has developed it since then with Petre, Blackwell, et al.
20
Automobile Alarm-CD deficiency?
21
Patterns to the rescue! resetting setOrNeutral setOrSetting set setting neutral [ settingCondition] [neutralCondition] tm(setTime)[IS_IN(setting)]/setAction [ resettingCondition]/resetAction [neutralCondition]/neutralAction /setup()
22
Cognitive “Measures” Automatization –Automatized vs. controlled tasks Types of knowledge –Declarative, Conceptual, Procedural Expertise –From novice to expert Learning hierarchy –Associations and chains; Discriminations Concepts; Rules ; Higher order rules Knowledge structuring –Surface features task specific features abstract/hierarchical features Mental workload –single resource pool, multiple-resource
23
Automatization(1) Please enter OMTracer Command>> go idle OMTracer (0:00:00.200) Display[0] Sent to itself Event tm(200) at ROOT.active OMTracer (0:00:00.200) Display[0] Received from itself Event tm(200) at ROOT.active OMTracer (0:00:00.200) main() Invoked Display[0]->Take Event Timeout OMTracer (0:00:00.200) Display[0] Invoked isDone() OMTracer (0:00:00.200) Display[0]->isDone() Returned OMTracer (0:00:00.200) Display[0] Exited State ROOT.active OMTracer (0:00:00.200) Display[0] Invoked print(n = 1) OMTracer (0:00:00.200) Display[0]->print(n = 1) Returned OMTracer (0:00:00.200) Display[0] Entered State ROOT.active OMTracer (0:00:00.200) Display[0] set tm(200) at ROOT.active OMTracer (0:00:00.200) Display[0]->Take Event Timeout Returned
24
Automatization(2)
25
Automatization(3) off filling rinsing evStart/ itsTank->GEN(evTankFill) evFull Statechart of Dishwasher Statechart of Tank
26
Any questions?
28
Why engineers won’t use tools
29
Enter Professor Harel
30
More than one way to skin a cat!(1) Please enter OMTracer Command>> go idle OMTracer (0:00:00.200) Display[0] Sent to itself Event tm(200) at ROOT.active OMTracer (0:00:00.200) Display[0] Received from itself Event tm(200) at ROOT.active OMTracer (0:00:00.200) main() Invoked Display[0]->Take Event Timeout OMTracer (0:00:00.200) Display[0] Invoked isDone() OMTracer (0:00:00.200) Display[0]->isDone() Returned OMTracer (0:00:00.200) Display[0] Exited State ROOT.active OMTracer (0:00:00.200) Display[0] Invoked print(n = 1) OMTracer (0:00:00.200) Display[0]->print(n = 1) Returned OMTracer (0:00:00.200) Display[0] Entered State ROOT.active OMTracer (0:00:00.200) Display[0] set tm(200) at ROOT.active OMTracer (0:00:00.200) Display[0]->Take Event Timeout Returned
31
Automatization Shiffrin et al. [9] [10] distinguish between controlled and automatic processes. Whereas “automatized” processes require little or no cognitive resources, “controlled” processes are resource intensive. Abilities are important for mastering repetitive tasks, but not for performing them once mastered. In contrast, abilities continue to be important in the performance of controlled processes.
32
Level of Detail Diagram Type Application Type
33
How did the SHADOW get its name????? 2 Theories
34
Theory I Sikorsky Helicopter Advanced Demonstrator of Operator Workload
35
Theory II Jimmy Durante’s radio program and nose!
36
The SHADOW was top top secret!!!! Not members of the U.S. House of Representatives… Not even Senators… –Got to see the SHADOW
37
The SHADOW was top top secret!!!! But the King got to fly in it!
38
4 Helicopters were sent to fetch the King from Boston
39
It was raining, and the King decided that discretion was the better part of valour Coach More Women's handbags
40
How Do We Measure Understandability? (2) Cognitive Dimensions (CDs) Viscosity: resistance to change Visibility Greene, T. R. G. (1989). Cognitive Dimensions of Notations. In People and Computers V. A. Sutcliffe and L. Macaulay, (Ed.). Cambridge: Cambridge University Press, 443-460. For non-specialists (no expertise in cognitive science or HFE required) Broad-brush Quick to apply, no lengthy analysis Check list approach: – abstraction, hidden dependencies, premature commitment, secondary notation, viscosity, visibility, closeness of mapping, diffuseness, error-proneness, hard mental operations, progressive evaluation, provisionality, role-expressiveness
41
Bottom Up Tool Evaluation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.