Discrete Interaction Design Specification Prof. Dr. Matthias Rauterberg Faculty Industrial Design Technical University of Eindhoven

Slides:



Advertisements
Similar presentations
Interaction Design: Visio
Advertisements

School of Computer Science & Software Engineering
Workflow Management Systems © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
1 SE-561 Formal Methods in Software Petri Nets - I.
An Introduction to Petri Nets
Principles of Engineering System Design Dr T Asokan
Based on: Petri Nets and Industrial Applications: A Tutorial
Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
Chapter 16 dialogue notations and design. Dialogue Notations and Design Dialogue Notations –Diagrammatic state transition networks, JSD diagrams, flow.
IE 469 Manufacturing Systems
Finite state machines.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
Petri Nets Overview 1 Definition of Petri Net C = ( P, T, I, O) Places P = { p 1, p 2, p 3, …, p n } Transitions T = { t 1, t 2, t 3, …, t n } Input.
XML Documentation of Biopathways and Their Simulations in Genomic Object Net Speaker : Hungwei chen.
Data and Knowledge Representation Lecture 6 Qing Zeng, Ph.D.
12/07/2007Jiacun Wang1 SE-561 Math Foundations Petri Nets - II Dr. Jiacun Wang Department of Software Engineering Monmouth University.
Lecture 6 & 7 System Models.
Component and Deployment Diagrams
Petri Net Modeling for dynamic MM composite Object.
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Finite State Machines – Page 1CSCI 1900 – Discrete Structures CSCI 1900 Discrete Structures Graphs and Finite State Machines Reading: Kolman, Sections.
PETRINETS Nipun Devlekar Zauja Lahtau. PETRINETS DEFINITION : DEFINITION :  PETRINET (place/ transition net): a formal, graphical, executable technique.
Rosen 5th ed., ch. 11 Ref: Wikipedia
Interaction Design Specification (lecture-6)
程建群 博士(Dr. Jason Cheng) 年03月
System Models Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 6 & 7.
Finite State Automata: A Brief Introduction CSE 260 / CMPSC 360 Doug Hogan Penn State University.
Finite-State Machines with Output
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
Virtual Storytelling Adam Abonyi Daniel Balaš. Agenda 1.Introduction to virtual storytelling 2.Petri Nets 3.Our improvements in Petri Nets 4.Example.
Stochastic Activity Networks ( SAN ) Sharif University of Technology,Computer Engineer Department, Winter 2013 Verification of Reactive Systems Mohammad.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
1 chapter 16 dialogue notations and design (pt 1).
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
Modelling by Petri nets
Ch5: Software Specification. 1 Petri Nets  Introduced by C. Adams Petri in  Widely used in the modeling and analysis of computer systems.  Basic.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Systems Analysis and Design in a Changing World, Fourth Edition
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
School of Computer Science & Software Engineering
CAP 4800/CAP 5805: Computer Simulation Concepts
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Petri-Nets and Other Models
2008/10E-Enterprise Integration - eEI1 Lecture 6 Petri Net Techniques for Modeling Workflows and Their Support of Reuse.
Lesson1 WORD BCOMP0101 Introduction to Information Technology Noris Bt. Ismail Faculty of Information and Communication Technology Tel :
Week 8 Computational Level
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VIII. Specifications (II)
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Concurrent Systems Modeling using Petri Nets
Dr. Eng Amr T. Abdel-Hamid
Clockless Computing COMP
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Finite State Machines.
Workflow Management Systems
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
Dynamic Modeling Lecture # 37.
CAP 4800/CAP 5805: Computer Simulation Concepts
Petri Nets Laurie Frazier.
Presentation transcript:

Discrete Interaction Design Specification Prof. Dr. Matthias Rauterberg Faculty Industrial Design Technical University of Eindhoven 6-April-2009

(c) M. Rauterberg, TU/e 2 Key references/literature: Lifecycle Model: Mayhew, D. (1999), The usability engineering lifecycle. Morgan Kaufmann. [ISBN ] STD: Gersting, J.L. (1999), Mathematical Structures for Computer Science. 4th Edition, Freeman. [ISBN: ] Horrocks, I. (1999), Constructingthe user-interface with statecharts. Addison- Wesley. [ISBN: ] PN: Reisig, W. (1992), A Primer in Petri Net Design. Springer. [ISBN: ]

(c) M. Rauterberg, TU/e 3 The Lifecycle Model

(c) M. Rauterberg, TU/e 4 The Usability Engineering Lifecycle [source: Mayhew, D. (1999)]

(c) M. Rauterberg, TU/e 5 User Interaction Specification Many approaches/notations to specifying interaction –State-Transition-Diagrams (STD) –Petri Nets (PN) Aim to provide more detailed descriptions of interaction between user and system Refinement of task model in terms closer to system Provides medium of discussion and review between human factors designers and systems developers

