Steam Boiler Control An Example in ASM Formalisation

Size: px
Start display at page:

Download "Steam Boiler Control An Example in ASM Formalisation"

Transcription

1 Formal Specification and Verification of Software Steam Boiler Control An Example in ASM Formalisation Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Specification and Verification of Software p.1

2 Steam Boiler Control: Scenario a z d / k δ d w d max System Components steam boiler 4 water level measuring device w/ k w min w four pumps four pump controlers steam quantity measuring device p1 /... / p4 k p1 /... / k l/ δ p4 p v valve for emptying the boiler B. Beckert: Formal Specification and Verification of Software p.2

3 Steam Boiler Control: Scenario a z 4 d / k δ d w d max Physical constants w min w max l minimal water level maximal water level water amount per pump w/ k w min w d max δ p maximal quantity of steam exiting the boiler error in the value of l p1 /... / p4 l/ δ p v δ d error in steam measurement k p1 /... / k p4 B. Beckert: Formal Specification and Verification of Software p.3

4 Steam Boiler Control: Scenario a z 4 d / k δ d w w/ k w d max min w Measured values w water level d amount of steam exiting the boiler k p (i) pump i works/broken k w water level measuring device works/broken p1 /... / p4 l/ δ p v k d steam amount measuring device works/broken k p1 /... / k p4 B. Beckert: Formal Specification and Verification of Software p.4

5 Steam Boiler Control: Scenario a z d / k δ d w d max Control values p(i) pump i on/off k 4 p1 /... / p4 p1 /... / k l/ δ p4 p v w/ k w min w v a z valve open/closed boiler on/off state init/norm/broken/stop B. Beckert: Formal Specification and Verification of Software p.5

6 Steam Boiler with ASMs Restrictions Real-time aspects not modelled Communication between devices not modelled B. Beckert: Formal Specification and Verification of Software p.6

7 Steam Boiler with ASMs Restrictions Real-time aspects not modelled Communication between devices not modelled Measured values Modelled as functions that are changed externally Control values Modelled as functions that are read externally B. Beckert: Formal Specification and Verification of Software p.6

8 Steam Boiler with ASMs: Two Versions First version The possibility that devices are broken is not modelled States: init,normal,stop Second version The possibility that devices are broken is included in the model Additional state: broken B. Beckert: Formal Specification and Verification of Software p.7

9 Û Ñ Ü Û ÓÔØ Û Ñ Ò First Version: Strategy for Filling Additional constant w opt Optimal water level Strategy ØÓÔ ÔÙÑÔ Ó«½ ÔÙÑÔ ÓÒ Û ÓÔØ Ð ¾ ÔÙÑÔ ÓÒ Û ÓÔØ ¾Ð ÔÙÑÔ ÓÒ Û ÓÔØ Ð ÔÙÑÔ ÓÒ ØÓÔ B. Beckert: Formal Specification and Verification of Software p.8

10 First Version: Vocabulary Universes state = {init, norm, stop} openclosed = {open, closed} water = N pumps = {1, 2, 3, 4} onoff = {on, off } B. Beckert: Formal Specification and Verification of Software p.9

11 First Version: Vocabulary Universes state = {init, norm, stop} openclosed = {open, closed} water = N pumps = {1, 2, 3, 4} onoff = {on, off } Note These are unary boolean functions; they define a type/class B. Beckert: Formal Specification and Verification of Software p.9

12 First Version: Vocabulary Dynamic functions External functions Static functions p : pumps onoff controling the pumps v : openclosed controling the steam valve a : onoff controling the boiler z : state boiler state w : water water level d : water steam exiting boiler +,, : N N N arithmetic <, : N N Boole ordering w max, w min, w opt, l, d max N physical constants B. Beckert: Formal Specification and Verification of Software p.10

13 Initial State a = off z = init B. Beckert: Formal Specification and Verification of Software p.11

14 Rule Initialisation if (z = init) then skip else if 0 < d then z := stop else if w < w min + d max then v := closed p(i) := on (i = 1..4) end else if w max < w then v := open p(i) := off (i = 1..4) end else z v := norm := closed a := on p(i) := off (i = 1..4) end endif endif endif endif B. Beckert: Formal Specification and Verification of Software p.12

15 Rule Normal if (z = norm) then skip else if w max < w w < w min then a z end else := off := stop if w w opt then p(1) := on else p(1) := off endif if w w opt l then p(2) := on else p(2) := off endif if w w opt (2 l) then p(3) := on else p(3) := off endif if w w opt (3 l) then p(4) := on else p(4) := off endif end endif endif B. Beckert: Formal Specification and Verification of Software p.13

16 Rule Control Initialisation Normal end B. Beckert: Formal Specification and Verification of Software p.14

17 Second Version: Vocabulary Universes state openclosed water = {init, norm, broken, stop} = {open, closed} = N pumps = {1, 2, 3, 4} onoff = {on, off } worksbroken = {works, broken} B. Beckert: Formal Specification and Verification of Software p.15

