M. Risoldi – SMV Group - Université de Genève 1 A 3-level approach for Control Systems GUI modeling with COOPN M. Risoldi.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

When is Orientated Programming NOT? Mike Fitzpatrick.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
A component- and message-based architectural style for GUI software
OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
Analysing Systems Failures (1) Main Principles: systems thinking.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Chapter 14: Object-Oriented Design
Modeling: where to start A state of the art and other amenities M. Risoldi - Oct. 11, 2005 A state of the art and other amenities M. Risoldi - Oct. 11,
BATIC 3 S Project BATIC 3 S Building Adaptive Three-dimensional Interfaces for Critical Complex Control Systems haute école valaisanne e i g école d’ingénieur.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Les Diablerets - 07/07/ M.Risoldi - SMV UniGe A 3-Levels approach to GUI development for complex control systems Matteo Risoldi.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
SE-565 Software System Requirements More UML Diagrams.
Chapter 10: Architectural Design
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Copyright GoldSim Technology Group LLC, 2005 Slide 1 Introduction to the GoldSim Reliability Module GoldSim Technology Group Issaquah, Washington USA.
Adam Schechter, PhD Coordinator: Systems, Compliance, Education Human Research Protection Program Yale University.
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
An Introduction to Software Architecture
User Interface Elements of User Interface Group View.
1 ICAS’2008 – Gosier, March 16-21, 2008 A Transformational Approach for Pattern-based Design of User Interfaces Costin Pribeanu Jean Vanderdonckt National.
Architecting Web Services Unit – II – PART - III.
Design Patterns Part two. Structural Patterns Concerned with how classes and objects are composed to form larger structures Concerned with how classes.
SOFTWARE DESIGN.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Lab 04.
Web Services Management Framework by Umut Bultan & Gül Hünerkar.
Distributed Information Retrieval Using a Multi-Agent System and The Role of Logic Programming.
Systems Analysis and Design in a Changing World, 3rd Edition
Automated GUI testing How to test an interactive application automatically?
Swing MVC Application Layering A Layer is a collection of components that Perform similar tasks. Perform similar tasks. Isolate implementation details.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Towards a Pattern Language for User Interface Design
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
The Process Manager in the ATLAS DAQ System G. Avolio, M. Dobson, G. Lehmann Miotto, M. Wiesmann (CERN)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
MPEG-4: Multimedia Coding Standard Supporting Mobile Multimedia System Lian Mo, Alan Jiang, Junhua Ding April, 2001.
1 CSE 331 Model/View Separation and Observer Pattern slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia.
1 Module: Enviance Glossary Speaking the Same Language.
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.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
ITEC1301 Object-Oriented Systems Construction Lecture Notes #4 1.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Services. What is a Service? A Service is not a separate process. A Service is not a thread. A Service itself is actually very simple, providing two main.
OOP - Object Oriented Programming
Coupling and Cohesion Rajni Bhalla.
Recent trends in estimation methodologies
Object-Oriented Analysis and Design
Architecting Web Services
Sequence Diagrams.
Architecting Web Services
Sequence Diagrams.
Unified Modeling Language
Analysis models and design models
An Introduction to Software Architecture
message manager 1-Way campaign
Presentation transcript:

M. Risoldi – SMV Group - Université de Genève 1 A 3-level approach for Control Systems GUI modeling with COOPN M. Risoldi

M. Risoldi – SMV Group - Université de Genève 2 Outline Introduction to the problem 3 levels of modeling –System model –Logical model –Visual model Levels interaction and transformation Status and outlook

M. Risoldi – SMV Group - Université de Genève 3 Problem Modeling a GUI for a control system using COOPN. Control system: a system used to monitor the state of a hardware apparatus, sending commands to and retrieving responses from its components. Components can be organized in a hierarchy. Commands can be sent to components, with or without parameters, to change or poll their state. Components can send messages to the interface notifying their state. External events can change component states independently from the interface. The communication between the interface and the system is subject to failures. Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook

M. Risoldi – SMV Group - Université de Genève 4 Different aspects of the problem There are 3 aspects to this problem: –Modeling the objects and their hierarchy –Modeling the interface logical aspects –Modeling the interface visual aspects Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook System model Logical model Visual model User Each can be taken into account with a level of modelization: A system model level A logical model level A visual model level

