State Machines & User Interfaces Author:Brian O’Byrne Presented By: Dongkai Hu.

Slides:



Advertisements
Similar presentations
Chapter 29 State Machine Diagrams Sate Machine Diagrams Represent state of an object Behavior as reaction to events.
Advertisements

Toward an Agent-Based and Context- Oriented Approach for Web Services Composition IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 17, NO. 5,
From Ontology Design to Deployment Semantic Application Development with TopBraid Holger Knublauch
COM vs. CORBA.
Software Architectural Design Software Components Instructor Dr. Lawrence Chung.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Chapter 1 Object-Oriented System Development
Liang,Introduction to Java Programming,revised by Dai-kaiyu 1 Chapter 10 Object-Oriented Modeling.
Vending Machine FSM Benjamin Welton 03/20/2010 CS 480.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
Generic Simulator for Users' Movements and Behavior in Collaborative Systems A Application D Design D Document Alex Surguch, Niv Saar, Mattan Margalith,
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Deploying an Application on the Cloud Chapter 4. Topics Your experience with Google App Engine and mine with Pop!World Web application Architecture Machine.
Copyright © Stanford Linear Accelerator Center 2002 All rights reserved Copyright © Stanford Linear Accelerator Center 2002 All rights reserved Accelerator.
Course Instructor: Aisha Azeem
Where Do I Start REFERENCE: LEARNING WEB DESIGN (4 TH EDITION) BY ROBBINS 2012 – CHAPTER 1 (PP. 3 – 14)
WebQuilt and Mobile Devices: A Web Usability Testing and Analysis Tool for the Mobile Internet Tara Matthews Seattle University April 5, 2001 Faculty Mentor:
CRM WEB UI – ARCHITECTURE- DEFINITIONS For More details please go to
Mobile Computing Lecture: 4.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Java Web Development with NetBeans IDE -- Kai Qian Chapter 5 JavaServer Faces (JSF) Technology.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
9 Systems Analysis and Design in a Changing World, Fourth Edition.
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.
Unified Distributed (UDub Mail) Life Cycle Objectives Sachin Pradhan Gabriel Maganis.
Software Design: Principles, Process, and Concepts Getting Started with Design.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
UML (Unified Modeling Language)
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
UCI Expectation-Driven Event Monitoring (EDEM) David Hilbert, David Redmiles
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Rational Rose For System Design What is Rational Rose? Rational Rose is the visual modeling software solution that lets you create, analyze, design,
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
GUI Programming In Java Sagun Dhakhwa BIM, HSM. GUI Appllications Event Driven OOP Uses objects of Classes like in any other Java programming.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Mary Ganesan and Lora Strother Campus Tours Using a Mobile Device.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
J2EE Platform Overview (Application Architecture)
Introduction to .NET Florin Olariu
Software Design Refinement Using Design Patterns
Structure of a web application
Multilevel Marketing Tree Viewer
MVC and other n-tier Architectures
New Mexico State University
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Model-View-Controller (MVC) Pattern
Software models - Software Architecture Design Patterns
JavaServer Faces: The Fundamentals
Introduction UI designer stands for User Interface designer. UI designing is a type of process that is used for making interfaces in the software or the.
State Machine Diagrams
WPS - your story so far Seems incredible complicated, already
Presentation transcript:

State Machines & User Interfaces Author:Brian O’Byrne Presented By: Dongkai Hu

When designing software, the application has two parts: 1.USER INTERFACE [UI] 2.MODEL

MODEL: Represents the problem to be solved. It has no UI and no concept of how users might interact with it. It is accessed through a set of APIs

UI Let users exploit the model to perform necessary tasks. The UI depends upon the model and is a client to the model’s services.

Fig 7. The complete MVC Architecture for a Thin-Client Web Application

When applying MVC approach to design on server side, you find yourself with two projects that, while interdependent, have different requirements and priorities. One project is concerned with producing an accurate model of the problem and providing services for the UI. The other is focused on producing a UI appropriate for your users.

To solve the problem, we introduce state machine concept on MVC style design [the current state + an event + some conditions] determines [the actions + the next state]

The author use java to write a software called JStateMachine. JStateMachine is freely available software project to control a UI at run time by keeping it within the bounds of a statechart, this state machine lets you produce your own MVC-like-view and controller classes, and link them through a representation of statecharts.

The key to JStateMachine’s control is a representation of the Statechart that it keeps in memory while the application is running.So it can handle: Transactional conversations Default states Application exceptions

What can JStateMachine do? UI classes and Instances Event Processing Writing the UI AutoViews ExceptionHandling Access Control

Conclusion User interfaces can benefit greatly from the behavioral definition given by finite state machine concept and state chart diagram notation. This behavioral definition is largely independent of the appearance or deployment technology used. The JStateMachine framework is a good example that lets you make best use of such a definition by referring to the statechart while the UI is running and ensuring the chart is following at all times. With the definition available at run time, it is easy to include extras such as access control, exception handling, and rapid prototyping.