Refinement Using µ-charts: The Compaq Grand Slam Cup Case Study Revisited

Size: px
Start display at page:

Download "Refinement Using µ-charts: The Compaq Grand Slam Cup Case Study Revisited"

Transcription

1 Refinement Using µ-charts: The Compaq Grand Slam Cup Case udy Revisited Hubert Baumeister Institut für Informatik Universität München Oettingenstr München, Germany Christoph Maier FAST e.v. Arabellastr München, Germany Martin Rappl Institut für Informatik TU München Arcisstr München, Germany Peter Scholz BMW Technik GmbH München, Germany Abstract In practice, software systems are often developed on an ad hoc basis using at most some semi-formal diagrams to describe the desired system behavior. This often leads to systems with unintended behavior. One also lacks the means to prove properties of the system. On the other hand, a lot of formal specification formalisms exist that allow to specify a system in a formal way and prove properties of the system. However, these formalisms are considered as not applicable to real world software engineering by practitioners. In this paper, we try to refute this consideration by specifying a real world application, the Compaq Grand Slam Cup live scoring board [2], with µ-charts [5], a statecharts-like formal specification method. Keywords: Formal Specification, Refinement, atecharts, Case udy 1 Introduction In practice, software systems are often developed on an ad hoc basis using at most some semi-formal diagrams to describe the desired system behavior. This often leads to systems with unintended behavior. One also lacks the means to prove properties of the system. On the other hand, a lot of formal specification formalisms exist that allow to specify a system in a formal way and prove properties of the system. However, these formalisms are considered as not applicable to real world software engineering by practitioners. In this paper we try to refute this consideration by specifying This work was partially supported by the Bayerische Forschungsstiftung. appeared in the proceedings of the 17th Annual AoM/IAoM conference on computer science, San Diego, California USA, August 6 8, 1999, Number 2 Part B, pages Maximilian Press Publishers baumeist@informatik.uni-muenchen.de cma@fast.de rappl@in.tum.de Peter.Scholz@bmw.de a real world application, the Compaq Grand Slam Cup live scoring board [2], with µ-charts [5], a formal specification method. The formalism of µ-charts is a dialect of the well known statecharts by Harel [1], with a precise definition of syntax and semantics and a refinement calculus. The requirements of the system, which is formally developed in this paper, are taken from a case study done within the FORSOFT project A2 Distributed Systems in Open Networks 1 in the context of the Internet Web site engineering for the Compaq Grand Slam Cup 1997 in Munich [2]. This site includes an applet to watch a live scoring of the current game via Internet. To this end, two applications were designed and developed: the applet itself and a server to read the scoring data and generate the data feed for the applet. The design of these applications is used to demonstrate the practical relevancy of µ-charts in the development of Internet applications. The paper is structured as follows: in Section 2, we give a short introduction to the statechart formalism and define the syntax and semantics of our dialect, the µ-chart formalism. Next, the refinement calculus for µ-charts is introduced. Based on this theory, the specification of the two applications is developed step by step in Section 3, by applying the rules of the refinement calculus. The paper concludes with a short summary of the advantages gained by using a formal specification method. 2 µ-charts This section introduces µ-charts, which are a visual formalism for the state-based description of reactive systems. Despite of being a visual formalism, µ-charts have welldefined syntax and a formal semantics. In Scholz [4] a design process, based on µ-charts, is presented, comprising abstract description of reactive systems, systematic transformation of abstract specifications into detailed specifica