(c) M. Rauterberg, TU/e 6 State Transition Diagram (STD) state State transition Basic Elements State = set of values that describe an object (its condition/situation) at a specific moment in time {State is determined based on the attribute values} State transition = relationship indicating a state change {atomic (i.e. non-interruptible)}

(c) M. Rauterberg, TU/e 7 STD Example 1: Draw Circle Start Menu Circle1 Circle2 Finish Line1 Line2 Finish Select ‘circle’ Highlight ‘circle’ Select ‘line’ Highlight ‘line’ Click on centre Rubber band Click on first point Rubber band Click on circumference Draw circle Double click Draw last line Click on point Draw line and rubber band from new point

(c) M. Rauterberg, TU/e 8 STD Example 1 (cont’d) Start Menu Circle1 Circle2 Finish Line1 Line2 Finish Select ‘circle’ Highlight ‘circle’ Select ‘line’ Highlight ‘line’ Click on centre Rubber band Click on first point Rubber band Click on circumference Draw circle Double click Draw last line Click on point Draw line and rubber band from new point Press escape key Arc from each state back to menu Become messy!

(c) M. Rauterberg, TU/e 9 Hierarchical STD Example 2 Main Menu Select ‘graphics’ Pop-up submenu Graphics submenu Text submenu Paint submenu Select ‘text’ Pop-up submenu Select ‘paint’ Pop-up submenu Not more powerful, but more simple and flexible

(c) M. Rauterberg, TU/e 10 Hierarchical STD Example 2 (cont’d) Circle1 Circle2 Finish From Menu Click on centre Rubber band Click on circumference Draw circle Help submenu Press help button Press help button

(c) M. Rauterberg, TU/e 11 Petri Nets (PN) First introduced by Carl Adam Petri in A diagrammatic tool to model concurrency and synchronization in distributed systems. Very similar to State Transition Diagrams. Used as a visual communication aid to model the system behaviour. Based on strong mathematical foundation.

(c) M. Rauterberg, TU/e 12 PN: Building Blocks place counter transition Place for user input Basic Elements PN consists of three types of components: places (circles), transitions (rectangles) and arcs (arrows): –Places represent possible states of the system; –Transitions are events or actions which cause the change of state; And –Every arc simply connects a place with a transition or a transition with a place. arcs inhibitor

(c) M. Rauterberg, TU/e 13 PN: Formal Definition A Petri net (PN) is a 5 tuple PN (P,T,IN,OUT,M) where: P = {p1,p2,....,p~} is a finite set of places, T = {t 1, t 2, …,t n } is a finite set of transitions IN:(PxT)S OUT:(TxP)S M:Marking vector

(c) M. Rauterberg, TU/e 14 PN: Formal Definition (cont’d) IN are input functions defining directed arcs from places to transitions OUT are output functions defining directed arcs from transitions to places S is a set of all nonnegative integers k such that: If k = 1 a directed arc is drawn without a label If k > 1 a directed arc is drawn with label k. If k = 0 no arc is drawn.

(c) M. Rauterberg, TU/e 15 PN: Firing Rules for Transitions A specific transition t i is said to be enabled if each input place p i is marked with at least w(p i,t i ) tokens where w(p i,t i ) is the weight of the arc from p i to t i. An enabled transition may or may not fire depending on whether or not the event actually takes place. The firing of an enabled transition t i removes w(p i,t i ) tokens from each input place p i of t i, and adds w(p j,t i ) tokens to each output place p j of t i where w(p i,t i ) is the weight of the arc from input place p i to t i, and w(p j,t i ) is the weight of the arc from t i to output place p j

(c) M. Rauterberg, TU/e 16 PN: Change of States (1) is denoted by a movement of token(s) (black dots) from place(s) to place(s); and is caused by the firing of a transition. The firing represents an occurrence of the event or an action taken. The firing is subject to the input conditions, denoted by token availability.

(c) M. Rauterberg, TU/e 17 PN: Change of States (2) A transition is firable or enabled when there are sufficient tokens in its input places. After firing, tokens will be transferred from the input places (old state) to the output places, denoting the new state. Note that the examples are Petri nets representation of a finite state machine (FSM). PNs are much more powerful to model systems beyond FSMs.

(c) M. Rauterberg, TU/e 18 PN: basic modeling (1)

(c) M. Rauterberg, TU/e 19 PN: basic modeling (2)

(c) M. Rauterberg, TU/e 20 PN: basic modeling (3)

(c) M. Rauterberg, TU/e 21 PN Example: Font Selection Bold on Bold off User presses bold T1 T2 Italic on User presses italic T3 T4 User presses italic Italic off User presses bold

(c) M. Rauterberg, TU/e 22 PN Example: a finite-state machine (1) Consider a vending machine It accepts either nickels or dimes Sells 15c or 20c candy bars The vending machine can hold up to 20c Coin return transitions are omitted the next slides are the state diagram of this vending machine which represented by the Petri net Any finite-state machine (or its state diagram) can be modeled with a state machine.

(c) M. Rauterberg, TU/e 23 PN Example: a finite-state machine (2)