Université Toulouse I 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues.

Slides:



Advertisements
Similar presentations
From Model-based to Model-driven Design of User Interfaces.
Advertisements

University of Rostock 1 CADUI' June FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.
Based on: Petri Nets and Industrial Applications: A Tutorial
Lecture # 2 : Process Models
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 June 8, 2006Dynamic Workflow Modeling and Analysis J. Wang and R. Rosca Department of Software Engineering Monmouth University.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Engineering COMP 201
Designing the system Conceptual design and technical design
Capturing the requirements
Object-Oriented Databases
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Establishing the overall structure of a software system
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Implementation support CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Data Structures and Programming.  John Edgar2.
Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6: The Traditional Approach to Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
FH Augsburg - FB Informatik 1 CADUI' June FUNDP Namur Software Life Cycle Automation for Interactive Applications: The AME Design Environment.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
1 Formal Notations and Tools for addressing both Safety and Usability concerns for Interactive Systems Philippe Palanque LIIHS-IRIT University Paul Sabatier.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Implementation support z programming tools y levels of services for programmers z windowing systems y core support for separate and simultaneous user-system.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Université Toulouse I 1 CADUI' June FUNDP Namur Automatic Ergonomic Evaluation : What are the Limits ? Christelle FARENC *, Véronique LIBERATI.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Univ. Autónoma de Madrid 1 CADUI' June FUNDP Namur A Framework for the Automatic Generation of Software Tutoring Javier Contreras Francisco.
1 CADUI' June FUNDP Namur Defense Science & Tech. Org. Declarative interaction through interactive planners Conn V Copas Defence Science.
S. Wilson and P. Johnson 1 CADUI' June FUNDP Namur Bridging the Generation Gap: From Task Models to User Interface Designs Stephanie Wilson.
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
Stanford University 1 CADUI' June FUNDP Namur The Mecano Project Angel R. Puerta Knowledge Systems Laboratory Stanford University Stanford.
TRIGONE Laboratory LIS Laboratory 1 CADUI' June FUNDP Namur The DIANE+ Method Jean-Claude TARBY TRIGONE Laboratory University Lille 1 LILLE.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
ProShell Procedure Framework Status MedAustron Control System Week 2 October 7 th, 2010 Roland Moser PR a-RMO, October 7 th, 2010 Roland Moser 1.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CS223: Software Engineering
Chapter – 8 Software Tools.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Requirements Specification
Part 3 Design What does design mean in different fields?
Analysis models and design models
Modular design of domain-specific languages
Dynamic Modeling Lecture # 37.
Implementation support
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
Implementation support
Presentation transcript:

Université Toulouse I 1 CADUI' June FUNDP Namur Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues Rémi Bastide, Philippe Palanque L.I.S Université Toulouse I Toulouse (France)

Université Toulouse I 2 CADUI' June FUNDP Namur Goals of the ICO formalism Describe the dialogue structure of event-driven interfaces with high-level Petri nets Integrate cleanly with current software engineering practice –UIMS to build the interface –Object-oriented modelling for the design of the application

Université Toulouse I 3 CADUI' June FUNDP Namur From Specification to Implementation –The specification work must not be thrown away at the implementation stage. –First option : generating code from the specification Advantage : conventional implementation tools and languages. –Second option : directly interpret the specification (embedded models) Advantage : rapid prototyping is made easier Use the embedded model at run-time, e.g. for debugging or for providing contextual help

Université Toulouse I 4 CADUI' June FUNDP Namur Event-driven vs. "hard" reactive systems Easier : –No true concurrency, "cooperative multitasking", no interrupts, critical sections, etc. Tougher : –The internal state must always be perceptible by the user –Each user action must have an immediate feedback

Université Toulouse I 5 CADUI' June FUNDP Namur Why use Petri nets –State and event on an equal basis –Structuring mechanisms hierarchical refinement (macros) composition mechanisms (client-server protocol) –Easy description of parallelism –Timed-Petri nets for temporals aspects (timed places and timed transitions) –Formal validation available

Université Toulouse I 6 CADUI' June FUNDP Namur Petri nets and objects formalism –Places are the state variables of the system system state = current marking marking of a place = set of object references –Arcs are labeled by variables, stating the flow of object references in the net –Transitions are the state changing operators featuring a precondition, testing the values of the objects of the incoming places an action, triggering methods on the selected objects

Université Toulouse I 7 CADUI' June FUNDP Namur Petri nets in Interactive Applications Presentation Dialogue Application User Component Control Interface Model Non interactive application kernel Events Function callsMethods calls UIMS (interactors) High-level Petri nets (ObCS) C++ tokens Object model

Université Toulouse I 8 CADUI' June FUNDP Namur Example : The "Presentation" component

Université Toulouse I 9 CADUI' June FUNDP Namur Example : the Dialogue

Université Toulouse I 10 CADUI' June FUNDP Namur Automatic code generation Generation Transformation of the OBCS ObCS of the ICOS Marking tree Marking graph State / Transition matrix ATN State / Service matrix Code Application code

Université Toulouse I 11 CADUI' June FUNDP Namur ATN of the dialogue Registers state 1 state 2 States correspond to the following markings of places (default, selected, edited, list): state 1 : (1, 0, 0, 0) state 2 : (0, 1, 0,  ) state 3 : (0, 0, 1,  ) state 4 : (0, 0, 0,  ) n : number of tokens in the list place state 3 state 4 Delete //n=0 Replace Edit Add / n++ Add Select // n>0Delete/n--/ n>0 Reset Quit Edit

Université Toulouse I 12 CADUI' June FUNDP Namur Example of a generated event- handler Callback procedure ADD; Switch (CurrentState) { // test of the state variable case state1 : // no pre-condition to test // semantic action Create New Customer; // add the tuple o to the table // state changing CurrentSate = State2 // change the current state // feedback of the commands available in the new state disable(PushButtonAdd) disable(PushButtonReset) disable(PushButtonReplace) enable(PushButtonClose_Box) enable(PushButtonDelete) enable(PushButtonListBox) case state2 :...

Université Toulouse I 13 CADUI' June FUNDP Namur The «semi-interpreted» environment

Université Toulouse I 14 CADUI' June FUNDP Namur Object model for the abstract interpreter

Université Toulouse I 15 CADUI' June FUNDP Namur The abstract class "Transition"

Université Toulouse I 16 CADUI' June FUNDP Namur A concrete transition and its corresponding derived class

Université Toulouse I 17 CADUI' June FUNDP Namur Perspectives Evolution of the tool –Enhance the coupling between the UIMS and the Petri net editor –Take into account distributed (CSCW) interfaces Evolution of the method –Model the user's behaviour (task) as well as the system's –Task model and system model cross-Verification

Université Toulouse I 18 CADUI' June FUNDP Namur Thank you for your attention!