M. Risoldi – SMV Group - Université de Genève 5 System model level In the system model level we model the objects and their hierarchy. The objects themselves are represented by classes. This allows for different objects, and different types inside an object. Objects have methods and gates which express “low level” behavior and properties pertaining to the single object. Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook MyObject method1 method2 _ gate1 _ state s s s t method1 will read the internal state of the object and make it available on gate1 method2 will change the internal state of the object and make it available on gate1

M. Risoldi – SMV Group - Université de Genève 6 System model level The hierarchy of objects is attained through the use of contexts associated to objects. Contexts can be nested to express a composition of objects. Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook MyObject MyObjectContext method1 method2 _ gate1 _ MyObject MyObjectContext method1 method2 _ gate1 _ OtherObjectContext OtherObject OtherObjectContext OtherObject

M. Risoldi – SMV Group - Université de Genève 7 Logical model level Focuses on interaction at the level of the interface (but not considering the nature of the interface). At this level, objects are mapped to their logical representation, i.e. they acquire methods and properties which can be (in an abstract way) pertaining to a GUI object. Example: toggle, show details, show children objects… Must interact with the System model by translating actions to corresponding actions on objects. Must also retain abstract information about the “visual status” of an object, such as visibility, or a state indication. How this will be represented in the GUI is a task for the visual model level. Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook

M. Risoldi – SMV Group - Université de Genève 8 Logical model level Similarly to the System model level, the Logical model level has: classes representing the GUI control contexts enclosing classes which allow interaction with other levels and hierarchy of controls Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook MyLogObj MyLogObjContext method1 gate1 _ MyObjectContext MyObject

M. Risoldi – SMV Group - Université de Genève 9 Visual model level This is attaining the actual visual representation of objects in the interface. It should couple logical objects with an avatar, their visual projection, which can be of different nature (tree node, icon, 3d model, widget…). The avatar must allow interaction with the logical object (i.e. show its methods and properties). Also, it should probably add actions related to the used visual paradigm (e.g. open a tree node…). At this level, visual behavior of objects should be modeled (e.g. show all children should move the visualization down one level, whatever this means), giving a visual follow-up to abstract actions of the logical level. Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook

M. Risoldi – SMV Group - Université de Genève 10 Interaction of levels System model Logical model Visual model User Properties notification Physical objects methods Methods on interface objects Properties & Return values in abstract format Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook Logical and Visual levels have some methods/properties which stop at that level, and others which are sent/taken from the levels above and below. MyLogObj MyLogObjContext method1 gate1 _ MyObjectContext MyObject Interaction between Logical and System model

M. Risoldi – SMV Group - Université de Genève 11 Modeling failures Failures have to be taken into account that can be of different nature: Physical failures in an object Physical failures in the control of an object Communication failures between levels … (others?) These have to be modeled for simulation. It can be done with additional states/variables and conditions appropriate methods and gates to simulate failures/repairs Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook

M. Risoldi – SMV Group - Université de Genève 12 Climbing levels System model Classes: objects properties & behavior Contexts: hierarchy Logical model Classes: interface controls actions Contexts: interaction b/w objects and with System Visual model Classes: objects avatar + archive of representations Contexts: interaction with Logical level Mapping function Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook

M. Risoldi – SMV Group - Université de Genève 13 Why two levels for interface? Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook The logical interface model is “stable”; once defined the nature of the interaction, it is independent on the visual paradigm adopted. The visual level is incidental; in principle, a logical interface can be remapped to any (reasonable) visual paradigm. Possible outcome: use code “bricks” that can be assembled to automatically generate a GUI from the logical model. Have a Logical  Visual interface which allows to: understand the type of interaction with the control associate a widget to it This could be “skinnable” – different visual paradigms could be selected, and generate different interfaces for the same Logical model

M. Risoldi – SMV Group - Université de Genève 14 Status and Outlook Currently, the System and Logical model have been modeled and simulated in CoopnBuilder using a very simple example (a switch and light bulb control system). Upcoming work: Model and simulate failures Model and simulate hierarchy (more complex system) Verify scalability Prototype a visual model in CoopnBuilder Consider automatic code generation from the model Target scenario: Have a methodology which, from a Control System specification, can translate (automatically?) to COOPN and generate a GUI for it. Introduction 3 levels System Logical Visual Interaction & Transform. Status & Outlook