18 Second Version: Vocabulary Dynamic functions p : pumps onoff controling the pumps v : openclosed controling steam valve a : onoff controling the boiler z : state boiler state s min, s max : water estimated water level n p : pumps number of active pumps External functions w : water water level d : water steam exiting boiler k p : pumps worksbroken pump works/broken k w : worksbroken water level device k d : worksbroken steam amount device B. Beckert: Formal Specification and Verification of Software p.16

19 Second Version: Vocabulary Static functions +,,, min : N N N arithmetic <, : N N Boole ordering w max, w min, l : N physical constants d max,δ p,δ d : N physical constants optpumps : water water pumps optimal pump number numworking : N worksbroken 4 N number of working pumps controlpumps : pumps 2 worksbroken 4 onoff control for each pump B. Beckert: Formal Specification and Verification of Software p.17

20 Second Version: Vocabulary Static function optpumps (encodes the strategy) optpumps(w 1, w 2 ) = optimal number of pumps for water level between w 1 and w 2 B. Beckert: Formal Specification and Verification of Software p.18

21 Second Version: Vocabulary Static function optpumps (encodes the strategy) optpumps(w 1, w 2 ) = optimal number of pumps for water level between w 1 and w 2 Static function numworking numworking(i, k 1, k 2, k 3, k 4 ) = #{j j i k j = works} B. Beckert: Formal Specification and Verification of Software p.18

22 Second Version: Vocabulary Static function optpumps (encodes the strategy) optpumps(w 1, w 2 ) = optimal number of pumps for water level between w 1 and w 2 Static function numworking numworking(i, k 1, k 2, k 3, k 4 ) = #{j j i k j = works} Static function controlpumps controlpumps(i, n opt, k 1, k 2, k 3, k 4 ) = { on if numworking(i 1, k 1, k 2, k 3, k 4 ) < n opt off otherwise B. Beckert: Formal Specification and Verification of Software p.18

23 Rule Initialisation if (z = init) then skip else if 0 < d k w = broken k d = broken then z := stop else if w < w min + d max then v := closed p(i) := on (i = 1..4) end else if w max < w then v := open p(i) := off (i = 1..4) end else z v := norm := closed s min := w s max := w n p := 0 p(i) := off (i = 1..4) end endif endif endif endif B. Beckert: Formal Specification and Verification of Software p.19

24 Rule NormBroken if (z = norm z = broken) then skip else if k w = works then let min = w, max = w, z val = norm in ControlPumps endlet else if k d = works then let min = s min d + n p l δ d n p δ p, max = s max d + n p l + δ d + n p δ p, z val = broken in ControlPumps endlet else z := stop a := off end endif endif endif B. Beckert: Formal Specification and Verification of Software p.20

25 Rule ControlPumps if min < w min w max < max then z := stop a := off end else let n opt = optpumps(min,max) in p(i) := controlpumps(i, n opt, k p (1),..., k p (4)) (i = 1..4) n p := min(n opt,numworking(4, k p (1),..., k p (4))) s min := min s max := max z := z val end endlet endif B. Beckert: Formal Specification and Verification of Software p.21

26 Rule Control Initialisation NormBroken end B. Beckert: Formal Specification and Verification of Software p.22

27 Alternative Solution: Vocabulary Universes state openclosed water = {init, norm, broken, stop} = {open, closed} = N pumps = {1, 2, 3, 4} onoff = {on, off } worksbroken = {works, broken} waitcompute = {wait, compute} B. Beckert: Formal Specification and Verification of Software p.23

28 Alternative Solution: Vocabulary Additional dynamic functions i : pumps f : waitcompute current pump next cycle Meaning of function f f = compute: f = wait: Control the pumps Measurement B. Beckert: Formal Specification and Verification of Software p.24

29 Alternative: Rule Initialisation if (z = init) then skip else if 0 < d k w = broken k d = broken then z := stop else if w < w min + d max then v := closed p(i) := on (i = 1..4) f := wait end else if w max < w then v := open p(i) := off (i = 1..4) f := wait end else z := norm f := wait v := closed s min := w s max := w n p := 0 p(i) := off (i = 1..4) end endif endif endif endif B. Beckert: Formal Specification and Verification of Software p.25

30 Alternative: Rule NormBroken (1) if ((z = norm z = broken) f = wait) then skip else if k w = works then s min := w s max := w z := norm f := compute i := 1 n p := 0 end B. Beckert: Formal Specification and Verification of Software p.26

31 Alternative: Rule NormBroken (2) else if k d = works then s min := s min d + n p l δ d n p δ p s max := s max d + n p l + δ d + n p δ p z := broken f := compute i := 1 n p := 0 end else z := stop a := off end endif endif endif B. Beckert: Formal Specification and Verification of Software p.27

