The Object Contraint Language by Example

Size: px
Start display at page:

Download "The Object Contraint Language by Example"

Transcription

1 Formal Specification of Software The Object Contraint Language by Example Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Specification of Software p.1

2 The Classifier Context inv ( c :)? typename expressionname? : OclExpression ( c :)? typename inv expressionname 1? : OclExpression inv expressionname n? : OclExpression n B. Beckert: Formal Specification of Software p.2

3 The Operator Context ( c :)? typename ::opname(p 1 : type 1 ;... ;p k : type k ):rtype {pre,post } expressionname? : OclExpression B. Beckert: Formal Specification of Software p.3

4 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò Ù Ñ ØØ ÔØ ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Ø ØÙ ËØ ØÙ ØÓØ ÐÒÙÑ Ö ÁÒØ Constraints with Attributes È Ô Ö È Ö ÓÒ Ö Ö Ö Ú Û ÙÑÔ ÁÒØ Ú ÐÙ Ø µ ÒÙÑ Ö Ø ÓÒ ËØ ØÙ Paper inv number 1 Ö Ø B. Beckert: Formal Specification of Software p.4

5 Equivalent notational variations Paper inv self.number 1 B. Beckert: Formal Specification of Software p.5

6 Equivalent notational variations Paper inv self.number 1 c:paper inv c.number 1 B. Beckert: Formal Specification of Software p.5

7 Equivalent notational variations Paper inv self.number 1 c:paper inv c.number 1 c:paper inv startcount : c.number 1 B. Beckert: Formal Specification of Software p.5

8 Equivalent notational variations Paper inv self.number 1 c:paper inv c.number 1 c:paper inv startcount : c.number 1 Paper inv startcount : number 1 B. Beckert: Formal Specification of Software p.5

9 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò Ù Ñ ØØ ÔØ ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Ø ØÙ ËØ ØÙ ØÓØ ÐÒÙÑ Ö ÁÒØ Operator Constraint È Ô Ö È Ö ÓÒ Ö Ö Ö Ú Û ÙÑÔ ÁÒØ Ú ÐÙ Ø µ ÒÙÑ Ö Ø ÓÒ ËØ ØÙ Ö Ø pre post c:paper::evaluate() c.status = submitted c.status = accept or c.status = reject B. Beckert: Formal Specification of Software p.6

10 Types Model types The classes form the diagram of an OCL constraint B. Beckert: Formal Specification of Software p.7

11 Types Model types The classes form the diagram of an OCL constraint Basic types Integer, Real, Boolean and String B. Beckert: Formal Specification of Software p.7

12 Types Model types The classes form the diagram of an OCL constraint Basic types Integer, Real, Boolean and String Enumeration types The user defined enumeration types B. Beckert: Formal Specification of Software p.7

13 Types Model types The classes form the diagram of an OCL constraint Basic types Integer, Real, Boolean and String Enumeration types The user defined enumeration types Collection types Set, Bag, Sequence B. Beckert: Formal Specification of Software p.7

14 Types Model types The classes form the diagram of an OCL constraint Basic types Integer, Real, Boolean and String Enumeration types The user defined enumeration types Collection types Set, Bag, Sequence Special types e.g. Ocl Any, OclType B. Beckert: Formal Specification of Software p.7

15 Subtyping T 1, T 2 model types: T 1 < T 2 holds exactly if T 1 is a subclass of T 2 B. Beckert: Formal Specification of Software p.8

16 Subtyping T 1, T 2 model types: T 1 < T 2 holds exactly if T 1 is a subclass of T 2 Integer < Real B. Beckert: Formal Specification of Software p.8

17 Subtyping T 1, T 2 model types: T 1 < T 2 holds exactly if T 1 is a subclass of T 2 Integer < Real For all type expressions T, not denoting a collection type: Set(T) < Collection(T) Bag(T) < Collection(T) Sequence(T) < Collection(T) B. Beckert: Formal Specification of Software p.8

18 Subtyping T 1, T 2 model types: T 1 < T 2 holds exactly if T 1 is a subclass of T 2 Integer < Real For all type expressions T, not denoting a collection type: Set(T) < Collection(T) Bag(T) < Collection(T) Sequence(T) < Collection(T) If T is a model, basic, or enumeration type: T < OCLAny B. Beckert: Formal Specification of Software p.8

19 Subtyping T 1, T 2 model types: T 1 < T 2 holds exactly if T 1 is a subclass of T 2 Integer < Real For all type expressions T, not denoting a collection type: Set(T) < Collection(T) Bag(T) < Collection(T) Sequence(T) < Collection(T) If T is a model, basic, or enumeration type: T < OCLAny If T 1 < T 2 and C is any of the type constructors Collection, Set, Bag, Sequence: C(T 1 ) < C(T 2 ). B. Beckert: Formal Specification of Software p.8

