Visual Modelling R J Walters. Introduction Motivation The Language The tools An example Conclusion.

Slides:



Advertisements
Similar presentations
1 Data Link Protocols By Erik Reeber. 2 Goals Use SPIN to model-check successively more complex protocols Using the protocols in Tannenbaums 3 rd Edition.
Advertisements

Generating test cases specifications for BPEL compositions of web services using SPIN José García-Fanjul, Javier Tuya, and Claudio de la Riva Pointner.
When is Orientated Programming NOT? Mike Fitzpatrick.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Database Systems: Design, Implementation, and Management Tenth Edition
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Object-Oriented Analysis and Design
Intro to Threading CS221 – 4/20/09. What we’ll cover today Finish the DOTS program Introduction to threads and multi-threading.
Visual Formal Methods R J Walters. Introduction Motivation The Language The tools An example Conclusion.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
Application architectures
Cosc 4755 Phone programming: GUI Concepts & Threads.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
More on RDT Robert John Walters. RDT – a reprise A Graphically based formal modelling language Models represented as diagrams (not text) Communications.
Implementing Hierarchical Features in a Graphically Based Formal Modelling Language Peter Henderson, Robert John Walters and Stephen Crouch Department.
© 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.
© Copyright Eliyahu Brutman Programming Techniques Course.
Automating Checking of Models Built Using a Graphically Based Formal Language Robert John Walters.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
An Introduction to Rational Rose Real-Time
Application architectures
Introducing JavaBeans Identify the features of a JavaBean Create and add a bean to an application Manipulate bean properties using accessor and mutator.
Coming up: Interaction Diagrams
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
Introduction to LabVIEW
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Visual Basic Advanced Programming.
Java Petstore : A Case Study Rohit Nambiar July 2005.
Introduction to MDA (Model Driven Architecture) CYT.
DWL TOOL FOR CREATING A CUSTOMIZED WEB-BASED SYSTEM GENERATOR Ling-Hua Chang, Sanjiv Behl, Tung-Ho Shieh, Chin-Chih Ou.
GEOREMINDERS ANDROID APPLICATION BY: ADRIENNE KECK.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
System Analysis System Analysis - Mr. Ahmad Al-Ghoul System Analysis and Design.
Basic Controls & Properties Chapter 2. Overview u VB-IDE u Basic Controls  Command Button  Label  Text Box  Picture Box u Program Editor  Setting.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI

UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
© ABB University - 1 Revision B E x t e n d e d A u t o m a t i o n S y s t e m x A Chapter 21 Function Designer Course T314.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
 What to do if you want to build a new house? › Buy a bunch of wood and nails and start immediately. › Or, put some blueprints to follow, and plan of.
Recen progress R93088 李清新. Recent status – about hardware design Finishing the EPXA10 JPEG2000 project. Due to the DPRAM problem can’t be solved by me,
Chapter – 8 Software Tools.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
UML Diagrams By Daniel Damaris Novarianto S..
Event Loops and GUI Intro2CS – weeks
Unified Modeling Language
UML Diagrams Jung Woo.
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
What is a Relationship Map?
Unified Modeling Language
Implementing the Standardised Mapping of TDL to TTCN-3
Social Practice of the language: Describe and share information
Presentation transcript:

Visual Modelling R J Walters

Introduction Motivation The Language The tools An example Conclusion

Issues in threaded and distributed systems Connecting the parts Getting the result to make sense

RaDraw A tool for generating RolEnact models

Background: RolEnact A tool for investigating the behaviour of Role based models First models built using “raw” Enact code Now has –simplified language –32 bit implementation

A RolEnact model running Separate (named) window for each instance of a Role First line inside window shows present state of Role List of possible actions Perform an action and all Roles re-evaluate their state

“Raw” RolEnact code class Control < Role. class Counter < Role. Control.addEvent('New_counter). Control.New_counterReady():= self.inState('initial). Control.New_counterDoit():= (self.setState('initial); self.Counter:= Counter.create(); self.Counter.Control:=self). Counter.addEvent('Enquire). Counter.EnquireReady():= self.inState('initial) and Account_System.exists('initial). Counter.EnquireDoit():= (self.setState('waiting ); aRole:=Account_System.choose('initial); aRole.setState('searching ); self.Account_System:=aRole; aRole.Counter:=self).

New RolEnact code Create Control.New_counter Me( initial -> initial= ) New Counter End Selection Counter.Enquire Me( initial -> waiting ) Account_System( initial -> searching ) End Better, but still “too hard” for target users

RaDraw A friendly front end Displays RE model as code or a diagram Can build and edit a model Calls RolEnact to run a model

But Diagram and code are not equivalent Difficulty with what the diagram means … I wanted to do something better

RDT Draw your processes (components) Draw how they are connected Run the model in the execution tool Use a model checker on it - SPIN * Limitations are accepted in exchange for ease of use

RDT: Processes Process has state Displayed as a picture Built using system of dialogue boxes 3 types of event –Receive –Send –Create

RDT: Events, Receive

RDT: Events, Send

RDT: Events, Create

An example process

RDT: Models Add instances of processes to your model Describe how these instances are (initially) connected

Models: Process Instances

Models: Connections

Example model

What next? Execute the model Use a model checker on it

Channels: Communication in RDT is based on that used in the pi-calculus Similar identity between values and channels RDT also permits asynchronous communication –Need channels in the execution tool

Executing the model Each Process instance has a window which shows: –Name and type –State –List of available actions –List of local channel names mapping these to instances of channels

Executing the model Each Channel (instance) has a window which shows: –Name –List of values held in the channel

The Execution tool

Conclusion Language, model construction tool, execution tool, translation tool Builds formal models using “informal” methods