32 Alternative: Rule ControlPumps (1) if ((z = norm z = broken) f = compute) then skip else if s min < w min w max < s max then z := stop a := off end B. Beckert: Formal Specification and Verification of Software p.28

33 Alternative: Rule ControlPumps (2) else if n p < optpumps(s min, s max ) k p (i) = works then p(i) := on n p := n p + 1 end else p(i) := off endif if i < 4 then i := i + 1 else f := wait endif end endif B. Beckert: Formal Specification and Verification of Software p.29

34 Alternative: Rule Control Initialisation NormBroken ControlPumps end B. Beckert: Formal Specification and Verification of Software p.30

The Object Contraint Language by Example

The Object Contraint Language by Example Formal Specification of Software The Object Contraint Language by Example Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Specification of Software p.1 The Classifier Context inv ( c :)?

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Introduction to Promela Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification and Verification:

More information

Applications of Formal Verification

Applications of Formal Verification Applications of Formal Verification Model Checking: Introduction to PROMELA Prof. Dr. Bernhard Beckert Dr. Vladimir Klebanov SS 2012 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State

More information

Applications of Formal Verification

Applications of Formal Verification Applications of Formal Verification Model Checking: Introduction to PROMELA Bernhard Beckert Mattias Ulbrich SS 2017 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg

More information

Applications of Formal Verification

Applications of Formal Verification Applications of Formal Verification Model Checking: Introduction to PROMELA Prof. Dr. Bernhard Beckert Dr. Vladimir Klebanov SS 2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State

More information

Dynamic Logic with Non-rigid Functions

Dynamic Logic with Non-rigid Functions Dynamic Logic with Non-rigid Functions A Basis for Object-oriented Program Verification Bernhard Beckert 1 André Platzer 2 1 University of Koblenz-Landau, Department of Computer Science beckert@uni-koblenz.de

More information

5. Selection: If and Switch Controls

5. Selection: If and Switch Controls Computer Science I CS 135 5. Selection: If and Switch Controls René Doursat Department of Computer Science & Engineering University of Nevada, Reno Fall 2005 Computer Science I CS 135 0. Course Presentation

More information

An Esterel Virtual Machine

An Esterel Virtual Machine An Esterel Virtual Machine Stephen A. Edwards Columbia University Octopi Workshop Chalmers University of Technology Gothenburg, Sweden December 28 An Esterel Virtual Machine Goal: Run big Esterel programs

More information

Denotational semantics (An introduction)

Denotational semantics (An introduction) Denotational semantics (An introduction) Ralf Lämmel Software Language Engineering Team University of Koblenz-Landau http://www.softlang.org/ Dependencies: Tree-based abstract syntax Basic of interpretation

More information

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM, Montpelier, France. Ö Ð ÖÑÑ Ö Cork

More information

The syntax of the OUN language

The syntax of the OUN language The syntax of the OUN language Olaf Owe Department of Informatics, University of Oslo, Norway February 21, 2002 Contents 1 The OUN language 1 1.1 Interface and contract definition.................. 2 1.2

More information

KI-Programmierung. Basic Search Algorithms

KI-Programmierung. Basic Search Algorithms KI-Programmierung Basic Search Algorithms Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU Winter Term 2007/2008 B. Beckert: KI-Programmierung p.1 Example: Travelling in Romania Scenario On holiday in Romania;

More information

Streams of Steam The Steam Boiler Specification Case Study

Streams of Steam The Steam Boiler Specification Case Study Streams of Steam The Steam Boiler Specification Case Study Manfred Broy, Franz Regensburger, Bernhard Schätz, Katharina Spies Institut für Informatik Technische Universität München email: {broy,regensbu,schaetz,spiesk}@informatik.tu-muenchen.de

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt & Richard Bubel & Reiner Hähnle & Wojciech Mostowski 31 August 2011 SEFM: Promela /GU 110831 1 / 35 Towards Model Checking

More information

Unit-3 Software Design (Lecture Notes)

Unit-3 Software Design (Lecture Notes) Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design

More information

REMOTE CONTROL MYSYSTEM

REMOTE CONTROL MYSYSTEM REMOTE CONTROL MYSYSTEM GENERAL FEATURES... 3 MAIN FUNCTIONS AND EQUIPMENT:... 3 LCD DISPLAY... 4 KEYBOARD:... 5 MAIN LOGIC... 6 BOARD CONFIGURATION... 7 MAIN PARAMETERS LIST:... 7 MAIN PARAMETERS CONFIGURATION:...

More information

Generating Code from Event-B Using an Intermediate Specification Notation

Generating Code from Event-B Using an Intermediate Specification Notation Rodin User and Developer Workshop Generating Code from Event-B Using an Intermediate Specification Notation Andy Edmunds - ae02@ecs.soton.ac.uk Michael Butler - mjb@ecs.soton.ac.uk Between Abstract Development

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Greedy Local Search Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 19, 2007 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