20 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò Ù Ñ ØØ ÔØ ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Ø ØÙ ËØ ØÙ ØÓØ ÐÒÙÑ Ö ÁÒØ Typing Examples È Ô Ö È Ö ÓÒ Ö Ö Ö Ú Û ÙÑÔ ÁÒØ Ú ÐÙ Ø µ constraint p:person ÒÙÑ Ö Ø ÓÒ ËØ ØÙ Ö Ø p.name, p. have type String. constraint c:paper c.number has type Integer, c.status has type Status, c.authors has type Set(Person) B. Beckert: Formal Specification of Software p.9

21 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Constraints with Associations È Ö ÓÒ È Ô Ö ½ Ö Ö Ö Ú Û inv c:paper c.author <> c.referee B. Beckert: Formal Specification of Software p.10

22 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Constraints with Associations È Ö ÓÒ È Ô Ö Ö Ö Ö Ú Û inv c:paper c.authors > intersection(c.referee) > isempty B. Beckert: Formal Specification of Software p.11

23 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Constraints and Navigation È Ö ÓÒ È Ô Ö Ö Ú Û Ö Ú Û Ô Ô Ö Ö Ö Ö ½ ½ Ë ÓÒ c:paper Ö ÓÒ inv not(c.authors > includes(c.session.chair)) Ø ØÐ ËØÖ Ò inv p:person p.reviewed_papers.session.chair > includes(p) B. Beckert: Formal Specification of Software p.12

24 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ allinstances È Ö ÓÒ È Ô Ö Ö Ö Ö Ú Û Person inv Person.allInstances > forall(p p. .size 3) Paper inv Paper.allInstances > forall(p1, p2 p1 <> p2 implies p1.number <> p2.number) B. Beckert: Formal Specification of Software p.13

25 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Avoiding allinstances È Ö ÓÒ È Ô Ö Ö Ö Ö Ú Û Person inv Person.allInstances > forall(p p. .size 3) Can be equivalently replaced by: p:person inv p. .size 3 B. Beckert: Formal Specification of Software p.14

26 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Avoiding allinstances È Ö ÓÒ È Ô Ö Ö Ö Ö Ú Û Paper inv Paper.allInstances > forall(p1, p2 p1 <> p2 implies p1.number <> p2.number) Can be equivalently replaced by: p1,p2:papers inv p1 <> p2 implies p1.number <> p2.number) B. Beckert: Formal Specification of Software p.15

27 Ò Ñ ËØÖ Ò ¹Ñ Ð ËØÖ Ò ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Avoiding allinstances È Ö ÓÒ È Ô Ö Ö Ö Ö Ú Û Ù Ñ ØØ Ô Ô Ö ÓÒ Ö Ò Conference inv self.submitted_papers > forall(p1, p2 p1 <> p2 implies p1.number <> p2.number) Ò Ñ ËØÖ Ò B. Beckert: Formal Specification of Software p.16

28 ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Ô ÁÒØ ØÓØ ÐÒÙÑ Ö ÁÒØ Introducing the iterate Operation È Ô Ö p:papers ÙÑÔ ÁÒØ inv Papers.allInstances > iterate(x:paper ; y:int = 0 y+x.pages) = Papers.sumpages B. Beckert: Formal Specification of Software p.17

29 Syntax of the iterate construct iterator variable term of sort T, initial term range formula t -> iterate(x : S; y : T = t 0 u) accumulator variable term of sort T, step term B. Beckert: Formal Specification of Software p.18

30 iterate: Example 1 Adding a new operation occurences to the built-in OCL type String string.occurences(string2:string):set(integer) The set of positions in string where an occurence of string2 as a substring starts. Strings start with position 0. B. Beckert: Formal Specification of Software p.19

31 iterate: Example 1 Adding a new operation occurences to the built-in OCL type String string.occurences(string2:string):set(integer) The set of positions in string where an occurence of string2 as a substring starts. Strings start with position 0. pre : string2.size =< string.size post : result = { 0.. (string.size - string2.size) } > iterate(x; y:set(integer)=set{} if string.substring(x,x+string2.size) = string2 then y > including(x) else y) B. Beckert: Formal Specification of Software p.19

32 iterate: Example 2 Adding a new operation substringocc to the built-in OCL type String string.substringocc(string2:string):boolean True if string2 occurs at least once as a substring in string. B. Beckert: Formal Specification of Software p.20

33 iterate: Example 2 Adding a new operation substringocc to the built-in OCL type String string.substringocc(string2:string):boolean True if string2 occurs at least once as a substring in string. post : result = (string2.size =< string.size) and not (string.occurences(string2) > isempty) B. Beckert: Formal Specification of Software p.20