2 tions and formal verification through model checking. µ- charts are a variant of Harel s statecharts [1], which, however, avoid the semantic problems and inconsistencies of the latter and are therefore better suited as a basis for distributed implementations of a specification. The basic building block of µ-charts are sequential automata. More complex µ-charts can be built from other µ- charts by using parallel composition, hierarchical decomposition and hiding. With every µ-chart S there is associated an input interface In Sµ, consisting of a set of input signals and an output interface Out Sµ, which is a set of output signals, such that In Sµ and Out Oµ are disjoint. An input event is a finite subset of In Sµ and an output event a finite subset of Out Sµ. Given an infinite sequence of input events, a µ-chart S produces an infinite sequence of output events. S may be deterministic; in this case S produces always the same sequence of output events for a given sequence of input events. If S is non-deterministic, S may produce different sequences of output events for the same sequence of input events. Thus, the denotation of a µ-chart is a relation between the set of infinite sequences of input events and the set of infinite sequences of output events. 2.1 Sequential Automata A sequential automaton consists of states and transitions. ates are shown as rectangles with rounded corners and transitions by arrows from the source state to the target state. Each state has a name, which is written inside the rectangle; however, if not needed further, the name of a state may be omitted. The execution of sequential automata is based on a discrete time model. At each instant in time, a sequential automaton is in exactly one state. At the beginning it is in one of the states marked as initial by an arrow going from a small solid filled circle to the initial state. Note that in the case of several initial states, an arbitrary of these states is chosen. µ-charts have no final state as they are intended to model the behavior of reactive systems, which react forever and thus do not terminate. Transitions have labels of the form condition/action. An automaton can proceed in one step from one state to another via a transition, performing the action associated with that transition, if its condition evaluates to true. If there are several transitions whose conditions evaluate to true, one of these transitions is chosen at random. A particular feature of µ-charts is their behavior if there exists no transition whose condition evaluates to true. In this case, the behavior of the automaton is chaotic, that is, it may perform any action. To ease writing, the condition part and/or the action part may be omitted. A missing condition part means that the transition can be always performed and a missing action part means that no actions are performed. A condition is either a signal, which means that the condition is true if this signal occurs in the current input event, or a condition is a boolean expression built from other conditions with its usual semantics. For example, for the expression s to be true, the signal s may not occur in the current input event. An action is either skip, which means that no action is performed, a signal s, which means that if the action is executed then the signal s occurs in the current output event, or the parallel composition of two actions a 1 and a 2, denoted by a 1 a 2. In addition, a set of integer variables V l is associated to an automaton; the conditions can refer to the value of these variables and actions can modify them. The initial values of the variables are given as statements key value as part of the initial states. Thus, the syntax of conditions c and actions a is as follows: c :: true false e 1 e 2 e 1 e 2 s i c c 1 c 2 a :: skip Y : e s o e 1 e 2 where s i is an input signal, s o an output signal, Y ¾ V l denotes a variable, n an arbitrary integer and e 1 and e 2 are arithmetic expressions given by: e :: n Y e 1 binop e 2 Here binop denotes the usual binary operations on integers, such as addition, subtraction or multiplication. The input interface of an automaton is the collection of all signals used in the condition part of a transition and the output interface is the collection of all signals used in the action part of some transition. stop stop/x : 0 running stopped x 0 tick/x : x 1 tick start Figure 1: Example of a Sequential Automaton As an example of a sequential automaton, Fig. 1 shows a model of a stopwatch. The input interface consists of the signals start, stop and tick and the output interface is empty. In the initial state the variable x is 0 and the stopwatch is in state stopped. The signal tick models the ticks of a global clock. While in stopped, the signal tick does not change the value of x. When pressing the start button, modeled by the signal start, the automaton moves to state running. While in running, the signal tick increments x by one. When receiving stop, the automaton moves to state stop again. Note that this transition does not reset x to 0. This only happens when receiving stop in state stopped. 2

3 2.2 Parallel Composition Parallel composition is used to construct new µ-charts from other µ-charts by executing them in parallel. The composition is synchronous, that is, there is a common system clock and all the component advance simultaneously at the tick of that clock. Interaction between the components may occur if the input interfaces of the components share signals with the output interfaces. Let S 1 and S 2 be two µ-charts and L be a subset of the set of signals occurring in one of the input interfaces of S 1 and S 2 and also in one of the output interfaces. Any output signal in L, occurring at some point in time in an output event of S 1 and S 2, is assumed to be present the same instant in the input events of S 1 and S 2. If L is empty, no interaction occurs, even if the input-/ output interface of the components share signals. The notation for the parallel composition is a signal set L between two dashed lines separating S 1 and S 2 (cf. Fig. 2). If L is empty, only one dashed line is drawn. 2.3 Signal Hiding S 1 L S 2 Figure 2: Parallel Composition Specifying large systems possibly leads to large charts with many signal names. This may promote name clashes which could be avoided by the utilization of local signal hiding. Given a µ-chart S with input interface I, output interface O and set of signals K then the result of hiding the signals K in S is the µ-chart S ¼ having as input interface I and as output interface the set of signals O without the signals in K. If i is a sequence of input events for which S generates the output sequence o then S ¼ generates the output sequence o ¼ which is the same as o but has all occurrences of elements of K removed. As the notation for hiding we use a rectangle with rounded corners for S and attach a small rectangle with a label denoting the set of hidden signals K (cf. Fig. 3). S K Figure 3: Signal Hiding 2.4 Hierarchical Decomposition Hierarchical decomposition allows further refinement of states in a sequential automaton by other µ-charts. When- σ S Figure 4: Hierarchical Decomposition ever the automaton reaches one of these states, the corresponding µ-chart is activated and runs until an outgoing transition from that state is fired. Assume that we want to decompose state σ into µ-chart S. This is depicted by splitting a state into two compartments, putting σ in the upper compartment and the diagram for S into the lower one (cf. Fig. 4). The semantics of hierarchical decomposition is defined by syntactical transformation of the hierarchical decomposition into parallel composition and hiding. Details of this translation can be found in [4, 5]. 2.5 Refinement It is usually impossible to carry out the transformation from an abstract specification to one that can be used as a basis for implementation in only one step. Rather, such systems will be developed by applying consecutive refinement steps, each step describing the overall system behavior more concrete than the previous one. Given two µ-charts S 1 and S 2 with the same input-/output interface; the system S 1 is a refinement of S 2, written S 2 S 1, if for every sequence of input events i and possible sequences of output events o generated by S 1, o is also a possible output sequence of S 2 with respect to the same input sequence i. This means that the denotation of S 1, which is a relation between input and output sequences, is a subset of the denotation of S 2. However, S 1 and S 2 have not always the same input-/ output interfaces. Usually the refinement is more elaborated than the refined µ-chart and therefore the input-/ output interfaces of the refinement contain additional signals. In this case S 1 is a refinement of S 1, S 2 S 1, if the input-/ output interfaces of S 1 are supersets of the corresponding input-/ output interfaces of S 2 and if for any sequence of input events i, for which S 1 produces a sequence of output events o, S 2 produces the sequence o Out S 1 for the µ sequence of input events i In S 1. The sequence of events µ i In S and o 1 µ Out S 1 are obtained from i and o by removing all the signals not in In S 1 µ and Out S 1 µ, µ respectively. Refinement is transitive, that is, if S 1 is a refinement of S 2 and S 0 is a refinement of S 1 then S 0 is a refinement of S 2. Further, refinement is compositional, that is, for a complex µ-chart, the refinement of one of its components yields a refinement of the overall system. For example, if S is given by a parallel composition of the µ-charts S 1 and S 2 wrt. a set of signals L, and S ¼ 1 is a refinement of S 1, then the parallel composition of S ¼ 1 and S 2 wrt. L is a refinement of S. 3

