Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,

Slides:



Advertisements
Similar presentations
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Advertisements

IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Statecharts Semantics
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Hover Widgets: Using the Tracking State to Extend the Capabilities of Pen-Operated Devices Adaptive Systems and Interaction Research Group Microsoft Research.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Brief Introduction to Java and C# Dahai Guo Oracle Certified Java Programmer (SCJP) Associate Professor and Program Director Software Engineering Program.
Lecture 12: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools Brad Myers Advanced User Interface.
DENIM A Brief Tutorial By Philip Luedke. Introduction An Informal Tool For Early Stage Web Site and UI Design Early Stage Web Site and UI Design DENIM.
DENIM: Finding a Tighter Fit with Web Design Practice James Lin, Mark W. Newman, Jason I. Hong, James A. Landay April 6, 2000 CHI 2000, The Hague
CS 425/625 Software Engineering System Models
Combining Informal and Tangible Interfaces for Early Stages of Web Site Design Raecine Sapien Mentor: Mark Newman Professor: Dr. James Landay This presentation.
An Overview of QuickSet, from OGI  Cohen, P. R., Johnston, M., McGee, D., Oviatt, S., Pittman, J., Smith, I., Chen, L., and Clow, J. (1997). QuickSet:
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
Nov Jason Hong and James Landay University of California Berkeley Group for User Interface Research.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
CS 290C: Formal Models for Web Software Lecture 2: Modeling States with Statecharts Instructor: Tevfik Bultan.
1 Lecture 13: Demonstrational Tools Brad Myers Advanced User Interface Software.
Learn how to make your drawings come alive…  COURSE: SKETCH RECOGNITION Analysis, implementation, and comparison of sketch recognition algorithms, including.
Using the Java programming language compiler. Review of relevant material from previous lectures From previous lectures: A computer can only execute machine.
L1 Sketch Tools Advanced HCI Beryl Plimmer. Agenda What’s the difference between a keyboard and a pencil?
Using Journal and Other Tablet PC Tools. Outcomes Software  Intro to Sticky Notes  Intro to Ink Desktop  Intro to using Windows Journal Tools and uses.
Jia Sheng, DGP, Sketching for Interface Design Jia Sheng
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
M1G Introduction to Programming 2 4. Enhancing a class:Room.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
What We Can Learn From SILK and DENIM Presenter: Shahla Almasri COMP 762B: Modelling and Simulation Based Design March 2 nd, 2005.
Chapter 3: Using GUI Objects and the Visual Studio IDE.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Scott Klemmer Michael Thomsen Ethan Phelps-Goodman Robert Lee James Landay 23 April 2002 ACM SIGCHI Minneapolis, MN Where Do Web Sites Come From? Capturing.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Selected Topics in Software Engineering - Distributed Software Development.
Generating Abstract User Interfaces from an Informal Design Adrien Coyette University of Louvain Information Systems Unit Louvain-la-Neuve BELGIUM.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Lecture 15: Demonstrational Tools Brad Myers Advanced User Interface Software 1.
SkyNET Visualization Team Demo and Architecture Overview.
Youngil Kim Awalin Sopan Sonia Ng Zeng.  Introduction  Concept of the Project  System architecture  Implementation – HDFS  Implementation – System.
Gesture Input and Gesture Recognition Algorithms.
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
The Omondo EclipseUML plug-in David Gallardo. What is UML A graphical language Not a development method It was designed for RUP—the Rational Unified Process,
Abstract Writing Workshop Grady Gauthier Jason I. Hong EECS Department University of California at Berkeley.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Chapter 5 – Software Tools. 5.1 Introduction Tools valuable for –Specification –Interface Building –Evaluation.
Introduction to CADStat. CADStat and R R is a powerful and free statistical package [
ArgoUML Peterson Lorins Chi-Hwa John Marcos Dawid Trawczynski Leticia Izquierdo EEL5881 Software Engineering I Spring 2002 – Dr. Schiavone.
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Workstation Software Framework 2 (WSF2)
Jython Environment For Students (JES) Final Presentation Team 3 David Raines Claire Bailey Jason Ergle Josh Sklare July 16,
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Sketch Tools L2 Advanced HCI. Agenda What is the problem with computer-based design tools? Why a toolkit? Framework Implementation Does it work? What.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Automata Editor Tool with GEF and EMF
Gesture Input and Gesture Recognition Algorithms
Systems Analysis and Design With UML 2
Design AH Computing.
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
UML Activity Diagrams & State Charts
Unit# 6: ICT Applications
Real-Time Systems, COSC , Lecture 18
Presentation transcript:

Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th, 2005

Agenda Implementation Details SATIN Introduction to Statecharts TSS Syntax Demo Conclusion Future work

Implementation Details TSS is written in Java using JDK 1.5 and SATIN Can be run on any machine that has JDK 1.4 or higher. It can be run using a stylus or a mouse. 1. Refer to reference [2] for detailed information.

Agenda Implementation Details SATIN Introduction to Statecharts TSS Syntax Demo Conclusion Future work

SATIN Sketch and Transformational Infrastructure ( atin/) atin/ An open-source toolkit for developing informal ink-based applications. It only supports 2D applications.

SATIN (cont.) Built using JDK 1.3. SATIN is a layer on top of Swing. This figure is taken from reference [2].

SATIN (cont.) SATIN comes with Quill, which is a tool for designing gestures for pen- based applications. SATIN framework comes with Rubine’s 1 recognition algorithm, but other recognition algorithm can easily be plugged in. 1. Dean Rubine. “Specifying Gestures by Examples,” Computer Graphics. ACM SIGGRAPH’91 Conference Proceedings. 25(3): pp , July, 1991.

Agenda Implementation Details SATIN Introduction to Statecharts TSS Syntax Demo Conclusion Future work

Introduction to Statecharts An extension of finite state automata. Invented by David Harel in the late 1980s. It was adopted by UML for describing reactive behavior.

Agenda Implementation Details SATIN Introduction to Statecharts TSS Syntax Demo Conclusion Future work

TSS Syntax Statecharts notations Supported characters Supported commands How gestures are interpreted Statechart diagram validation

Statecharts’ Notations NotationHarel’sTSS States Default States Recognized as state, therefore transformed to Recognized as default state, therefore transformed to

Statecharts’ Notations (cont) NotationHarel’sTSS Composite States Not supported Orthogonal States Not supported

Statecharts’ Notations (cont.) NotationHarel’sTSS Transitions LabelsAny characters a – z,., /, [, and ] Recognized as transition, therefore transformed to

Supported Characters d e f a b c

Supported Characters (cont.) j k l g h i

p q r m n o

v w x s t u

[ ] / y z..

Supported Commands CommandGesturePie Menu Item NewNoneYes SaveNoneYes OpenNoneYes Change Color NoneYes

Supported Commands (cont.) CommandGesturePie Menu Item ScrollNo CopyYes

Supported Commands (cont.) CommandGesturePie Menu Item CutYes PasteYes

Supported Commands (cont.) CommandGesturePie Menu Item UndoYes RedoYes

Supported Commands (cont.) CommandGesturePie Menu Item DeleteYes Edit Labels No

How interpretation works

Statechart Diagram Validation A valid statechart diagram has to have a default state.

Agenda Implementation Details SATIN Introduction to Statecharts TSS Syntax Demo Conclusion Future work

Demo

Conclusion SATIN saves time by providing a concrete framework for pen-based applications. It provides many of the common features in pen-based applications

Conclusion It is hard to design gestures that are easy to learn by humans and easy to recognize by computers 1. Studies found that users who are used to using PDAs are better at designing “good” gestures Refer to reference [3].

Remaining work Fix some known bugs: –Cannot edit transitions’ labels. –When opening a saved file, transitions’ labels do not show up. –Non-recognized objects are not saved. –Cannot select labels. –Moving, resizing, and deleting states and transitions don’t always work. Write the report.

Future work Support composite and orthogonal states. Keep transitions the way they were drawn.

References [1] David Harel, “Statecharts: a visual formalism for complex system,” Science Computer Program, Vol 8, pp , [2] Jason I. Hong and James A. Landay, "SATIN: A Toolkit for Informal Ink- based Applications." In UIST 2000, ACM Symposium on User Interface Software and Technology, CHI Letters, 2(2), p

References (cont.) [3] Allan Christian Long, Jr., James A. Landay, and Lawrence A. Rowe, "Implications for a Gesture Design Tool." In Proceedings of Human Factors in Computer Systems: CHI 99, Pittsburgh, PA, May 15-20, 1999, pp