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

Slides:



Advertisements
Similar presentations
Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Advertisements

Autonomic Scaling of Cloud Computing Resources
Chapter 1 What is listening?
Standards Alignment A study of alignment between state standards and the ACM K-12 Curriculum.
CSC 480 Software Engineering
Chapter 13 Design Concepts and Principles
Introduction to Programming Using simple games to convey introductory concepts MERLOT International Conference 2004 Tracey Jensen Assistant Professor,
Statecharts and Object Orientation Everything you always wanted to know –But were afraid to ask.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
ITouch/iPhone SDK A study using Cognitive Dimensions.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
King Saud University College of nursing Master program.
PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield.
Cognitive Dimensions T R G Green See rs/introCogDims/index.html
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
An Investigation of Potential Success Factors for an Introductory Model-Driven Programming Course Michael Caspersen, Dept. of Computer Science University.
A Constructivistic Approach to Learning William G. Huitt, Ph.D. Valdosta State University Last revised: August 2000.
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
Instructional Sequencing By: Renetta Johnson Key Questions What is sequencing? What strategies are available to help sequence a unit? What are the benefits.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
Usability Evaluation of Digital Libraries Stacey Greenaway Submitted to University of Wolverhampton module Dec 15 th 2006.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
Class Diagram Notation Lecture Oo12 Classes Packages.
Karen Parks, Haibei Zhang, Huong Hoang -Fall EPSY 335 Learning Theories.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Introduction To System Analysis and Design
SOFTWARE DESIGN.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
POWERPOINT REVIEW Computer Technology. After reading the definition, think of the answer. Then, click to reveal the answer and see if you are correct.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Design Rules-Part B Standards and Guidelines
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Search & Rescue Ins and Outs Presented for use by Emory Arnold For.
UI Lab. 류 현 정 Ecological Interface Design: Progress and challenges Kim J. Vicente, University of Toronto.
StoryFlow: Tracking the Evolution of Stories IEEE INFOVIS 2013 Shixia Liu, Senior Member, IEEE, Microsoft Research Asia Yingcai Wu, Member, IEEE, Microsoft.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.
Task Analysis CSCI 4800/6800 Feb 27, Goals of task analysis Elicit descriptions of what people do Represent those descriptions Predict difficulties,
User Interface Evaluation Cognitive Walkthrough Lecture #16.
Cognitive Dimensions  Developed by Thomas Green, Univ. of Leeds  Used to analyze the usability of information artifacts  Applied to discover useful.
OVERVIEW Framework Overview – From Programming to Music Dimensions in Detail – Visibility, Progressive Evaluation, Consistency, Viscosity, Abstraction.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 5:User Interface Design Concepts Of UI Interface Model Internal an External Design Evaluation Interaction Information Display Software.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
 Introduction  Methodology  Case Study 1 : Event-B and RODN  Case Study 2 : B-Method and Atelier B  Observations and Analysis  Conclusion.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Examining issues with advanced authoring Chris Roast Andrew Dearden Babak Khazaei Sheffield Hallam University.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
DOCUMENTATION REF: Essentials of IT (Hamilton et al) Chapter 1.
Cognitive Dimensions  Developed by Thomas Green and Alan Blackwell  Enhanced by Marian Petre Marian PetreMarian Petre  Descriptions of aspects, attributes,
Managing Data Resources File Organization and databases for business information systems.
Teaching, Learning, Assessment
Task Analysis CSCI 4800/6800 Feb 27, 2003.
Unit 7 Part II: Cognition
Errors ECE 695 Alexander J. Quinn 3/9/2016.
Human Factors Issues Chapter 8 Paul King.
Model-Driven Analysis Frameworks for Embedded Systems
Informatics 121 Software Design I
Concept maps.
The design, implementation, integration and evaluation of a Statechart service. By Xin Bai Feb 7, 2002.
Chapter 12 cognitive models.
Presentation transcript:

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

Why are managers afraid of model-based development? It sounds good notation method/process tool

Why are managers afraid of model-based development?

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

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

Automobile Alarm

Why sw engineers do/don’t like models (2)

Key Characteristics of Engineering Models Abstraction Understandability Accuracy Predictiveness Inexpensive Brian Selic, “The Pragmatics of Model-Driven Development,” IEEE Software, Sept./Oct

Where measurements can help us manage model-based development Tool Evaluation People Evaluation Training Evaluation Model Evaluation

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,

Bottom Up Tool Evaluation

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.

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

Automobile Alarm-unaesthetic?

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

Statechart Complexity Metrics (2)

Automobile Alarm-too many of something?

Statechart Complexity Metrics: economy vs. explicity

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.

Automobile Alarm-CD deficiency?

Patterns to the rescue! resetting setOrNeutral setOrSetting set setting neutral [ settingCondition] [neutralCondition] tm(setTime)[IS_IN(setting)]/setAction [ resettingCondition]/resetAction [neutralCondition]/neutralAction /setup()

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

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

Automatization(2)

Automatization(3) off filling rinsing evStart/ itsTank->GEN(evTankFill) evFull Statechart of Dishwasher Statechart of Tank

Any questions?

Why engineers won’t use tools

Enter Professor Harel

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

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.

Level of Detail Diagram Type Application Type

How did the SHADOW get its name????? 2 Theories

Theory I Sikorsky Helicopter Advanced Demonstrator of Operator Workload

Theory II Jimmy Durante’s radio program and nose!

The SHADOW was top top secret!!!! Not members of the U.S. House of Representatives… Not even Senators… –Got to see the SHADOW

The SHADOW was top top secret!!!! But the King got to fly in it!

4 Helicopters were sent to fetch the King from Boston

It was raining, and the King decided that discretion was the better part of valour Coach More Women's handbags

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, 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

Bottom Up Tool Evaluation