4 Using µ-charts has the advantage that there exists conditions on the syntax of µ-charts that ensure sound refinement. In the following we present the conditions for sound refinement needed for the case study in Section 3. The complete set of refinement rules can be found in [4, 5]. Adding Transitions Given a sequential automaton, we can add a transition t from a state σ to σ ¼, provided that whenever the transition t may be performed, there is no other transition with source state σ which can be performed at the same time. This means that if the condition of t is c then for each other transition t i with source state σ and condition c i, c and c i are not allowed to be true at the same time. In this case, the automaton with the added transition is a refinement of the automaton without that transition. Modifying Transitions Given a sequential automaton S which has a transition t from state σ to σ ¼ with condition c and action a. We get a refinement S ¼ of S if we replace the action a by an action a a ¼, where the signals occurring in a ¼ are new signals, that is, are not signals from the output interface of S. We also get a refinement S ¼ of S if we strengthen the condition c to c c ¼¼, provided that there exists another transition t ¼ with source state σ such that t ¼ can be performed, whenever c is true but not c ¼¼. Parallel Composition The parallel composition of S 1 with S 2 with respect to a set of signals L is a refinement of S 1 if S 2 cannot produce any output signals that S 1 can produce and S 2 cannot feed back any input signals for S 1 (cf. Fig. 5). S 1 S 1 Out S 1 µ Out S 2 µ /0 L S 2 L In S 1 µ /0 Figure 5: Refinement of Parallel Composition Hierarchical Decomposition Another rule ensures that the hierarchical decomposition of a state σ within a sequential automaton A into a system S is a refinement of A, provided that S does not produce output signals which are either output- or input signals of A (cf. Fig. 6). 3 The Case udy The following quote from the project offer for the Compaq Grand Slam Cup 1997 (CGSC 97) describes the basic requirements and intentions for the scoring application. A σ A σ S Out Aµ Out Sµ /0 In Aµ Out Sµ /0 Figure 6: Refinement of Hierarchical Decomposition The real time aspect of the content is covered employing a Java applet to replicate the scoring board at the Olympiahalle not only in its appearance, but more importantly, in its informational value.... Actually, the applet serves two purposes. First, mimicking the scoring board at the Olympiahalle, it uses server-push communication to automatically update its display the very instant a point is made during every match. Since this mechanism could prove infeasible for handling several requests from the Internet at the same time, it will be deployed only at the Olympiahalle, serving less than 100 clients at a time. For the Internet, a second applet version using client-pull with a short refresh interval is being developed.... (FAST e.v., CGSC 97 Project offer, p.3) The offer states that there are two versions of the applet. One for people inside the Olympiahalle using server-push communication, and one for people from outside using client-pull communication. -push means that the applet registers itself as a client at the server. The server then sends new scoring data immediately after reading them. Client-pull means that the applet retrieves a file with the actual scoring from the Web site at a specified refresh rate. The basic structure of the system is shown in Fig. 7. It consists of the two components server and applet and of the data file for client-pull communication. The server has two input signals: newfile that signals the existence of a new data file and register, used by the applet to register for the server-push service. The applet has three input signals: update, used by the server to send new data, regok, send by the server after a successful registration for the serverpush service and refresh that tells the applet to reload the data file if it uses client-pull communication. The first behavior specification is shown in Fig. 8. The applet enters nondeterministically the state CP (clientpull) or tries to register for the server-push service by sending the signal register to the server. In the second case it waits until it receives the signal regok and enters then state SP. If it is in state SP it receives new data via signal update, otherwise it reloads the data file after receiving 4