Lecture 9. Monday, January 31 CS 205 Programming for the Sciences - Lecture 9 1

Lecture 9. Monday, January 31 CS 205 Programming for the Sciences - Lecture 9 1 Lecture 9 Reminder: Programming Assignment 3 is due Wednesday by 4:30pm. Exam 1 is on Friday. Exactly like Prog. Assign. 2; no collaboration or help from the instructor. Log into Windows/ACENET. Start

More information

(Not Quite) Minijava

(Not Quite) Minijava (Not Quite) Minijava CMCS22620, Spring 2004 April 5, 2004 1 Syntax program mainclass classdecl mainclass class identifier { public static void main ( String [] identifier ) block } classdecl class identifier

More information

Function Block Diagram (FBD)

Function Block Diagram (FBD) TM241TRE.30-ENG 2012/01/03 Function Block Diagram (FBD) TM241 Requirements 2 Training modules: TM210 The Basics of Automation Studio TM223 Automation Studio Diagnostics Software None Hardware None Table

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active

More information

A quick introduction to SML

A quick introduction to SML A quick introduction to SML CMSC 15300 April 9, 2004 1 Introduction Standard ML (SML) is a functional language (or higherorder language) and we will use it in this course to illustrate some of the important

More information

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0. Range: This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version.. isclaimer The shapes of the reference glyphs used in these code charts

More information

Introduction to Artificial Intelligence. Informed Search

Introduction to Artificial Intelligence. Informed Search Introduction to Artificial Intelligence Informed Search Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU Winter Term 2004/2005 B. Beckert: KI für IM p.1 Outline Best-first search A search Heuristics B. Beckert:

More information

E04DGF NAG Fortran Library Routine Document

E04DGF NAG Fortran Library Routine Document E04 Minimizing or Maximizing a Function E04DGF NAG Fortran Library Routine Document Note. Before using this routine, please read the Users Note for your implementation to check the interpretation of bold

More information

COMP520 - GoLite Type Checking Specification

COMP520 - GoLite Type Checking Specification COMP520 - GoLite Type Checking Specification Vincent Foley February 26, 2015 1 Declarations Declarations are the primary means of introducing new identifiers in the symbol table. In Go, top-level declarations

More information

Configuring Device Control with the Monitoring App

Configuring Device Control with the Monitoring App Dec 2016 Configuring Device Control with the Monitoring App Contents Introduction... 1 Device Information... 2 Activation Button... 3 Device Dashboard... 4 Configuring Devices... 7 Appendix A Scheduling

More information

Status: Informal Type: Technical. This document gives an example of the Compliance Notation.

Status: Informal Type: Technical. This document gives an example of the Compliance Notation. Project: Title: Status: Informal Type: Technical Author: Name Location Signature Date R.D. Arthan Abstract: WIN01 This document gives an example of the. Distribution: Library Copyright c : Lemma 1 Ltd

More information

Spark verification features

Spark verification features Spark verification features Paul Jackson School of Informatics University of Edinburgh Formal Verification Spring 2018 Adding specification information to programs Verification concerns checking whether

More information

CPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points)

CPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points) Name Definition Matching (8 Points) 1. (8 pts) Match the words with their definitions. Choose the best definition for each word. Relational Expression Iteration Counter Count-controlled loop Loop Flow

More information

Port-Numbering Model. DDA Course week 2

Port-Numbering Model. DDA Course week 2 Port-Numbering Model DDA Course week 2!1 Distributed Systems Intuition: distributed system communication network network equipment + communication links distributed algorithm computer program Precisely