34 Quantifiers t > iterate(x; y : Boolean = true y and a) t is an expression of type Set(T) x is a variable of type T a is an expression of type Boolean B. Beckert: Formal Specification of Software p.21

35 Quantifiers t > iterate(x; y : Boolean = true y and a) t is an expression of type Set(T) x is a variable of type T a is an expression of type Boolean Can be equivalently expressed by t >forall(x a) B. Beckert: Formal Specification of Software p.21

36 Quantifiers t > iterate(x; y : Boolean = true y and a) t is an expression of type Set(T) x is a variable of type T a is an expression of type Boolean Can be equivalently expressed by t >forall(x a) Likewise t > iterate(x; y : Boolean = false y or a) B. Beckert: Formal Specification of Software p.21

37 Quantifiers t > iterate(x; y : Boolean = true y and a) t is an expression of type Set(T) x is a variable of type T a is an expression of type Boolean Can be equivalently expressed by t >forall(x a) Likewise t > iterate(x; y : Boolean = false y or a) Can be expressed by t > exists(x a) B. Beckert: Formal Specification of Software p.21

38 Collecting Elements Paper author:person number:int submitted papers Conference name:string totalnumber:integer Boolean:isAuthor(name:String) pre c:conference::isauthor(name:string) true post result = c.sp > collect(p p.author.name) > includes(name) B. Beckert: Formal Specification of Software p.22

39 Reducing collect to iterate set > collect(x expr ) : Bag(T) = set > iterate(x; acc : Bag(T) = Bag{} acc > including(expr) ) Evaluation of c.sp > collect(p p.authors.name) involves implicit flattening. B. Beckert: Formal Specification of Software p.23

40 Selecting Elements Paper authors[*]:person number:int pages:int countshortpapers():integer pre Paper::countShortPapers():Integer true post result = Paper.allInstances > select(p p.pages < 10) > size B. Beckert: Formal Specification of Software p.24

41 Reducing select to iterate s > select(x expr ) : Set(T) = s > iterate(x; acc : Set(T) = Set{} if expr then acc > including(x) else acc) where s is of type Set(T) expr is an OCL expression of type Boolean B. Beckert: Formal Specification of Software p.25

42 ÙØ ÓÖ È Ö ÓÒ ÒÙÑ Ö ÁÒØ Ò Ñ ËØÖ Ò ØÓØ ÐÒÙÑ Ö ÁÒØ Ö Refering to Previous Values ÓÒ Ö Ò È Ô Ö Ù Ñ ØØ Ô Ô Ö È Ô Ö µ pre c:conference::addpaper() true post totalnumber = totalnumber@pre + 1 B. Beckert: Formal Specification of Software p.26

43 Multiple Occurences Ò ½ ÚÓ Ñ µ ÑÔÐÓÝÑ ÒØ Ù ØÓÑ Ö È ÓÔÐ ½ Ø ÒØ c.pa.phone the new phone number of the current p.a. the new phone number of the previous p.a. the old phone number of the current p.a. the old phone number of the previous p.a. B. Beckert: Formal Specification of Software p.27 ÁÒØ Ö Ô ÓÒ Ô

What is OCL? OCL/Context

What is OCL? OCL/Context What is? Software Engineering Lecture 5: Prof. Dr. Peter Thiemann Universität Freiburg SS 20 = object constraint language standard query language of UML 2 specify expressions and constraints in object-oriented

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Profiles 166 Usage scenarios Metamodel customization for adapting terminology to a specific platform or domain adding (visual) notation adding and specializing semantics adding

More information

Software Engineering

Software Engineering Software Engineering Lecture 15: OCL Peter Thiemann University of Freiburg, Germany 01.07.2013 Peter Thiemann (Univ. Freiburg) Software Engineering 01.07.2013 1 / 28 What is OCL? OCL = Object Constraint

More information

From OCL to Typed First-order Logic

From OCL to Typed First-order Logic 22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 From OCL to Typed First-order Logic Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally developed by Reiner

More information

Object Constraint https://www.lri.fr/~linaye/gl.html lina.ye@centralesupelec.fr Sequence 3, 2017-2018 1/45 Plan 1 2 3 4 2/45 Motivation Why OCL Cannot represent all the relevant aspects of a specification

More information

Rubby Casallas Grupo de Construcción de Software Uniandes

Rubby Casallas Grupo de Construcción de Software Uniandes UML OCL 2.0 Rubby Casallas Grupo de Construcción de Software Uniandes Why OCL? A UML diagram, such as a class diagram, is typically not refined enough to provide all the relevant aspects of a specification.

More information

Object Constraint Language Specification 7

Object Constraint Language Specification 7 Object Constraint Language Specification 7 This chapter introduces and defines the Object Constraint Language (OCL), a formal language used to express constraints. Users of the Unified Modeling Language

More information