5 newfile register Applet update regok data file Figure 7: System ructure refresh Applet /register regok timeout &!regok SP connerror &!update CP update refresh { update, register, regok } refresh. The server replies with regok when receiving register and sends signal update after receiving newfile. The actions that are needed to read, convert and write the data file are not shown in the diagram. This basic specification is now extended in the following sections using the syntactical rules of µ-charts and some common reasoning where the rules cannot be used directly. Applet /register regok SP CP update refresh { update, register, regok } Figure 9: Refinement: adding transitions is decomposed into two sub states: CONN (connected) and DISC (disconnected). neterror CONN DISC Figure 8: High Level Behavior Specification 3.1 Refinement Adding Transitions The first refinement step is applied to the applet as shown in Fig. 9. Two input signals were added to the applet. To exclude the possibility that the applet waits an infinitely long time for the server to acknowledge a register request with regok, the signal timeout is added. It ensures that the applet switches into clientpull mode after waiting a specific amount of time. It is also possible that the connection to the server breaks while using server-push communication. This error is signaled by connerror. In this case, the applet also switches into client-pull mode. By the rule for adding transitions this is a refinement, because regok and regok timeout cannot be true at the same time and similar for update and update connerror. Hierarchical Decomposition In this step, the basic state of the server is hierarchically decomposed (Fig. 10). If the connection to the supplier of the file containing the raw scoring data goes down, a message should be displayed to allow for immediate action. In addition, a message should be displayed if the network connection is working again. An error in the network connection is modeled with the new input signal of the server neterror. The signal newfile signales that the connection is working again. The basic state Figure 10: Hierarchical Decomposition of the server specification This decomposition is not covered by the syntactical rules because the master (the basic state of the server in Fig. 9) and the slave ( refinement) generate the same output signal, namely update. Nevertheless, it is a correct decomposition because, following the definition of refinement in Section 2.5, each time slave and master receive the signal newfile both generate the signal update. That means the reaction of the slave on receiving newfile is the same as that of the master. Parallel Composition In the next step a monitor component is added to the server (Fig. 11). It is used to enable a person to enter the actual scoring manually if the network connection to the raw data file is down. The monitor has two states: ACT (activated) and DEACT (deactivated). It changes its state to ACT when it receives act. In this state it is possible to enter data manually, modeled by the signal data. This data is sent via signal manfile to the server which in turn sends the data via signal update. The signals to activate and deactivate the monitor are added to the appropriate transitions of the server. This extension was done by first refining to ¼, using the rule for adding transitions and adding new actions to transitions, and then using the rule for parallel composition to ensure that the parallel composition of ¼ and Monitor is a refinement of ¼. By transitivity of the refinement re- 5

6 lation this ensures that the parallel composition is also a refinement of. Monitor data/manfile neterror /act ACT CONN act deact { manfile, act, deact } newfile /update*deact DEACT Monitor data/manfile neterror &!newfile /act ACT CONN DISC act deact { manfile, act, deact } newfile /update*deact manfile &!newfile /update DEACT DISC manfile &!newfile /update Figure 12: Refinement: Removing nondeterminism Figure 11: Parallel Composition: Adding a component Modifying Transitions The last step is to remove some more nondeterminism from the server specification (Fig. 12), which appears when the signals newfile and neterror occur at the same time in state CONN. This nondeterminism is removed by modifying the transition neterror to neterror newfile. This way, the signal newfile has always a higher priority than the other signals. Following the rules for modifying transitions, this refinement is sound, because whenever the signal neterror together with the signal newfile occurs in an event the system can perform a transition from CONN to CONN. 4 Conclusions This study demonstrates the advantages achieved for the specification and design process by using formal methods. Within only four refinement steps a rudimentary µ-chart is being transformed to a more elaborated one with the desired behavior. Furthermore the specification can be automatically translated into the input language of various model-checkers [4], for verifying liveness and safety properties. Malfunctions of the developed systems can be reduced to a minimum. In case of safety critical systems, the use of formal methods is essential. For implementation purposes target code can automatically be generated from the specification [3]. The error-prone process of manual code generation is omitted. References [1] D. Harel. atecharts: A visual formalism for complex systems. Science of Computer Programming, 8: , [2] Christoph Maier and Luis Mandel. An introduction to MOOD 2 specification and design of a live scoring system for the Compaq Grand Slam Cup Technical Report 9711, Institut für Informatik der Ludwig- Maximilians-Universität München, [3] J. Philipps and P. Scholz. Compositional specification of embedded systems with statecharts. In TAP- SOFT 97: Theory and Practice of Software Development, volume 1214 of Lecture Notes in Computer Science. Springer-Verlag, [4] Peter Scholz. Design of Reactive Systems and their Distributed Implementation with atecharts. PhD thesis, Technische Universität München, Institut für Informatik, August Appeared as Technical Report TUM-I9821. [5] Peter Scholz. A refinement calculus for statecharts. In First International Conference on Fundamental Approaches to Software Engineering (FASE 98), number 1382 in LNCS, pages , Lisbon, Portugal, Springer. 6

FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz

FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz In this contribution, we sketch a design process for reactive systems, specified

More information

StateClock: a Tool for Timed Reactive Modules

StateClock: a Tool for Timed Reactive Modules StateClock: a Tool for Timed Reactive Modules Jonathan S. Ostroff Department Of Computer Science, York University, Toronto, Canada, M3J 1P3. Email: jonathan@yorku.ca Abstract: We provide an overview of

More information

Incremental design of statechart specications

