Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cognitive Metrics for the Management of Model-based Software Development Reuven Gallant, Yehuda Badihi, Hagai Sugarman Jerusalem College of Technology-Machon.

Similar presentations


Presentation on theme: "Cognitive Metrics for the Management of Model-based Software Development Reuven Gallant, Yehuda Badihi, Hagai Sugarman Jerusalem College of Technology-Machon."— Presentation transcript:

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?

27

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


Download ppt "Cognitive Metrics for the Management of Model-based Software Development Reuven Gallant, Yehuda Badihi, Hagai Sugarman Jerusalem College of Technology-Machon."

Similar presentations


Ads by Google