Steam Boiler Control An Example in ASM Formalisation

Steam Boiler Control An Example in ASM Formalisation 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

More information

OCL parsing / type checking in the context of GF and KeY. Kristofer Johannisson

OCL parsing / type checking in the context of GF and KeY. Kristofer Johannisson OCL parsing / type checking in the context of GF and KeY Kristofer Johannisson 1 I. Introduction 2 Typechecking? context OwnerPIN inv: maxpinsize > 0 and maxtries > 0 and triesremaining >= 0 and triesremaining

More information

Lecture 9. UML language architecture

Lecture 9. UML language architecture Lecture 9 UML Model architecture Object Constraint Language 12/10/98 AOO / UML / OCL/Strategies 1 UML language architecture UML metamodel defines meaning of UML models Defined in a metacircular manner,

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 5: OCL, ParTeG Course Outline L1: Introduction

More information

Chapter 8, Object Design: Object Constraint Language

Chapter 8, Object Design: Object Constraint Language Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 8, Object Design: Object Constraint Language Outline of the Lecture OCL Simple predicates Preconditions Postconditions Contracts

More information

Introduction to Scientific Typesetting Lesson 11: Foreign Languages, Columns, and Section Titles

Introduction to Scientific Typesetting Lesson 11: Foreign Languages, Columns, and Section Titles Introduction to Scientific Typesetting Lesson 11: Foreign Languages,, and Ryan Higginbottom January 19, 2012 1 Ð The Package 2 Without Ð What s the Problem? With Ð Using Another Language Typing in Spanish

More information

7 OCL Language Description

7 OCL Language Description 7 OCL Language Description This chapter introduces the Object Constraint Language (OCL), a formal language used to describe expressions on UML models. These expressions typically specify invariant conditions

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:

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

Object Constraint Language Specification

Object Constraint Language Specification Object Constraint Language Specification version 1.1 1 September 1997 Rational Software Microsoft Hewlett-Packard Oracle Sterling Software MCI Systemhouse Unisys ICON Computing IntelliCorp i-logix IBM

More information

Hans Karlsen. MDriven The book. Doing effective Business by taking control of Information. Hans Karlsen, Stockholm, Sweden

Hans Karlsen. MDriven The book. Doing effective Business by taking control of Information. Hans Karlsen, Stockholm, Sweden Hans Karlsen MDriven The book Doing effective Business by taking control of Information Hans Karlsen, Stockholm, Sweden 2016-01-23 Part 8 Object Constraint Language 1 What is Object Constraint Language

More information

Design and Implementation of a UML/OCL Compiler

Design and Implementation of a UML/OCL Compiler Design and Implementation of a UML/OCL Compiler Faridah Liduan Master Thesis INF/SCR-04/31 June 2004 Institute of Information and Computing Sciences Utrecht University Abstract The Dutch Tax and Customs

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2012-10-30 03 2012-10-30 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012

THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012 THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012 COMP2310 / COMP6310 (Concurrent and Distributed Systems ) Writing Period: 3 hours duration Study Period: 15 minutes duration

More information

Object Constraint Language 2

Object Constraint Language 2 Object Constraint Language 2 Martin Nečaský Dept. of Software Engineering Faculty of Mathematics and Physics Charles University in Prague Type System predefined types in OCL standard library generic types

More information

PHANTOM TYPES AND SUBTYPING

PHANTOM TYPES AND SUBTYPING PHANTOM TYPES AND SUBTYPING Matthew Fluet and Riccardo Pucella Department of Computer Science Cornell University ßfluet,riccardoÐ@cs.cornell.edu Abstract We investigate a technique from the literature,

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

Specification with OCL

Specification with OCL Specification with OCL Jurriaan Hage Slides adapted from Birgit Demuth, TU Dresden e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit

More information

How to Implement DOTGO Engines. CMRL Version 1.0

How to Implement DOTGO Engines. CMRL Version 1.0 How to Implement DOTGO Engines CMRL Version 1.0 Copyright c 2009 DOTGO. All rights reserved. Contents 1 Introduction 3 2 A Simple Example 3 2.1 The CMRL Document................................ 3 2.2 The

More information

An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology

An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology Arvind W. Kiwelekar, Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Powai, Mumbai-400

More information

Ancillary Software Development at GSI. Michael Reese. Outline: Motivation Old Software New Software

Ancillary Software Development at GSI. Michael Reese. Outline: Motivation Old Software New Software Ancillary Software Development at GSI Michael Reese Outline: Motivation Old Software New Software Work supported by BMBF NuSTAR.DA - TP 6, FKZ: BMBF 05P12RDFN8 (TP 6). March 20, 2013 AGATA week 2013 at

More information

Lecture 03: Object Constraint Language

Lecture 03: Object Constraint Language Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language 2016-10-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 03 2016-10-27