More information

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 Graphs (MTAT.05.080, 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 homepage: http://www.ut.ee/~peeter_l/teaching/graafid08s (contains slides) For grade:

More information

GNU ccscript Scripting Guide IV

GNU ccscript Scripting Guide IV GNU ccscript Scripting Guide IV David Sugar GNU Telephony 2008-08-20 (The text was slightly edited in 2017.) Contents 1 Introduction 1 2 Script file layout 2 3 Statements and syntax 4 4 Loops and conditionals

More information

Using USB Hot-Plug For UMTS Short Message Service. Technical Brief from Missing Link Electronics:

Using USB Hot-Plug For UMTS Short Message Service. Technical Brief from Missing Link Electronics: Technical Brief 20100507 from Missing Link Electronics: Using USB Hot-Plug For UMTS Short Message Service This Technical Brief describes how the USB hot-plug capabilities of the MLE Soft Hardware Platform

More information

Programming Logic and Design Ninth Edition

Programming Logic and Design Ninth Edition Programming Logic and Design Ninth Edition Chapter 3 Understanding Structure The Disadvantages of Unstructured Spaghetti Code Spaghetti code Logically snarled program statements Often a complicated mess

More information

Compilation a primer

Compilation a primer Compilation a primer Ralf Lämmel Software Languages Team University of Koblenz-Landau http://www.softlang.org/ Compilation versus interpretation Interpretation: An interpreter executes elements of a software

More information

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements Review: Exam 1 9/20/06 CS150 Introduction to Computer Science 1 1 Your First C++ Program 1 //*********************************************************** 2 // File name: hello.cpp 3 // Author: Shereen Khoja

More information

Interpreter Implementation

Interpreter Implementation Interpreter Implementation l l l The crucial insight to implementing functions is that function names act just like variable names - they are the key into a symbol lookup table. l During function declaration

More information

Lab 6: More Steps in Haskell

Lab 6: More Steps in Haskell Programming Paradigms and Formal Semantics Lab 6: More Steps in Haskell (Basic Language Processing) Vadim Zaytsev, Ralf Lämmel (@grammarware & @notquiteabba), Software Languages Team, Universität Koblenz-Landau

More information

Program input is information that the program requests from. Controlling Program Input and Output. Bonus Chapter 7. Using Input Commands

Program input is information that the program requests from. Controlling Program Input and Output. Bonus Chapter 7. Using Input Commands Bonus Chapter 7 Controlling Program Input and Output In This Chapter Entering program input and output commands Using input commands (Input, Prompt) Using output commands (Disp, Output) Using a program

More information

Verifying control systems using CSP, FDR, and Handel-C.

Verifying control systems using CSP, FDR, and Handel-C. erifying control systems using CSP, FDR, and Handel-C. 01 Verifying control systems using CSP, FDR, and Handel-C. Alistair A. McEwan University of Surrey erifying control systems using CSP, FDR, and Handel-C.

More information

CA4003 Compiler Construction Assignment Language Definition

CA4003 Compiler Construction Assignment Language Definition CA4003 Compiler Construction Assignment Language Definition David Sinclair 2017-2018 1 Overview The language is not case sensitive. A nonterminal, X, is represented by enclosing it in angle brackets, e.g.

More information

Synchronous Specification

Synchronous Specification Translation Validation for Synchronous Specification in the Signal Compiler Van-Chan Ngo Jean-Pierre Talpin Thierry Gautier INRIA Rennes, France FORTE 2015 Construct a modular translation validationbased

More information

SWEN 224 Formal Foundations of Programming

SWEN 224 Formal Foundations of Programming T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2011 END-OF-YEAR SWEN 224 Formal Foundations of Programming Time Allowed: 3 Hours

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 2 : C# Language Basics Lecture Contents 2 The C# language First program Variables and constants Input/output Expressions and casting

More information

: Principles of Imperative Computation Victor Adamchik. Practice Exam - I

: Principles of Imperative Computation Victor Adamchik. Practice Exam - I 15-122 Practice Exam - I Page 1 of 10 15-122 : Principles of Imperative Computation Victor Adamchik Practice Exam - I Name: Andrew ID: Answer the questions in the space provided following each question.

More information

Confirm Picking. Sales.Scanco.com Portal Settings Accessing the Application Warehouse Prompt Staging Bin Prompt...

Confirm Picking. Sales.Scanco.com Portal Settings Accessing the Application Warehouse Prompt Staging Bin Prompt... Contents Confirm Picking Sales.Scanco.com Portal Settings... 2 Accessing the Application... 3 Warehouse Prompt... 4 Staging Bin Prompt... 5 Sales Order Prompt... 6 Sales Order List Maintenance... 7 Item

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Model Checking with Temporal Logic Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification

More information

Reference Sheet for CO142.2 Discrete Mathematics II

Reference Sheet for CO142.2 Discrete Mathematics II Reference Sheet for CO14. Discrete Mathematics II Spring 017 1 Graphs Defintions 1. Graph: set of N nodes and A arcs such that each a A is associated with an unordered pair of nodes.. Simple graph: no

More information

CS , Fall 2001 Exam 2

CS , Fall 2001 Exam 2 Andrew login ID: Full Name: CS 15-213, Fall 2001 Exam 2 November 13, 2001 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write

More information

Python Evaluation Rules

Python Evaluation Rules Python Evaluation Rules UW CSE 160 https://courses.cs.washington.edu/courses/cse160/15sp/ Michael Ernst and Isaac Reynolds mernst@cs.washington.edu April 1, 2015 Contents 1 Introduction 2 1.1 The Structure

More information

THE INTEGER DATA TYPES. Laura Marik Spring 2012 C++ Course Notes (Provided by Jason Minski)

THE INTEGER DATA TYPES. Laura Marik Spring 2012 C++ Course Notes (Provided by Jason Minski) THE INTEGER DATA TYPES STORAGE OF INTEGER TYPES IN MEMORY All data types are stored in binary in memory. The type that you give a value indicates to the machine what encoding to use to store the data in

More information

Parsing a primer. Ralf Lämmel Software Languages Team University of Koblenz-Landau

Parsing a primer. Ralf Lämmel Software Languages Team University of Koblenz-Landau Parsing a primer Ralf Lämmel Software Languages Team University of Koblenz-Landau http://www.softlang.org/ Mappings (edges) between different representations (nodes) of language elements. For instance,

More information

SDL Profiles - Definition and Formal Extraction

SDL Profiles - Definition and Formal Extraction Technical Report SDL Profiles - Definition and Formal Extraction R. Grammes R. Gotzhein September 19, 2006 University of Kaiserslautern Contents 1 Introduction 4 2 Language Definition of SDL 5 2.1 Specification

More information

B: Boiler Condensate Conductivity

B: Boiler Condensate Conductivity Safety 1. Installation 1.1 B:Services 1.2 Driver Card Installation 1.3 Sens Types 1.4 Sens Wiring 2. Configuration - Operation 2.1 Range Selection 2.2 Diagnostics 3. Specifications Safety 250mV AC maximum

More information

Improved BDD-based Discrete Analysis of Timed Systems

Improved BDD-based Discrete Analysis of Timed Systems Improved BDD-based Discrete Analysis of Timed Systems Truong Khanh Nguyen 1, Jun Sun 2, Yang Liu 1, Jin Song Dong 1 and Yan Liu 1 1 School of Computing National University of Singapore 2 Information System

More information

Home and Mailing Addresses Overview

Home and Mailing Addresses Overview Home and Mailing Addresses Overview Introduction This guide provides the procedures for members to update their home and mailing addresses and enter a Thrift Savings Plan (TSP) address in Direct Access.

More information

sample exam Concurrent Programming tda383/dit390 Sample exam March 2016 Time:?? Place: Johanneberg

sample exam Concurrent Programming tda383/dit390 Sample exam March 2016 Time:?? Place: Johanneberg sample exam Concurrent Programming tda383/dit390 Sample exam March 2016 Time:?? Place: Johanneberg Responsible Michał Pałka 0707966066 Result Available no later than?-?-2016 Aids Max 2 books and max 4

More information

A Theory of Inductive Query Answering

A Theory of Inductive Query Answering In Proceedings of ICDM 02 1 A Theory of Inductive Query Answering Luc DE RAEDT Ý Manfred JAEGER Ý Þ Sau Dan LEE Ý Heikki MANNILA Þ Ý Inst. für Informatik University of Freiburg Georges Koehler Allee 79

More information

USER MANUAL OF THERMAL POWER PLANT (TPP) SIMULATOR SOFTWARE

USER MANUAL OF THERMAL POWER PLANT (TPP) SIMULATOR SOFTWARE USER MANUAL OF THERMAL POWER PLANT (TPP) SIMULATOR SOFTWARE This is the manual for Thermal Power Plant (TPP) Simulator laboratory exercise. The manual consists of useful information about simulator software,

More information

ALGEBRA Sec. 5 IDENTITY AXIOMS. MathHands.com. IDENTITY AXIOMS: Identities

ALGEBRA Sec. 5 IDENTITY AXIOMS. MathHands.com. IDENTITY AXIOMS: Identities IDENTITY AXIOMS IDENTITY AXIOMS: Identities It is helpful to recall the definition of a binary operation. As we have stated it, a binary operation is a mixing recipe for mixing two items. We used the color

More information

SCC Inc. TS-D Series. Technical Instructions. Document No. TS-3000 March 10, Deaerator, Surge and/or Condensate Control Panel.

SCC Inc. TS-D Series. Technical Instructions. Document No. TS-3000 March 10, Deaerator, Surge and/or Condensate Control Panel. Deaerator, Surge and/or Condensate Control Panel March 10, 2017 Description A TS-D series control system manages lead/lag operation of an individual deaerator (DA), surge, condensate, or a combination

More information

An introduction to formal specifications and JML. Invariant properties

An introduction to formal specifications and JML. Invariant properties An introduction to formal specifications and JML Invariant properties Yves Ledru Université Grenoble-1 Laboratoire d Informatique de Grenoble Yves.Ledru@imag.fr 2013 Page 1 Invariant properties Invariants

More information

Steps to program development

Steps to program development Automate processes - Programming Concepts and Design Steps to program development A computer program is a set of formal instructions, which the computer executes in order to carry out some designated task.

More information

Induction and Semantics in Dafny

Induction and Semantics in Dafny 15-414 Lecture 11 1 Instructor: Matt Fredrikson Induction and Semantics in Dafny TA: Ryan Wagner Encoding the syntax of Imp Recall the abstract syntax of Imp: a AExp ::= n Z x Var a 1 + a 2 b BExp ::=

More information

Writing Temporally Predictable Code

Writing Temporally Predictable Code Writing Temporally Predictable Code Peter Puschner Benedikt Huber slides credits: P. Puschner, R. Kirner, B. Huber VU 2.0 182.101 SS 2015 Task Execution Time a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 9 a 8 1. Sequence

More information

nag opt simplex (e04ccc)

nag opt simplex (e04ccc) nag opt simplex () 1. Purpose nag opt simplex () minimizes a general function F (x) of n independent variables x = (x 1,x 2,...,x n ) T by the Simplex method. No derivatives are required. 2. Specification

More information

PHPoC vs PHP > Overview. Overview

PHPoC vs PHP > Overview. Overview PHPoC vs PHP > Overview Overview PHPoC is a programming language that Sollae Systems has developed. All of our PHPoC products have PHPoC interpreter in firmware. PHPoC is based on a wide use script language

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Constraint Optimization Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg July 17, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

WISE-580x Data Logger Application Example

WISE-580x Data Logger Application Example WISE-580x Data Logger Application Example Scenario: In a factory wastewater water level monitoring application, a WISE-5800 is connected to an I-7012FD module, the AI channel 0 of this module is connected

More information

8.3 Common Loop Patterns

8.3 Common Loop Patterns Lecture 17 Topics: Chapter 8. Loop Structures and Booleans 8.3 (Continues) nested loops 8.4. Computing with booleans 8.5 Other common structures: post-test, loop and half. 1 8.3 Common Loop Patterns Nested

More information

InterprocStack analyzer for recursive programs with finite-type and numerical variables

InterprocStack analyzer for recursive programs with finite-type and numerical variables InterprocStack analyzer for recursive programs with finite-type and numerical variables Bertrand Jeannet Contents 1 Invoking InterprocStack 1 2 The Simple language 2 2.1 Syntax and informal semantics.........................

More information

Typed Lambda Calculus. Chapter 9 Benjamin Pierce Types and Programming Languages

Typed Lambda Calculus. Chapter 9 Benjamin Pierce Types and Programming Languages Typed Lambda Calculus Chapter 9 Benjamin Pierce Types and Programming Languages t ::= x x. t t t Call-by-value small step perational Semantics terms variable v ::= values abstraction x. t abstraction values

More information

Modeling Java Programs for Diagnosis ½

Modeling Java Programs for Diagnosis ½ Modeling Java Programs for Diagnosis ½ Cristinel Mateis and Markus Stumptner and Franz Wotawa ¾ Abstract. A key advantage of model-based diagnosis is the ability to use a generic model for the production

More information

Course Summary! What have we learned and what are we expected to know?

Course Summary! What have we learned and what are we expected to know? Course Summary! What have we learned and what are we expected to know? Overview! Introduction Modelling in MiniZinc Finite Domain Constraint Solving Search Linear Programming and Network Flow Mixed Integer

More information

Revisiting the Steam-Boiler Case Study with LUTESS : Modeling for Automatic Test Generation

Revisiting the Steam-Boiler Case Study with LUTESS : Modeling for Automatic Test Generation Revisiting the Steam-Boiler Case Study with LUTESS : Modeling for Automatic Test Generation Virginia Papailiopoulou 1, Besnik Seljimi 1, Ioannis Parissis 2 {virginia.papailiopoulou, besnik.seljimi}@imag.fr,

More information

6.001 SICP. Types. Types compound data. Types simple data. Types. Types procedures

6.001 SICP. Types. Types compound data. Types simple data. Types. Types procedures Today s topics Types of objects and procedures Procedural abstractions Capturing patterns across procedures Higher Order Procedures Types (+ 5 1) ==> 15 (+ "hi 5) ;The object "hi", passed as the first

More information

PHPoC. PHPoC vs PHP. Version 1.1. Sollae Systems Co., Ttd. PHPoC Forum: Homepage:

PHPoC. PHPoC vs PHP. Version 1.1. Sollae Systems Co., Ttd. PHPoC Forum:  Homepage: PHPoC PHPoC vs PHP Version 1.1 Sollae Systems Co., Ttd. PHPoC Forum: http://www.phpoc.com Homepage: http://www.eztcp.com Contents 1 Overview...- 3 - Overview...- 3-2 Features of PHPoC (Differences from

More information

Control-Flow Graph and. Local Optimizations

Control-Flow Graph and. Local Optimizations Control-Flow Graph and - Part 2 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Outline of the Lecture What is

More information

Graph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s

Graph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s 1 Graph Traversal 1 Breadth First Search visit all nodes and edges in a graph systematically gathering global information find all nodes reachable from some source node s Prove this by giving a minimum

More information

Smart heating system. with wireless thermostats & smartphone control for every room. Get the most out of any water based underfloor heating

Smart heating system. with wireless thermostats & smartphone control for every room. Get the most out of any water based underfloor heating Smart heating system with wireless thermostats & smartphone control for every room Get the most out of any water based underfloor heating DETAILED OVERVIEW Control the heating in your home from anywhere.

More information

Reference manual EPL programming language

Reference manual EPL programming language Reference manual EPL programming language Book E5 - Version 2.05 Reference manual EPL programming language E5 Version 2.05 Table of contents Chapter 1 Introduction 5 Chapter 2 Elements of the EPL Language

More information

OpenAltaRica - Example A (Simple) Cooling System

OpenAltaRica - Example A (Simple) Cooling System Copyright IRT SystemX 2015-2018 (v2.1) 1 Valve VI Pump P Valve VO Line1 Valve VI Pump P Valve VO Line2 Reactor Tank TK WHAT HOW Cool a reactor Move cooling liquid from a Tank to the considered Reactor

More information

[DP19] DN-500CD. Serial Command Protocol Guide

[DP19] DN-500CD. Serial Command Protocol Guide [DP19] Serial Command Protocol Guide Ver. 1.2 January 16, 2017 inmusic Brands, Inc. 1 1 Contents 2 General... 3 2.1 RS-232C Control... 3 3 Specification... 4 3.1 RS-232C Control... 4 4 Communication Protocol...

More information

February 8th, 2017 Exam of Switching technologies for data centers (2016/17)

February 8th, 2017 Exam of Switching technologies for data centers (2016/17) February 8th, 2017 Exam of Switching technologies for data centers (2016/17) Rules for the exam. It is forbidden to use notes, books or calculators. Use only draft paper provided by the professor. When

More information

Black Box Testing (revisited) Csci 565 Spring 2007

Black Box Testing (revisited) Csci 565 Spring 2007 Black Box Testing (revisited) Csci 565 Spring 2007 Objectives Cause-Effect Graphs in Functional testing Input validation and Syntax-driven Testing Decision Table-Based Testing State transition testing

More information

SFU CMPT Lecture: Week 8

SFU CMPT Lecture: Week 8 SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing

More information

Denotational Semantics

Denotational Semantics Denotational Semantics 8 12 lectures for Part II CST 2010/11 Marcelo Fiore Course web page: http://www.cl.cam.ac.uk/teaching/1011/denotsem/ 1 Lecture 1 Introduction 2 What is this course about? General

More information

CVO103: Programming Languages. Lecture 5 Design and Implementation of PLs (1) Expressions

CVO103: Programming Languages. Lecture 5 Design and Implementation of PLs (1) Expressions CVO103: Programming Languages Lecture 5 Design and Implementation of PLs (1) Expressions Hakjoo Oh 2018 Spring Hakjoo Oh CVO103 2018 Spring, Lecture 5 April 3, 2018 1 / 23 Plan Part 1 (Preliminaries):

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Bernhard Beckert Adaptation of slides by Wolfgang Ahrendt Chalmers University, Gothenburg, Sweden Formal Specification and Verification: 1 / 23 Part I Formal Specification

More information

APROS laboratory manual:

APROS laboratory manual: Introduction to the APROS code APROS laboratory manual: Aim of the course Studying the operation of APROS v5.10 thermal-hydraulic system code: building simple flow circuits, displaying process parameters,

More information

l e t print_name r = p r i n t _ e n d l i n e ( Name : ^ r. name)

l e t print_name r = p r i n t _ e n d l i n e ( Name : ^ r. name) Chapter 8 Row polymorphism Consider the following code: type name_home = {name : s t r i n g ; home : s t r i n g } type name_mobile = {name : s t r i n g ; mobile : s t r i n g } l e t jane = {name =

More information

Basics of interpretation with Haskell as the metalanguage

Basics of interpretation with Haskell as the metalanguage Basics of interpretation with Haskell as the metalanguage Ralf Lämmel Software Language Engineering Team University of Koblenz-Landau http://www.softlang.org/ Interpretation for a simple expression language

More information

A Brief Introduction to Standard ML

A Brief Introduction to Standard ML A Brief Introduction to Standard ML Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität

More information

Unified Configuration Knowledge Representation Using Weight Constraint Rules

Unified Configuration Knowledge Representation Using Weight Constraint Rules Unified Configuration Knowledge Representation Using Weight Constraint Rules Timo Soininen ½ and Ilkka Niemelä ¾ and Juha Tiihonen ½ and Reijo Sulonen ½ Abstract. In this paper we present an approach to

More information

CS 314 Principles of Programming Languages

CS 314 Principles of Programming Languages CS 314 Principles of Programming Languages Lecture 17: Functional Programming Zheng (Eddy Zhang Rutgers University April 4, 2018 Class Information Homework 6 will be posted later today. All test cases

More information

Function: function procedures and sub procedures share the same characteristics, with

Function: function procedures and sub procedures share the same characteristics, with Function: function procedures and sub procedures share the same characteristics, with one important difference- function procedures return a value (e.g., give a value back) to the caller, whereas sub procedures

More information

Appendix A OCL 2.0 Grammar

Appendix A OCL 2.0 Grammar Appendix A OCL 2.0 Grammar In this appendix we summarise the concrete syntax of OCL [113] using an extended Backus-Naur format [8]. The grammar in [113] is different from the grammar presented here. It

More information