Incremental design of statechart specications Science of Computer Programming 40 (2001) 119 145 www.elsevier.nl/locate/scico Incremental design of statechart specications Peter Scholz ;1 Technische Universitat Munchen, Institut fur Informatik, D-80290

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights

More information

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems 13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems Florian Hölzl and Martin Feilkas Institut für Informatik Technische Universität

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming

More information

Towards a UML Extension for Hypermedia Design

Towards a UML Extension for Hypermedia Design Towards a UML Extension for Hypermedia Design Hubert Baumeister 1, Nora Koch 1,2, and Luis Mandel 2 1 Institut für Informatik Ludwig-Maximilans-Universität München Oettingenstr. 67 D 80538 München, Germany

More information

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics

More information

Automatic synthesis of switching controllers for linear hybrid systems: Reachability control

Automatic synthesis of switching controllers for linear hybrid systems: Reachability control Automatic synthesis of switching controllers for linear hybrid systems: Reachability control Massimo Benerecetti and Marco Faella Università di Napoli Federico II, Italy Abstract. We consider the problem

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS522 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES 49. Internationales Wissenschaftliches Kolloquium Technische Universität Ilmenau 27.-30. September 2004 Holger Rath / Horst Salzwedel ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES Abstract

More information

Turn Indicator Model Overview

Turn Indicator Model Overview Turn Indicator Model Overview Jan Peleska 1, Florian Lapschies 1, Helge Löding 2, Peer Smuda 3, Hermann Schmid 3, Elena Vorobev 1, and Cornelia Zahlten 2 1 Department of Mathematics and Computer Science

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

CMPSCI 250: Introduction to Computation. Lecture 20: Deterministic and Nondeterministic Finite Automata David Mix Barrington 16 April 2013

CMPSCI 250: Introduction to Computation. Lecture 20: Deterministic and Nondeterministic Finite Automata David Mix Barrington 16 April 2013 CMPSCI 250: Introduction to Computation Lecture 20: Deterministic and Nondeterministic Finite Automata David Mix Barrington 16 April 2013 Deterministic and Nondeterministic Finite Automata Deterministic

More information

Embedded Systems. Problem 1: Getting started with STATEFLOW. Starting STATEFLOW

Embedded Systems. Problem 1: Getting started with STATEFLOW. Starting STATEFLOW Prof. Bernd Finkbeiner, Ph.D. Winter term 2008/2009 Dipl.-Inf. Rüdiger Ehlers Problem Set 2 Dipl.-Inf.Hans-Jörg Peter Due: Thursday,6 th November 2008 Michael Gerke, B.Sc. Embedded Systems STATEFLOW is

More information

UML Tutorial. Unified Modeling Language UML Tutorial

UML Tutorial. Unified Modeling Language UML Tutorial UML Tutorial Unified Modeling Language UML Tutorial A Unified Modeling Language is a language for specifying, constructing, visualizing and documenting the software system and its components. UML is a

More information

A UML-based Methodology for Hypermedia Design

A UML-based Methodology for Hypermedia Design A UML-based Methodology for Hypermedia Design Rolf Hennicker, Nora Koch,2 Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538 München, Germany {hennicke,kochn}@informatik.uni-muenchen.de

More information

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova Behavioural Equivalences and Abstraction Techniques Natalia Sidorova Part 1: Behavioural Equivalences p. p. The elevator example once more How to compare this elevator model with some other? The cabin

More information

TiP: Analyzing Periodic Time Series Patterns

TiP: Analyzing Periodic Time Series Patterns ip: Analyzing Periodic ime eries Patterns homas Bernecker, Hans-Peter Kriegel, Peer Kröger, and Matthias Renz Institute for Informatics, Ludwig-Maximilians-Universität München Oettingenstr. 67, 80538 München,

More information

A Modelling and Analysis Environment for LARES