More information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. business modeling syntax 181 business process modeling 57 business rule 40 OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 07: A Type System for Visibility 2013-11-18 07 2013-11-18 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2011-11-02 03 2011-11-02 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

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

Verifying Object-Oriented Programs with KeY: A Tutorial

Verifying Object-Oriented Programs with KeY: A Tutorial Verifying Object-Oriented Programs with KeY: A Tutorial Wolfgang Ahrendt 1, Bernhard Beckert 2, Reiner Hähnle 1, Philipp Rümmer 1, and Peter H. Schmitt 3 1 Department of Computer Science and Engineering,

More information

Probabilistic analysis of algorithms: What s it good for?

Probabilistic analysis of algorithms: What s it good for? Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like

More information

Chapter 9, Object Design: Specifying Interfaces

Chapter 9, Object Design: Specifying Interfaces Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces Lecture Plan Specifying Interfaces (Chapter 9) Object Design Activities Visibilities and

More information

CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL

CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL Ali Hamie. University of Brighton, Brighton, UK a.a.hamie@brighton.ac.uk ABSTRACT Constraint patterns are very useful for specifying OCL constraints on UML

More information

An Extended Type System for OCL Supporting Templates and Transformations

An Extended Type System for OCL Supporting Templates and Transformations An Extended Type System for OCL Supporting Templates and Transformations Marcel Kyas Christian-Albrechts-Universität zu Kiel, Germany mky@informatik.uni-kiel.de Abstract. Based on our experience in implementing

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

ECE608 - Chapter 16 answers

ECE608 - Chapter 16 answers ¼ À ÈÌ Ê ½ ÈÊÇ Ä ÅË ½µ ½ º½¹ ¾µ ½ º½¹ µ ½ º¾¹½ µ ½ º¾¹¾ µ ½ º¾¹ µ ½ º ¹ µ ½ º ¹ µ ½ ¹½ ½ ECE68 - Chapter 6 answers () CLR 6.-4 Let S be the set of n activities. The obvious solution of using Greedy-Activity-

More information

Overview: Concurrent Architectures - Unix: Forks and Pipes

Overview: Concurrent Architectures - Unix: Forks and Pipes Overview: Concurrent Architectures - Unix: Forks and Pipes Other Matters: TuteLab-5 solutions and the proof of Peterson s Algorithm Ref: [Coulouris&al Ch 4] history architecture: monolithic vs microkernels,

More information

Propagating XML Constraints to Relations

Propagating XML Constraints to Relations Propagating XML Constraints to Relations Susan Davidson U. of Pennsylvania Wenfei Fan Ý Bell Labs Carmem Hara U. Federal do Parana, Brazil Jing Qin Temple U. Abstract We present a technique for refining

More information

Mesh Smoothing via Mean and Median Filtering Applied to Face Normals

Mesh Smoothing via Mean and Median Filtering Applied to Face Normals Mesh Smoothing via Mean and ing Applied to Face Normals Ý Hirokazu Yagou Yutaka Ohtake Ý Alexander G. Belyaev Ý Shape Modeling Lab, University of Aizu, Aizu-Wakamatsu 965-8580 Japan Computer Graphics Group,

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 8 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Components: Synchronized communication Sequence Diagrams Use Case Realization

More information

From Clarity to Efficiency for Distributed Algorithms

From Clarity to Efficiency for Distributed Algorithms From Clarity to Efficiency for Distributed Algorithms Yanhong A. Liu Scott D. Stoller Bo Lin Michael Gorbovitski Computer Science Department, State University of New York at Stony Brook, Stony Brook, NY

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

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

The Tractability of Global Constraints

The Tractability of Global Constraints The Tractability of Global Constraints Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM-CNRS, Montpelier, France. bessiere@lirmm.fr Cork Constraint Computation Center,

More information

Structure and Complexity in Planning with Unary Operators

Structure and Complexity in Planning with Unary Operators Structure and Complexity in Planning with Unary Operators Carmel Domshlak and Ronen I Brafman ½ Abstract In this paper we study the complexity of STRIPS planning when operators have a single effect In

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

The Object Constraint Language (OCL)

The Object Constraint Language (OCL) The Object Constraint Language (OCL) Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Semantics and UML models UML models often treated as informal descriptions

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

A Comparison of Mesh Smoothing Methods

A Comparison of Mesh Smoothing Methods A Comparison of Mesh Smoothing Methods Alexander Belyaev Yutaka Ohtake Computer Graphics Group, Max-Planck-Institut für Informatik, 66123 Saarbrücken, Germany Phone: [+49](681)9325-408 Fax: [+49](681)9325-499

More information

JML OCL. Java. iterate

