Software Design, Modelling and Analysis in UML
|
|
- Annis Stafford
- 5 years ago
- Views:
Transcription
1 Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Sprelim Last Lecture: Basic Object System Signature Ë and Structure System State σ Σ Ë (Smells like they re related to class/object diagrams, officially we don t know yet...) This Lecture: Educational Objectives: Capabilities for these tasks/questions: Please explain this OCL constraint. Please formalise this constraint in OCL. Does this OCL constraint hold in this system state? Can you think of a system state satisfying this constraint? Please un-abbreviate all abbreviations in this OCL expression. In what sense is OCL a three-valued logic? For what purpose? How are (C) and τ C related? Content: OCL Syntax, OCL Semantics over system states 2/36
2 What is OCL? And What is It Good For? main 3/36 What is OCL? How Does it Look Like? OCL: Object Constraint Logic Swhatis OCL/Beispiel TeamMember age : Integer 2.. meetings participants Meeting title : String numparticipants : Integer start : Date duration: Time move(newstart : Date) context TeamMember inv: age => 18 context Meeting inv: duration > 0 Location 1 ((C) Prof. Dr. P. Thiemann, 4/36
3 What s It Good For? Most prominent: write down requirements supposed to be satisfied by all system states. Often targeting all alive objects of a certain class Swhatis 5/36 What s It Good For? Most prominent: write down requirements supposed to be satisfied by all system states. Often targeting all alive objects of a certain class. Not unknown: write down pre/post-conditions of methods (Behavioural Features). Then evaluated over two system states Swhatis 5/36
4 What s It Good For? Most prominent: write down requirements supposed to be satisfied by all system states. Often targeting all alive objects of a certain class. Not unknown: write down pre/post-conditions of methods (Behavioural Features). Then evaluated over two system states. Common with State Machines: guards in transitions Swhatis 5/36 What s It Good For? Most prominent: write down requirements supposed to be satisfied by all system states. Often targeting all alive objects of a certain class Swhatis Not unknown: write down pre/post-conditions of methods (Behavioural Features). Then evaluated over two system states. Common with State Machines: guards in transitions. Lesser known: provide operation bodies. Metamodeling: the UML standard is a MOF-Model of UML. OCL expressions define well-formedness of UML models (cf. Lecture 21). 5/36
5 Plan. Today: The set OCLExpressions(Ë ) of OCL expressions over Ë. Given an OCL expression expr, a system state σ Σ, and a valuation of Ë logical variables β, define IÂexpr Ã(σ, β) {true, false, }. Later: use I to define = Σ Ë OCLExpressions(Ë ). UML W N E OCL CD, SM ϕ OCL CD, SD S Swhatis Model Instances Ë = (Ì,, V,atr), SM expr Ë,SD M = (Σ, A Ë Ë, SM) B = (QSD, q0, A Ë, SD, FSD) π = (σ0, ε0) (cons0,snd0) (σ1, ε1) u0 G = (N, E, f) wπ = ((σi,consi,sndi)) i N Mathematics Structure Component Object Class Composite Deployment Structure Package Activity Interacti Sequence 6/36 (Core) OCL Syntax [OMG, 2006] main 7/36
6 OCL Syntax 1/4: Expressions expr ::= w : τ(w) expr 1 = τ expr 2 : τ τ Bool oclisundefined τ (expr 1 ) : τ Bool {expr 1,...,expr n } : τ τ Set(τ) isempty(expr 1 ) : Set(τ) Bool size(expr 1 ) : Set(τ) Int allinstances C : Set(τ C ) v(expr 1 ) : τ C τ(v) r 1 (expr 1 ) : τ C τ D r 2 (expr 1 ) : τ C Set(τ D ) Where, given Ë = (Ì,, V,atr), W {self C C } is a set of typed logical variables, w has type τ(w) τ is any type from Ì T B T {Set(τ 0 ) τ 0 T B T } T B is a set of basic types, in the following we use T B = {Bool,Int,String} T = {τ C C } is the set of object types, Set(τ 0 ) denotes the set-of-τ 0 type for τ 0 T B T (sufficient because of flattening (cf. standard)) v : τ(v) atr(c), τ(v) Ì, r 1 : D 0,1 atr(c), r 2 : D atr(c), C, D. 8/36 (Core) OCL Syntax [OMG, 2006] main 7/36
7 OCL Syntax: Notational Conventions for Expressions Each expression ω(expr 1,expr 2,...,expr n ) : τ 1 τ n τ may alternatively be written ( abbreviated as ) expr 1. ω(expr 2,...,expr n ) if τ 1 is an object type, i.e. if τ 1 T. expr 1 -> ω(expr 2,...,expr n ) if τ 1 is a collection type (here: only sets), i.e. if τ 1 = Set(τ 0 ) for some τ 0 T B T. Examples: (self : τ C W; v,w : Int V ; r 1 : D 0,1, r 2 : D V ) self. v self. r 1. w self. r 2 -> isempty 9/36 OCL Syntax 2/4: Constants, Arithmetical Operators For example: expr ::=... true, false : Bool expr 1 {and, or, implies} expr 2 : Bool Bool Bool not expr 1 : Bool Bool 0, 1, 1, 2, 2,... : Int OclUndefined : τ expr 1 {+,,... } expr 2 : Int Int Int expr 1 {<,,... } expr 2 : Int Int Bool Generalised notation: expr ::= ω(expr 1,...,expr n ) with ω {+,,... } : τ 1 τ n τ 10/36
8 OCL Syntax 3/4: Iterate expr ::= expr 1 ->iterate(w 1 : τ 1 ; w 2 : τ 2 = expr 2 expr 3 ) or, with a little renaming, expr ::= expr 1 ->iterate(iter : τ 1 ; result : τ 2 = expr 2 expr 3 ) where expr 1 is of a collection type (here: a set Set(τ 0 ) for some τ 0 ), iter W is called iterator, gets type τ 1 (if τ 1 is omitted, τ 0 is assumed as type of iter) result W is called result variable, gets type τ 2, expr 2 in an expression of type τ 2 giving the initial value for result, ( OclUndefined if omitted) expr 3 is an expression of type τ 2 in which in particular iter and result may appear. 11/36 Iterate: Intuitive Semantics (Formally: later) expr ::= expr 1 ->iterate(iter : τ 1 ; result : τ 2 = expr 2 expr 3 ) Set(τ 0 ) hlp = expr 1 ; τ 1 iter; τ 2 result = expr 2 ; while (!hlp.empty()) do od iter = hlp.pop(); result = expr 3 ; Note: In our (simplified) setting, we always have expr 1 : Set(τ 1 ) and τ 0 = τ 1. In the type hierarchy of full OCL with inheritance and oclany, they may be different and still type consistent. 12/36
9 Abbreviations on Top of Iterate expr ::= expr 1 ->iterate(w 1 : τ 1 ; w 2 : τ 2 = expr 2 expr 3 ) expr 1 ->forall(w : τ 1 expr 3 ) is an abbreviation for expr 1 ->iterate(w: τ 1 ; w 1 : Bool = true w 1 andexpr 3 ). (To ensure confusion, we may again omit all kinds of things, cf. [OMG, 2006]). Similar: expr 1 ->Exists(w : τ 1 expr 3 ) 13/36 OCL Syntax 4/4: Context context ::= context w 1 : τ 1,...,w n : τ n inv : expr where w W and τ i T, 1 i n, n 0. context w 1 : C 1,...,w n : C n inv : expr is an abbreviation for allinstances C1 ->forall(w 1 : C 1... allinstances Cn -> forall(w n : C n expr )... ) 14/36
10 Context: More Notational Conventions For context self : τ C inv : expr we may alternatively write ( abbreviate as ) context τ C inv : expr Within the latter abbreviation, we may omit the self in expr, i.e. for self.v and self.r we may alternatively write ( abbreviate as ) v and r 15/36 Examples (from lecture Softwaretechnik TeamMember 2008 ) Meeting age : Integer 2.. meetings participants title : String numparticipants : Integer start : Date duration: Time move(newstart : Date) context TeamMember inv: age => 18 context Meeting inv: duration > 0 Location 1 ((C) Prof. Dr. P. Thiemann, 16/36
11 Examples (from lecture Softwaretechnik 2008 ) OCL/Mehr Navigation/Beispiele TeamMember age : Integer 2.. meetings participants Meeting title : String numparticipants : Integer start : Date duration: Time move(newstart : Date) context Meeting inv: self.participants->size() = numparticipants context Location inv: name="lobby" implies meeting->isempty() Location 1 ((C) Prof. Dr. P. Thiemann, 17/36 Example (from lecture Softwaretechnik 2008 ) TeamMember age : Integer 2.. meetings participants Meeting title : String numparticipants : Integer start : Date duration: Time move(newstart : Date) Location 1 context Meeting inv : participants -> iterate(i : TeamMember; n : Int = 0 n + i. age) /participants -> size() > 25 18/36
12 Not Interesting Among others: Enumeration types Type hierarchy Complete list of arithmetical operators The two other collection types Bag and Sequence Casting Runtime type information Pre/post conditions (maybe later, when we officially know what an operation is)... 19/36 References main 35/36
13 References [OMG, 2006] OMG (2006). Object Constraint Language, version 2.0. Technical Report formal/ [OMG, 2007a] OMG (2007a). Unified modeling language: Infrastructure, version Technical Report formal/ [OMG, 2007b] OMG (2007b). Unified modeling language: Superstructure, version Technical Report formal/ [Warmer and Kleppe, 1999] Warmer, J. and Kleppe, A. (1999). The Object Constraint Language. Addison-Wesley main 36/36
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 informationSoftware 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 informationSoftware 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 informationLecture 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 informationSoftware 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 informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2013-10-23 02 2013-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course Map UML W N E Model
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 06 2013-11-11 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 05: Class Diagrams I 2012-11-07 05 2012-11-07 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course
More informationSoftware Design, Modelling and Analysis in UML
ourse Map ontents & Goals UML W N E Last Lecture: OL Semantics Software Design, Modelling and Analysis in UML Lecture 05: lass Diagrams I 2011-11-15 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität
More informationLecture 02: Semantical Model
Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2014-10-23 02 2014-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 07: Class Diagrams II 2009-11-12 07 2009-11-12 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationLecture 15: Hierarchical State Machines I
Software Design, Modelling and Analysis in UML Lecture 15: Hierarchical State Machines I 2015-01-08 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 15 2015-01-08 main Albert-Ludwigs-Universität Freiburg,
More informationLecture 07: Class Diagrams II
Software Design, Modelling and Analysis in UML Lecture 07: lass Diagrams II 2014-11-13 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany ontents & Goals Last Lecture:
More informationLecture 10: State Machines Overview
Software Design, Modelling and Analysis in UML Lecture 10: State Machines Overview 2015-12-03 10 2015-12-03 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 20: Inheritance III 2012-02-14 20 2012-02-14 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More information/50 5/50 2/50 3/50 6/50. UML-Notationsübersicht. Teil 1/4. Figure Examples of navigable ends. enda. endb main
a c e g i b d f h j * * Software Design, Modelling and Analysis in UML Lecture 07: Class Diagrams II 20--30 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany UML
More informationSoftware 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 informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 08: Class Diagrams II 2013-11-20 08 2013-11-20 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationWhat 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 informationLecture 16: Hierarchical State Machines II
Software Design, Modelling and Analysis in UML Lecture 6: Hierarchical State Machines II 206-0-9 6 206-0-9 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
More informationUnified 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 informationSpecification 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 informationIndex. 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 informationSoftwaretechnik Model Driven Architecture Meta Modeling
Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 1: Introduction 2011-10-25 1 2011-10-25 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationSpecification-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 informationSpecification-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 informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,
More informationSoftwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany
Softwaretechnik Lecture 19: Model Driven Engineering Peter Thiemann University of Freiburg, Germany 23.07.2012 Peter Thiemann (Univ. Freiburg) Softwaretechnik 23.07.2012 1 / 50 Introduction MDA Introduction
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationFormal Specification of Software Systems
Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software
More informationLecture 8: Use Cases and Scenarios
Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2016-06-02 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2016-06-02 main Topic
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 20: Inheritance I 2014-02-03 20 2014-02-03 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationSemantics of programming languages
Semantics of programming languages Informatics 2A: Lecture 27 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 21 November, 2011 1 / 19 1 2 3 4 2 / 19 Semantics for programming
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationModel Driven Development Unified Modeling Language (UML)
Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations
More informationVariables. Substitution
Variables Elements of Programming Languages Lecture 4: Variables, binding and substitution James Cheney University of Edinburgh October 6, 2015 A variable is a symbol that can stand for another expression.
More informationCONSTRAINT 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 informationModel Driven Architecture Action Semantics and Action Languages
Model Driven Architecture Action Semantics and Action Languages Prof. Dr. Peter Thiemann Universität Freiburg 28.06.2006 Action Semantics What is it? OMG sanctioned approach to define the low-level behavior
More informationFormal Methods for Software Engineers
Formal Methods for Software Engineers Professor Ray Welland Department of Computing Science University of Glasgow ray@dcs.gla.ac.uk INF3120-FM 1 Overview Motivation Why have formal specifications? Where
More informationObject-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 informationThe 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 informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationSLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]
Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE
More informationOverview. 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 informationUML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools
UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide
More informationNote that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.
CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.
More informationSemantics of programming languages
Semantics of programming languages Informatics 2A: Lecture 27 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 18 November, 2014 1 / 18 Two parallel pipelines A large proportion
More informationSemantics of programming languages
Semantics of programming languages Informatics 2A: Lecture 28 Mary Cryan School of Informatics University of Edinburgh mcryan@inf.ed.ac.uk 21 November 2018 1 / 18 Two parallel pipelines A large proportion
More informationUnifying the Semantics of Models and Meta-Models in the Multi-Layered UML Meta-Modelling Hierarchy
Int J Software Informatics, Vol.X, No.X, February 2011, pp. xxx-xxx International Journal of Software and Informatics, ISSN 1673-7288 E-mail: ijsi@iscas.ac.cn http://www.ijsi.org 2010 by Institute of Software,
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 21: Inheritance II 2014-02-05 21 2014-02-05 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationDirected Model Checking for PROMELA with Relaxation-Based Distance Functions
Directed Model Checking for PROMELA with Relaxation-Based Distance Functions Ahmad Siyar Andisha and Martin Wehrle 2 and Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany {andishaa,westphal}@informatik.uni-freiburg.de
More informationStatic analysis and testing of executable DSL specification
Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:
More informationSUMMARY: MODEL DRIVEN SECURITY
SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,
More informationCompiler 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 informationObject-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts
Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations
More informationSoftwaretechnik. Program verification. Albert-Ludwigs-Universität Freiburg. June 28, Softwaretechnik June 28, / 24
Softwaretechnik Program verification Albert-Ludwigs-Universität Freiburg June 28, 2012 Softwaretechnik June 28, 2012 1 / 24 Road Map Program verification Automatic program verification Programs with loops
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Just enough UML. toad
Principles of Software Construction: Objects, Design and Concurrency Just enough UML 15-214 toad Christian Kästner Charlie Garrod School of Computer Science With slides from Klaus Ostermann Learning Goals
More informationCISC836: Models in Software Development: Methods, Techniques and Tools
CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF
More informationFormal Methods for Java
Formal Methods for Java Lecture 3: Operational Semantics (Part 2) Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg May 3, 2017 Jochen Hoenicke (Software Engineering) Formal Methods
More informationMODEL-BASED DESIGN OF CODE FOR PLC CONTROLLERS
Krzysztof Sacha Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warszawa, Poland k.sacha@ia.pw.edu.pl Keywords: Abstract: Automatic program generation, Model verification, Finite state machine,
More informationIntroduction to Model Checking
Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal
More informationLecture 08: Scenarios and Use Cases
Introduction evelopment Process, Metrics Requirements ngineering rchitecture & esign onstructive Models Testing, Formal Verification Invited Talks Wrap-Up L 1: 20.4., Mo T 1: 23.4., o L 2: 27.4., Mo L
More informationSemantic Analysis Type Checking
Semantic Analysis Type Checking Maryam Siahbani CMPT 379 * Slides are modified version of Schwarz s compiler course at Stanford 4/8/2016 1 Type Checking Type errors arise when operations are performed
More informationCOSC 3351 Software Design. An Introduction to UML (I)
COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt
More informationLecture #2 on Object-Oriented Modeling
Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline
More informationGrammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary
Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationTowards Transformation of Integrity Constraints and Database States
Towards Transformation of Integrity Constraints and Database States Fabian Büttner, Hanna Bauerdick, Martin Gogolla Database Group, Computer Science Department University of Bremen, D-28334 Bremen, Germany
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationHans 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 informationModel Driven Architecture - The Vision
Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support
More informationElectronic Communications of the EASST Volume 5 (2006)
Electronic Communications of the EASST Volume 5 (2006) Proceedings of the Sixth OCL Workshop OCL for (Meta-)Models in Multiple Application Domains (OCLApps 2006) Improving the OCL Semantics Definition
More informationModelling in Enterprise Architecture. MSc Business Information Systems
Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling
More informationSoftwaretechnik. 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 informationImproving the Definition of UML
Improving the Definition of UML Greg O Keefe Computer Sciences Laboratory Australian National University Outline The UML definition claims to be Outline The UML definition claims to be precise Outline
More informationThe learning objectives of this chapter are the followings. At the end of this chapter, you shall
Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationProgram Syntax; Operational Semantics
9/5 Solved Program Syntax; Operational Semantics CS 536: Science of Programming, Fall 2018 A. Why Our simple programming language is a model for the kind of constructs seen in actual languages. Step-by-step
More informationA UML 2 Profile for Variability Models and their Dependency to Business Processes
A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and
More informationCIS 771: Software Specifications
CIS 771: Software Specifications Lecture 11: Introduction to OCL & USE Copyright 2001-2002, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials
More informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik Modeling, models and UML Static view: Class diagrams
More informationSoftware 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 informationCourse "Softwaretechnik Modeling with UML Stephan Salinger
Course "Softwaretechnik Modeling with UML Stephan Salinger (Foliensatz/Inhalt: Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit) Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/
More informationTIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL
TIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL Ali Hamie, John Howse School of Computing, Mathematical and Information Sciences, University of Brighton, Brighton, UK. {a.a.hamie@brighton.ac.uk,
More informationaxiomatic semantics involving logical rules for deriving relations between preconditions and postconditions.
CS 6110 S18 Lecture 18 Denotational Semantics 1 What is Denotational Semantics? So far we have looked at operational semantics involving rules for state transitions, definitional semantics involving translations
More informationFundamentals of Software Engineering
Fundamentals of Software Engineering Reasoning about Programs with Dynamic Logic - Part I Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard
More informationGénie Logiciel Avancé - Advanced Software Engineering A Brief Revision of UML
L3 Mention Informatique Parcours Informatique et MIAGE Génie Logiciel Avancé - Advanced Software Engineering A Brief Revision of UML Burkhart Wolff wolff@lri.fr Plan of the Chapter " The UML notation is
More information8/22/2003. Proposal for VPI model PSL assertion extensions
8/22/2003 Proposal for VPI model PSL assertion extensions Cadence Design Systems, Inc. 8/22/2003 This proposal has been prepared by Cadence Design Systems, Inc. for consideration by the IEEE 1364 working
More informationSoftwaretechnik. Program verification. Software Engineering Albert-Ludwigs-University Freiburg. June 30, 2011
Softwaretechnik Program verification Software Engineering Albert-Ludwigs-University Freiburg June 30, 2011 (Software Engineering) Softwaretechnik June 30, 2011 1 / 28 Road Map Program verification Automatic
More informationContents. Softwaretechnik. Type Safety of Java. Featherweight Java. Lecture 21: Featherweight Java
Contents Softwaretechnik Lecture 21: Peter Thiemann Universität Freiburg, Germany Operational Semantics SS 2011 Peter Thiemann (Univ. Freiburg) Softwaretechnik (english draft) SWT 1 / 40 Type Safety of
More informationRecap from last time. Programming Languages. CSE 130 : Fall Lecture 3: Data Types. Put it together: a filter function
CSE 130 : Fall 2011 Recap from last time Programming Languages Lecture 3: Data Types Ranjit Jhala UC San Diego 1 2 A shorthand for function binding Put it together: a filter function # let neg = fun f
More informationIt s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu
It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation
More informationUML big picture. Perdita Stevens. School of Informatics University of Edinburgh
UML big picture Perdita Stevens School of Informatics University of Edinburgh Plan Whence UML? Parts of UML How it all fits together UML as a language Consistency: what does it mean, do we need it? Defining
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML
Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
More information