A Modelling and Analysis Environment for LARES A Modelling and Analysis Environment for LARES Alexander Gouberman, Martin Riedl, Johann Schuster, and Markus Siegle Institut für Technische Informatik, Universität der Bundeswehr München, {firstname.lastname@unibw.de

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS422 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

Timed Automata: Semantics, Algorithms and Tools

Timed Automata: Semantics, Algorithms and Tools Timed Automata: Semantics, Algorithms and Tools Johan Bengtsson and Wang Yi Uppsala University Email: {johanb,yi}@it.uu.se Abstract. This chapter is to provide a tutorial and pointers to results and related

More information

Section 8. The Basic Step Algorithm

Section 8. The Basic Step Algorithm Section 8. The Basic Step Algorithm Inputs The status of the system The current time A list of external changes presented by the environment since the last step Comments Scheduled action appears in the

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

A Note on Semantics (with an Emphasis on UML)

A Note on Semantics (with an Emphasis on UML) A Note on Semantics (with an Emphasis on UML) Bernhard Rumpe Institut für Informatik Technische Universität München D- 80290 Munich, Germany Bernhard.Rumpe@in.tum.de, www.in.tum.de/~rumpe Abstract In software

More information

Compiler Construction

Compiler Construction Compiler Construction Lecture 2: Lexical Analysis I (Introduction) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ss-14/cc14/

More information

Managing test suites for services

Managing test suites for services Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,

More information

Integrated HW/SW Systems: Requirements

Integrated HW/SW Systems: Requirements TECHNISCHE UNIVERSITÄT ILMENAU Integrated HW/SW Systems: Requirements Integrated Communication Systems http://www.tu-ilmenau.de/iks Analysis process Functional requirements Performance requirements Real-time

More information

Exception Handling in S88 using Grafchart *

Exception Handling in S88 using Grafchart * Presented at the World Batch Forum North American Conference Woodcliff Lake, NJ April 7-10, 2002 107 S. Southgate Drive Chandler, Arizona 85226-3222 480-893-8803 Fax 480-893-7775 E-mail: info@wbf.org www.wbf.org

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Preliminaries Outline of Lecture 1 Preliminaries Introduction

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

1 Statecharts language and Statemate Magnum

1 Statecharts language and Statemate Magnum 1 Statecharts language and Statemate Magnum 1. 1 Introduction The language of Statecharts has been developed to deal with the problems of specification and design of large reactive systems. The basic foundation

More information

A Short Introduction to First-Order Theorem Proving with KeY

A Short Introduction to First-Order Theorem Proving with KeY 1 What is KeY? 1.1 Software Verification Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt Mattias Ulbrich A Short Introduction to First-Order Theorem

More information

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany

More information

DISCRETE-event dynamic systems (DEDS) are dynamic

DISCRETE-event dynamic systems (DEDS) are dynamic IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 7, NO. 2, MARCH 1999 175 The Supervised Control of Discrete-Event Dynamic Systems François Charbonnier, Hassane Alla, and René David Abstract The supervisory

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 3: Discrete Dynamics,

More information

Modeling Hybrid Systems with Petri Nets

Modeling Hybrid Systems with Petri Nets Modeling Hybrid Systems with Petri Nets Debjyoti Bera, Kees van Hee and Henk Nijmeijer Abstract The behavior of a hybrid system is a mixture of continuous behavior and discrete event behavior. The Simulink/Stateflow

More information

A Semantics to Generate the Context-sensitive Synchronized Control-Flow Graph (extended)

A Semantics to Generate the Context-sensitive Synchronized Control-Flow Graph (extended) A Semantics to Generate the Context-sensitive Synchronized Control-Flow Graph (extended) Marisa Llorens, Javier Oliver, Josep Silva, and Salvador Tamarit Universidad Politécnica de Valencia, Camino de

More information

Combined Modeling and Programming with State Machines

Combined Modeling and Programming with State Machines Combined Modeling and Programming with State Machines Kjetil Andresen Master s Thesis Spring 2014 Combined Modeling and Programming with State Machines Kjetil Andresen 1st May 2014 ii Abstract As part

More information

Compiler Construction

Compiler Construction Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-16/cc/ Conceptual Structure of a Compiler Source code x1 := y2

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Design

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Design CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS422 Programming Language Design Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and tools,

More information

Prof. Dr. Reinhard von Hanxleden. Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group

Prof. Dr. Reinhard von Hanxleden. Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 4a Prof. Dr. Reinhard von Hanxleden Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and

More information

Dynamic Modeling - Finite State Machines

Dynamic Modeling - Finite State Machines Dynamic Modeling - Finite State Machines SWE 321 Fall 2014 Rob Pettit 1 Finite State Machines Finite number of states Only in one state at a time Transition Change of state Caused by event Transition to

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Andreas Wombacher University of Twente Enschede The Netherlands a.wombacher@utwente.nl Abstract Decentralized consistency checking

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

CMPSCI 250: Introduction to Computation. Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014

CMPSCI 250: Introduction to Computation. Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014 CMPSCI 250: Introduction to Computation Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014 Things, Sets, and Strings The Mathematical Method Administrative Stuff The Objects of Mathematics

More information

Specification and Generation of Environment for Model Checking of Software Components *

Specification and Generation of Environment for Model Checking of Software Components * Specification and Generation of Environment for Model Checking of Software Components * Pavel Parizek 1, Frantisek Plasil 1,2 1 Charles University, Faculty of Mathematics and Physics, Department of Software

More information

Lecture 2 Finite Automata

Lecture 2 Finite Automata Lecture 2 Finite Automata August 31, 2007 This lecture is intended as a kind of road map to Chapter 1 of the text just the informal examples that I ll present to motivate the ideas. 1 Expressions without

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

MIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology

MIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Massachusetts Institute of Technology Language Definition Problem How to precisely define language Layered structure

More information

ait: WORST-CASE EXECUTION TIME PREDICTION BY STATIC PROGRAM ANALYSIS

ait: WORST-CASE EXECUTION TIME PREDICTION BY STATIC PROGRAM ANALYSIS ait: WORST-CASE EXECUTION TIME PREDICTION BY STATIC PROGRAM ANALYSIS Christian Ferdinand and Reinhold Heckmann AbsInt Angewandte Informatik GmbH, Stuhlsatzenhausweg 69, D-66123 Saarbrucken, Germany info@absint.com

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

Propositional Logic. Part I

Propositional Logic. Part I Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.

More information

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL Overview Lecture #4: Probabilistic GCL 1 Joost-Pieter Katoen 2 3 Recursion RWTH Lecture Series on 2018 Joost-Pieter Katoen 1/31 Joost-Pieter Katoen 2/31 Dijkstra s guarded command language: Syntax Elementary

More information

Pet: An Interactive Software Testing Tool

Pet: An Interactive Software Testing Tool Pet: An Interactive Software Testing Tool Elsa Gunter, Robert Kurshan, and Doron Peled Bell Laboratories 600 Mountain Ave. Murray Hill, NJ 07974 Abstract. We describe here the Pet (standing for path exploration

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

On the Recognizability of Arrow and Graph Languages

On the Recognizability of Arrow and Graph Languages On the Recognizability of Arrow and Graph Languages Christoph Blume Sander Bruggink Barbara König Universität Duisburg-Essen, Germany Background Applications of finite automata and regular (word) languages

More information

MIT Specifying Languages with Regular Expressions and Context-Free Grammars

MIT Specifying Languages with Regular Expressions and Context-Free Grammars MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Language Definition Problem How to precisely

More information

Utilizing Static Analysis for Programmable Logic Controllers

Utilizing Static Analysis for Programmable Logic Controllers Sébastien Bornot Ralf Huuck Ben Lukoschus Lehrstuhl für Softwaretechnologie Universität Kiel Preußerstraße 1 9, D-24105 Kiel, Germany seb rhu bls @informatik.uni-kiel.de Yassine Lakhnech Verimag Centre

More information

Monitoring Interfaces for Faults

Monitoring Interfaces for Faults Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each

More information

Proof Pearl: The Termination Analysis of Terminator

Proof Pearl: The Termination Analysis of Terminator Proof Pearl: The Termination Analysis of Terminator Joe Hurd Computing Laboratory Oxford University joe.hurd@comlab.ox.ac.uk Abstract. Terminator is a static analysis tool developed by Microsoft Research

More information

2 Discrete Dynamic Systems

2 Discrete Dynamic Systems 2 Discrete Dynamic Systems This chapter introduces discrete dynamic systems by first looking at models for dynamic and static aspects of systems, before covering continuous and discrete systems. Transition

More information

for (i=1; i<=100000; i++) { x = sqrt (y); // square root function cout << x+i << endl; }

for (i=1; i<=100000; i++) { x = sqrt (y); // square root function cout << x+i << endl; } Ex: The difference between Compiler and Interpreter The interpreter actually carries out the computations specified in the source program. In other words, the output of a compiler is a program, whereas

More information

Introduction to Denotational Semantics. Class Likes/Dislikes Survey. Dueling Semantics. Denotational Semantics Learning Goals. You re On Jeopardy!

Introduction to Denotational Semantics. Class Likes/Dislikes Survey. Dueling Semantics. Denotational Semantics Learning Goals. You re On Jeopardy! Introduction to Denotational Semantics Class Likes/Dislikes Survey would change [the bijection question] to be one that still tested students' recollection of set theory but that didn't take as much time

More information

Equivalence of NTMs and TMs

Equivalence of NTMs and TMs Equivalence of NTMs and TMs What is a Turing Machine? Similar to a finite automaton, but with unlimited and unrestricted memory. It uses an infinitely long tape as its memory which can be read from and

More information

1 Introduction. 3 Syntax

1 Introduction. 3 Syntax CS 6110 S18 Lecture 19 Typed λ-calculus 1 Introduction Type checking is a lightweight technique for proving simple properties of programs. Unlike theorem-proving techniques based on axiomatic semantics,

More information

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth Dept. of Computer Engineering N.I.T.K, Surathkal INDIA-575 025 +91 9448185670 prashanth_bcs@yahoo.co.in

More information

COMP 382: Reasoning about algorithms

COMP 382: Reasoning about algorithms Spring 2015 Unit 2: Models of computation What is an algorithm? So far... An inductively defined function Limitation Doesn t capture mutation of data Imperative models of computation Computation = sequence

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

Teaching and Training Formal Methods for Safety Critical Systems

Teaching and Training Formal Methods for Safety Critical Systems Teaching and Training Formal Methods for Safety Critical Systems Michael Lipaczewski and Frank Ortmeier Computer Systems in Engineering Otto-von-Guericke University Magdeburg {michael.lipaczewski,frank.ortmeier}@ovgu.de

More information

Softwaretechnik. Lecture 03: Types and Type Soundness. Peter Thiemann. University of Freiburg, Germany SS 2008

Softwaretechnik. Lecture 03: Types and Type Soundness. Peter Thiemann. University of Freiburg, Germany SS 2008 Softwaretechnik Lecture 03: Types and Type Soundness Peter Thiemann University of Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 35 Table of Contents Types and Type correctness

More information

Topic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development

Topic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development Lecture Notes What are? 1 Formal Method (FM) = specification language + formal reasoning Body of techniques supported by precise mathematics powerful analysis tools Rigorous effective mechanisms for system

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

Negations in Refinement Type Systems

Negations in Refinement Type Systems Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement

More information

6.852 Lecture 17. Atomic objects Reading: Chapter 13 Next lecture: Atomic snapshot, read/write register

6.852 Lecture 17. Atomic objects Reading: Chapter 13 Next lecture: Atomic snapshot, read/write register 6.852 Lecture 17 Atomic objects Reading: Chapter 13 Next lecture: Atomic snapshot, read/write register Shared-memory model Single I/O automaton with locality restrictions doesn't exploit I/O automaton

More information

Introduction to Denotational Semantics. Brutus Is An Honorable Man. Class Likes/Dislikes Survey. Dueling Semantics

Introduction to Denotational Semantics. Brutus Is An Honorable Man. Class Likes/Dislikes Survey. Dueling Semantics Brutus Is An Honorable Man HW2 will not be due today. Homework X+1 will never be due until after I have returned Homework X to you. Normally this is never an issue, but I was sick yesterday and was hosting

More information

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer

More information

2-PHASE COMMIT PROTOCOL

2-PHASE COMMIT PROTOCOL 2-PHASE COMMIT PROTOCOL Jens Lechtenbörger, University of Münster, Germany SYNONYMS XA standard, distributed commit protocol DEFINITION The 2-phase commit (2PC) protocol is a distributed algorithm to ensure

More information

T U M. COLA The Component Language

T U M. COLA The Component Language T U M I N S T I T U T F Ü R I N F O R M A T I K COLA The Component Language Stefan Kugele, Michael Tautschnig, Andreas Bauer, Christian Schallhart, Stefano Merenda, Wolfgang Haberl, Christian Kühnel, Florian

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

Liveness and Fairness Properties in Multi-Agent Systems

Liveness and Fairness Properties in Multi-Agent Systems Liveness and Fairness Properties in Multi-Agent Systems Hans-Dieter Burkhard FB Informatik Humboldt-University Berlin PF 1297, 1086 Berlin, Germany e-mail: hdb@informatik.hu-berlin.de Abstract Problems

More information

ECS 120 Lesson 16 Turing Machines, Pt. 2

ECS 120 Lesson 16 Turing Machines, Pt. 2 ECS 120 Lesson 16 Turing Machines, Pt. 2 Oliver Kreylos Friday, May 4th, 2001 In the last lesson, we looked at Turing Machines, their differences to finite state machines and pushdown automata, and their

More information

Design and Implementation of an Abstract Interpreter for VHDL

Design and Implementation of an Abstract Interpreter for VHDL Design and Implementation of an Abstract Interpreter for VHDL STIX, Charles Hymans École Polytechnique, 91128 Palaiseau, France charles.hymans@polytechnique.fr Abstract. We describe the design by abstract

More information

LTCS Report. Concept Descriptions with Set Constraints and Cardinality Constraints. Franz Baader. LTCS-Report 17-02

LTCS Report. Concept Descriptions with Set Constraints and Cardinality Constraints. Franz Baader. LTCS-Report 17-02 Technische Universität Dresden Institute for Theoretical Computer Science Chair for Automata Theory LTCS Report Concept Descriptions with Set Constraints and Cardinality Constraints Franz Baader LTCS-Report

More information

Variants of Turing Machines

Variants of Turing Machines November 4, 2013 Robustness Robustness Robustness of a mathematical object (such as proof, definition, algorithm, method, etc.) is measured by its invariance to certain changes Robustness Robustness of

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

visualstate Reference Guide

visualstate Reference Guide COPYRIGHT NOTICE Copyright 2000 2014 IAR Systems AB. No part of this document may be reproduced without the prior written consent of IAR Systems. The software described in this document is furnished under

More information

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 1: Introduction to Program Analysis Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ws-1415/spa/

More information

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0 Object-Oriented Modeling State Machine Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology

More information

[module 2.2] MODELING CONCURRENT PROGRAM EXECUTION

[module 2.2] MODELING CONCURRENT PROGRAM EXECUTION v1.0 20130407 Programmazione Avanzata e Paradigmi Ingegneria e Scienze Informatiche - UNIBO a.a 2013/2014 Lecturer: Alessandro Ricci [module 2.2] MODELING CONCURRENT PROGRAM EXECUTION 1 SUMMARY Making

More information

A Characterization of the Chomsky Hierarchy by String Turing Machines

A Characterization of the Chomsky Hierarchy by String Turing Machines A Characterization of the Chomsky Hierarchy by String Turing Machines Hans W. Lang University of Applied Sciences, Flensburg, Germany Abstract A string Turing machine is a variant of a Turing machine designed

More information

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema Towards Formalizing Domain-specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Outline! DSML overview! Framework for DSML design Syntax definition Semantic domain specification Semantic

More information

M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification

M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification Systematic Implementation of Real-Time Models M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification Model-based Development for Controllers Make a model of the environment

More information

Applied Formal Methods - From CSP to Executable Hybrid Specifications

Applied Formal Methods - From CSP to Executable Hybrid Specifications Applied Formal Methods - From CSP to Executable Hybrid Specifications Jan Peleska Technologie-Zentrum Informatik TZI, Universität Bremen and Verified Systems International GmbH, jp@verified.de Overview

More information