JML OCL. Java. iterate 1 OCL JML OCL (Object Constraint Language) JML (Java Modelling Language) UML/OCL JML Java OCL JML iterate iterate Java OCL JML The paper presents a translation method from OCL (Object Constraint Language)

More information

Architectural Models and Styles Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 12 The Object Constraint Language (Part A)

Architectural Models and Styles Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 12 The Object Constraint Language (Part A) Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 12 The Object Constraint Language (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo

More information

Lecture 20: Classification and Regression Trees

Lecture 20: Classification and Regression Trees Fall, 2017 Outline Basic Ideas Basic Ideas Tree Construction Algorithm Parameter Tuning Choice of Impurity Measure Missing Values Characteristics of Classification Trees Main Characteristics: very flexible,

More information

Using SmartXplorer to achieve timing closure

Using SmartXplorer to achieve timing closure Using SmartXplorer to achieve timing closure The main purpose of Xilinx SmartXplorer is to achieve timing closure where the default place-and-route (PAR) strategy results in a near miss. It can be much

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

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

Composite Structures

Composite Structures Composite Structures Marie-Agnès Peraldi-Frati UNSA/I3S/INRIA map@unice.fr UML 2 Composition Model Purpose: improve the black diamond composition Supports connections between parts at the same level of

More information

³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ

³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ È Ò È Æ ÇÊÊÄÌÁÇÆË È ÅÁÍŹÏÁÀÌ ÆÍÄÁ ÁÆ Åº ÐÚÓÐ ÂÄ ÇØÓÖ ¾¼¼ ½ ³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ À Ò Ò Ò ÛØ À Ç Òµ Ú Ò µ Ç Òµ

More information

Concurrent Execution

Concurrent Execution Concurrent Execution Overview: concepts and definitions modelling: parallel composition action interleaving algebraic laws shared actions composite processes process labelling, action relabeling and hiding

More information

Using Aspect-GAMMA in the Design of Embedded Systems

Using Aspect-GAMMA in the Design of Embedded Systems Using Aspect-GAMMA in the Design of Embedded Systems (Extended Abstract) MohammadReza Mousavi, Giovanni Russello, Michel Chaudron, Michel Reniers, Twan Basten Technische Universiteit Eindhoven (TU/e) P.O.

More information

Verifying UML/OCL Models with OCL2MSFOL. A Benchmarking Exercise

Verifying UML/OCL Models with OCL2MSFOL. A Benchmarking Exercise Verifying UML/OCL Models with OCL2MSFOL. A Benchmarking Exercise Carolina Dania and Manuel Clavel IMDEA Software Institute, Madrid, Spain {carolina.dania,manuel.clavel}@imdea.org Abstract. The Object Constraint

More information

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Roni Khardon Tufts University Medford, MA 02155 roni@eecs.tufts.edu Dan Roth University of Illinois Urbana, IL 61801 danr@cs.uiuc.edu

More information

White-box Testing by Combining Deduction-based Specification Extraction and Black-box Testing

White-box Testing by Combining Deduction-based Specification Extraction and Black-box Testing White-box Testing by Combining Deduction-based Specification Extraction and Black-box Testing Bernhard Beckert, Christoph Gladisch www.key-project.org 6th KeY Symposium 2007 Nomborn, Germany June 14, 2007

More information

CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005

CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005 CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005 Name: Instructions: 1. This is a closed book exam. Do not use any notes or books, other than your two 8.5-by-11

More information

Parallel Functional Reactive Programming

Parallel Functional Reactive Programming Parallel Functional Reactive Programming John Peterson, Valery Trifonov, and Andrei Serjantov Yale University Ô Ø Ö ÓÒ¹ Ó Ò ºÝ Ð º Ù ØÖ ÓÒÓÚ¹Ú Ð ÖÝ ºÝ Ð º Ù Ò Ö º Ö ÒØÓÚÝ Ð º Ù Abstract In this paper,

More information

Ticc: A Tool for Interface Compatibility and Composition

Ticc: A Tool for Interface Compatibility and Composition ÒØÖ Ö Ò Î Ö Ø ÓÒ Ì Ò Ð Ê ÔÓÖØ ÒÙÑ Ö ¾¼¼ º Ì ÌÓÓÐ ÓÖ ÁÒØ Ö ÓÑÔ Ø Ð ØÝ Ò ÓÑÔÓ Ø ÓÒº Ð Ö º Ì ÓÑ Å ÖÓ ÐÐ ÄÙ Ð ÖÓ Äº Ë ÐÚ Ü Ð Ä Ý Î Û Ò Ø Ê Ñ Ò Èº Ê ÓÝ Ì ÛÓÖ Û Ô ÖØ ÐÐÝ ÙÔÔÓÖØ Ý Ê Ö ÒØ ¾º ¼º¼¾ ØØÔ»»ÛÛÛºÙÐ º

More information

Models, Notation, Goals

Models, Notation, Goals Scope Ë ÕÙ Ò Ð Ò ÐÝ Ó ÝÒ Ñ ÑÓ Ð Ü Ô Ö Ñ Ö ² Ñ ¹Ú ÖÝ Ò Ú Ö Ð Ö ÒÙÑ Ö Ð ÔÓ Ö ÓÖ ÔÔÖÓÜ Ñ ÓÒ ß À ÓÖ Ð Ô Ö Ô Ú ß Ë ÑÙÐ ÓÒ Ñ Ó ß ËÑÓÓ Ò ² Ö Ò Ö Ò Ô Ö Ñ Ö ÑÔÐ ß Ã ÖÒ Ð Ñ Ó ÚÓÐÙ ÓÒ Ñ Ó ÓÑ Ò Ô Ö Ð Ð Ö Ò Ð ÓÖ Ñ

More information

The role of the parser

The role of the parser The role of the parser source code tokens scanner parser IR errors Parser performs context-free syntax analysis guides context-sensitive analysis constructs an intermediate representation produces meaningful

More information

OCL Object Constraint Language

OCL Object Constraint Language PA103 - Object-oriented Methods for Design of Information Systems OCL Object Constraint Language Radek Ošlejšek Fakulta informatiky MU oslejsek@fi.muni.cz Literature The Object Constraint Language (Second

More information

OCL Implementing the Standard for Multiple Metamodels

OCL Implementing the Standard for Multiple Metamodels OCL 2.0 - UML 2003 Preliminary Version OCL 2.0 - Implementing the Standard for Multiple Metamodels David Akehurst 1 Computing Laboratory University of Kent Canterbury, UK Octavian Patrascoiu 2 Computing

More information

Lecture 5 C Programming Language

Lecture 5 C Programming Language Lecture 5 C Programming Language Summary of Lecture 5 Pointers Pointers and Arrays Function arguments Dynamic memory allocation Pointers to functions 2D arrays Addresses and Pointers Every object in the

More information

RAMBO II: Rapidly Reconfigurable Atomic Memory for Dynamic Networks

RAMBO II: Rapidly Reconfigurable Atomic Memory for Dynamic Networks RAMBO II: Rapidly Reconfigurable Atomic Memory for Dynamic Networks Seth Gilbert ½ sethg@theory.lcs.mit.edu Nancy Lynch ½ lynch@theory.lcs.mit.edu Alex Shvartsman ½ ¾ alex@theory.lcs.mit.edu MIT Laboratory

More information

Foundations for Extensible Objects with Roles

Foundations for Extensible Objects with Roles Foundations for Extensible Objects with Roles Giorgio Ghelli Dipartimento di Informatica, Corso Italia, 40, 56125 Pisa, Italy E-mail: ghelli@di.unipi.it Object-oriented database systems are an emerging,

More information

OCL 2.0 Specification Version 2.0

OCL 2.0 Specification Version 2.0 Date: June 2005 OCL 2.0 Specification Version 2.0 ptc/2005-06-06 UML OCL2 Specification Copyright 200-2003 Adaptive Ltd. Copyright 200-2003 Boldsoft Copyright 200-2003 France Telecom Copyright 200-2003

More information

Data abstractions: ADTs Invariants, Abstraction function. Lecture 4: OOP, autumn 2003

Data abstractions: ADTs Invariants, Abstraction function. Lecture 4: OOP, autumn 2003 Data abstractions: ADTs Invariants, Abstraction function Lecture 4: OOP, autumn 2003 Limits of procedural abstractions Isolate implementation from specification Dependency on the types of parameters representation

More information

ATL: Atlas Transformation Language. ATL User Manual

ATL: Atlas Transformation Language. ATL User Manual ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven

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

Translating the Object Constraint Language into First-order Predicate Logic

Translating the Object Constraint Language into First-order Predicate Logic Translating the Object Constraint Language into First-order Predicate Logic Bernhard Beckert, Uwe Keller, and Peter H. Schmitt Universität Karlsruhe Institut für Logik, Komplexität und Deduktionssysteme

More information

An Experimental CLP Platform for Integrity Constraints and Abduction

An Experimental CLP Platform for Integrity Constraints and Abduction An Experimental CLP Platform for Integrity Constraints and Abduction Slim Abdennadher ½ and Henning Christiansen ¾ ½ ¾ Computer Science Department, University of Munich Oettingenstr. 67, 80538 München,

More information

) $ G}] }O H~U. G yhpgxl. Cong

) $ G}] }O H~U. G yhpgxl. Cong » Þ åî ïî á ë ïý þý ÿ þ ë ú ú F \ Œ Œ Ÿ Ÿ F D D D\ \ F F D F F F D D F D D D F D D D D FD D D D F D D FD F F F F F F F D D F D F F F D D D D F Ÿ Ÿ F D D Œ Ÿ D Ÿ Ÿ FŸ D c ³ ² í ë óô ò ð ¹ í ê ë Œ â ä ã

More information

From UML/OCL to SBVR Specifications: a Challenging Transformation

From UML/OCL to SBVR Specifications: a Challenging Transformation From UML/OCL to SBVR Specifications: a Challenging Transformation Jordi Cabot a, Raquel Pau b and Ruth Raventós c,* a Estudis d'informàtica, Multimedia i Telecomunicació, Universitat Oberta de Catalunya

More information

1 (5 marks) 2 (6 marks) 3 (6 marks)

1 (5 marks) 2 (6 marks) 3 (6 marks) 1 1 (5 marks) Ë ½¼¾¼ ÁÒØÖÓ ÙØ ÓÒ ØÓ ÓÑÔÙØ Ö Ë Ò Á ÑÔÐ Ñ Ø ÖÑ Draw the flow of control diagram corresponding to the following fragment. statement-s; for (initial; condition; bottom) { body; } statement-x;

More information

The PCAT Programming Language Reference Manual

The PCAT Programming Language Reference Manual The PCAT Programming Language Reference Manual Andrew Tolmach and Jingke Li Dept. of Computer Science Portland State University September 27, 1995 (revised October 15, 2002) 1 Introduction The PCAT language

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

Definition and Instantiation of a Reference Model for Problem Specifications

Definition and Instantiation of a Reference Model for Problem Specifications Definition and Instantiation of a Reference Model for Problem Specifications Martin Kronenburg Christian Peper University of Kaiserslautern, Erwin Schrödinger Straße, D-67663 Kaiserslautern, Germany E-mail:

More information

Instruction Scheduling. Software Pipelining - 3

Instruction Scheduling. Software Pipelining - 3 Instruction Scheduling and Software Pipelining - 3 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Instruction

More information

DSPTricks A Set of Macros for Digital Signal Processing Plots

DSPTricks A Set of Macros for Digital Signal Processing Plots DSPTricks A Set of Macros for Digital Signal Processing Plots Paolo Prandoni The package DSPTricks is a set of L A TEX macros for plotting the kind of graphs and figures that are usually employed in digital

More information

Analysis and Optimisation of Active Database Rules Using Abstract Interpretation and Partial Evaluation

Analysis and Optimisation of Active Database Rules Using Abstract Interpretation and Partial Evaluation Analysis and Optimisation of Active Database Rules Using Abstract Interpretation and Partial Evaluation ¾ ½ James Bailey ½ and Alexandra Poulovassilis ¾ Dept. of Computer Science, King s College London,

More information

Efficient OCL Impact Analysis

Efficient OCL Impact Analysis Thomas Goldschmidt, ABB Corporate Research Axel Uhl, SAP AG Efficient OCL Impact Analysis May 2, 2011 Slide 1 Motivation The Object Constraint Language (OCL) is used for different purposes in modelling:

More information

Improving Tiling, Reducing Compilation Time, and Extending the Scope of Polyhedral Compilation

Improving Tiling, Reducing Compilation Time, and Extending the Scope of Polyhedral Compilation THESE DE DOCTORAT DE L UNIVERSITE PIERRE ET MARIE CURIE École Doctorale Informatique, Télécommunications et Électronique de paris Improving Tiling, Reducing Compilation Time, and Extending the Scope of

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

Concurrent Architectures - Unix: Sockets, Select & Signals

Concurrent Architectures - Unix: Sockets, Select & Signals Concurrent Architectures - Unix: Sockets, Select & Signals Assignment 1: Drop In Labs reminder check compiles in CS labs & you have submitted all your files in StReAMS! formatting your work: why to 80

More information

Pointers & Arrays. CS2023 Winter 2004

Pointers & Arrays. CS2023 Winter 2004 Pointers & Arrays CS2023 Winter 2004 Outcomes: Pointers & Arrays C for Java Programmers, Chapter 8, section 8.12, and Chapter 10, section 10.2 Other textbooks on C on reserve After the conclusion of this

More information

Expected Runtimes of Evolutionary Algorithms for the Eulerian Cycle Problem

Expected Runtimes of Evolutionary Algorithms for the Eulerian Cycle Problem Expected Runtimes of Evolutionary Algorithms for the Eulerian Cycle Problem Frank Neumann Institut für Informatik und Praktische Mathematik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany fne@informatik.uni-kiel.de

More information

A Robust Class of Context-Sensitive Languages

A Robust Class of Context-Sensitive Languages A Robust Class of Context-Sensitive Languages Salvatore La Torre Università di Salerno, Italy latorre@dia.unisa.it P. Madhusudan University of Illinois Urbana-Champaign, USA madhu@uiuc.edu Gennaro Parlato

More information