SDL the following Part 2

Size: px
Start display at page:

Download "SDL the following Part 2"

Transcription

1 SDL the following Part 2 TMSP Stéphane Maag

2 Ready?

3 Objectives This course intends to make the participants discover: Structures Structural types Packages PID Procedures MacroDefinitions ASN.1 - Z.105

4 Remote Variables EXPORT-IMPORT: to get the value of a variable of another process (implicit signals) In a block or system

5 Definition of Structure Structure with Fields NEWTYPE Product STRUCT reference CHARSTRING; price REAL; quantity INTEGER; ENDNEWTYPE Product; The field types may be some structures

6 Use of Structure DCL prod Product; prod!price := 21.0 Prod := (. ball,20.0,3.) prod!reference := Super new ball assignment Modify by accessing the fields

7 Array Type Type of the index (integer) NEWTYPE Product_T ARRAY (Index_T,Product); ENDNEWTYPE; DCL prod_set Product_T; DCL prod Product; Initialization Modify Extract prod_set := (. (. ball,20.0,3.).) prod_set(1) := prod prod := prod_set(3) Indexes are integer

8 Process: Active Class SDL allows to generate process instances: They are active objects Perform their own actions Manage their own data Several possible instances may run in parallel. To represent them:

9 Structural Types and Instances Block type or Process type General description to reuse later Allows to generate many block or process instances Define the content of all instances We may define one instance or set of instances USER firstuser: USER Users(10): USER Block type A set of 10 instances of USER

10 Structural Types in ObjectGEODE system type process block type process type system

11 Why Block and Process type? They are defined once and used many times a defined block may then be used in different systems to define only once the content of several processes that run in different blocks structural types and instances available for systems, blocks and processes

12 Gates for structural types Structural types need gates Definition of process types gates define, with channels, the signals sent and/or received Instances are connected by channels through gates Use of process types

13 Examples of instantiations

14 Where to use structural types? In package: a set of types Structural types (block types, process types, ) Signals and lists Constants Data types A package allows to reuse types in several models.

15 Package example PR format

16 Package example

17 Dynamic Creation of Processes Process instance may dynamically creates instance of process in the same block. dynamic creation Block Industry Enterprise(1,1) Agency(0,Max) 1 and infinite by default

18 How to dynamically create processes The CREATE request provokes the immediate creation of the process. The created processes may carry parameters given by the creator. Process Enterprise idle new_one The new instance has its own new PID CREATE request Agency(nbr,name)

19 Process parameters Interval for the number of possible created instances PROCESS Agency(0,Max) FPAR nbr integer, name charstring actual parameters Formal parameters Agency(12,myagency) We may kill the processes

20 Process IDentification The PID is the unique identifier of each instance of process. Remember PID is a predefined type! The PID cannot be modified The PID type has one predefined constant: NULL PIDs are used for communication in case of many possible receivers. Client/server, mobile topologies (broadcast), signals that are both sent and received,...

21 Predefined PID expressions SELF: PID of the process itself OFFSPRING: last process instance created by itself. If none was created then OFFSPRING is NULL PARENT: PID of parent process. If SELF was not dynamically created, then PARENT is NULL SENDER: PID of the process that has sent the last consumed signal by SELF. If no consumed signal the SENDER is NULL

22 Process destination for Output S1 [TO process destination] [VIA path] S1 No destination specified unique dest. or non-det. choice VIA TO Process name PID channel or gate ALL c1,c2,c3 Multicast, one message for each route

23 Example of PID use sender s PID

24 Procedures Use to factorize and parameterize actions Encapsulation, abstraction Allow to reduce the EFSM size Executed in their owning process

25 Procedure definition It is described like process, using EFSM It is executed using the queue of its own process It does not have any PID (even the one of the process) Signals are sent to process only It may have local variables It can be defined at process, block or system level No Stop in a procedure

26 Procedure parameters Introduced by FPAR and IN or IN/OUT: FPAR: parameters of the procedure IN/OUT: IN: by reference it means that the parameter may be modified by value it means that the caller may not see the changes by default the parameter are IN.

27 Procedure Example Procedure declaration

28 Procedures as classic functions They may be called as classic functions in expressions: allows to return explicit values. x:=5* CALL Incr10(x) a value return

29 MacroDefinition The Macros allow to treat the repetition of code, a description, a behavior that is often repeated, Used only within processes or procedures, May have formal parameter, it is necessary to transmit them. Call of a macro Macro inlet symbol Macro outlet symbol

30 Macrodefinition Example Formal parameters inlet outlet

31 ASN.1 and SDL Z.105: Inclusion of ASN.1 in SDL Standard: ASN.1 is widely used in standards and can be part of the requirements Technically, ASN.1 allows to focus only on data: values, set of values,

32 Use of ASN.1 in Z.105 ASN.1 declarations located in same box than SDL ones, ASN.1 and SDL declaration may be mixed, Z.105 is not case-sensitive, hyphens ( - ) cannot be used.

33 ASN.1 predefined types INTEGER == INTEGER BOOLEAN == BOOLEAN REAL == REAL CHARSTRING == IA5String

34 SDL ASN.1 NEWTYPE colors LITERALS red, blue,black, yellow, white; ENDNEWTYPE colors; colors ::= ENUMERATED {red, blue,black, yellow, white}; SYNONYM clearcolor colors = white; clearcolor colors ::= white;

35 Composite types in ASN.1: Sequence types (Structure in SDL) NEWTYPE T_Seq STRUCT a BOOLEAN; b CHARSTRING OPTIONAL; c INTEGER DEFAULT 5; ENDNEWTYPE T_Seq; assignment T_Seq ::= SEQUENCE { a BOOLEAN, b IA5String OPTIONAL, c INTEGER DEFAULT 5}; s1 T_Seq ::= { a TRUE, b OK, c 12}; s2 T_Seq ::= { a FALSE, c 23}; s3 T_Seq ::= {a TRUE};

36 Sequence Example Process proc1 T_Seq ::= SEQUENCE { a BOOLEAN, b IA5String OPTIONAL, c INTEGER DEFAULT 5}; DCL var1, var2 T_Seq; idle idle obt(var1) b!present(var1) ( TRUE ) var1!a:=true ( FALSE ) var2:={a FALSE}

37 Composite types in ASN.1: CHOICE types Process proc1 T_Ch ::= CHOICE { a BOOLEAN, b IA5String, c INTEGER}; idle idle obt(var11) DCL var11, var12 T_Ch; var11!present ( a ) ( b ) ( c ) var12!present:=a var11:= {b: NOTOK } var11:= {a: FALSE}

38 CONCLUSION Think to use structural types for reusability Process ID Readability with procedure and macrodefinitions CHOICE in ASN.1

39 Exercises Specify a process that receives a message ATM_req containing a data atm_req as a structure (quantity, ticket) where quantity is an integer and ticket is an optional character. This process sends the output OK if ticket is received or NOK if not.

58 Building an Application

58 Building an Application Chapter 58 Building an Application This chapter describes how you can use the Cadvanced SDL to C Compiler to generate applications and especially how to design the environment functions. These functions

More information

SDL-2010: Background, Rationale, and Survey. Rick Reed, TSE. SDL-2010: a revision of SDL-2000 ITU-T Specification and Description Language

SDL-2010: Background, Rationale, and Survey. Rick Reed, TSE. SDL-2010: a revision of SDL-2000 ITU-T Specification and Description Language -2010 SDL-2010: Background, Rationale, and Survey Rick Reed, TSE SDL-2010: a revision of SDL-2000 ITU-T Specification and Description Language Overview of session 1. Presentation of SDL-2010 cf. SDL-2000

More information

Introduction to SDL (Specification and Description Language)

Introduction to SDL (Specification and Description Language) Introduction to SDL (Specification and Description Language) Julien Delange Julien Delange This work is licensed under the Creative Commons

More information

Contents. Reference Manual

Contents. Reference Manual REFERENCE MANUAL Contents Reference Manual Technologies overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10 Abstract Syntax Notation 1 (ASN.1) - - - - - - - - - - - - - - - -

More information

Specification and Description Language (SDL)

Specification and Description Language (SDL) Specification and Description Language (SDL) Dr.-Ing. Andreas Könsgen ajk@comnets.uni-bremen.de Slide 1 Introduction Formal specification languages Performance evaluation of formally specified protocols

More information

63 The ADT Library. Chapter

63 The ADT Library. Chapter Chapter 63 The ADT Library This chapter provides information about the library of Abstract Data Types (ADT) that comes with the SDL suite. The data types provide services that are often needed in SDL systems.

More information

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin Specification and design of distributed embedded middleware applications with SDL-2000 Dr. Eckhardt Holz Humboldt-Universität zu Berlin SDL-2000 ITU-T Specification and Description Language graphical language

More information

TR V1.1.1 ( )

TR V1.1.1 ( ) Technical Report Methods for Testing and Specification (MTS); Reports on experiments in validation methodology; PISN Cordless Terminal Mobility Incoming Call Additional Network Feature (ANF-CTMI) 2 Reference

More information

Tokens, Expressions and Control Structures

Tokens, Expressions and Control Structures 3 Tokens, Expressions and Control Structures Tokens Keywords Identifiers Data types User-defined types Derived types Symbolic constants Declaration of variables Initialization Reference variables Type

More information

CS450 - Structure of Higher Level Languages

CS450 - Structure of Higher Level Languages Spring 2018 Streams February 24, 2018 Introduction Streams are abstract sequences. They are potentially infinite we will see that their most interesting and powerful uses come in handling infinite sequences.

More information

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses VHDL Sample Slides from the 2-day and 4-day VHDL Training Courses Rev. 4.7 VHDL 2011 TM Associates, Inc. 1-1 These sample slides are taken from the 4-day basic VHDL training course. They are from a variety

More information

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2. INd_rasN. 1 P a g e. KIDS Information Center

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2. INd_rasN. 1 P a g e. KIDS Information Center 1 P a g e 2 P a g e 3 P a g e 4 P a g e 5 P a g e 6 P a g e 7 P a g e 8 P a g e 9 P a g e 10 P a g e 11 P a g e 12 P a g e 13 P a g e 14 P a g e 15 P a g e 16 P a g e 17 P a g e 18 P a g e 19 P a g e 20

More information

Hospitality Industry Technology Integration Standards Glossary of Terminology

Hospitality Industry Technology Integration Standards Glossary of Terminology Hospitality Industry Technology Integration Standards Glossary of Terminology Abstract Class Account API Application Architecture Association Attribute Bandwidth Base Class Behavior Binding Blind Post

More information

EXERCISES SOFTWARE DEVELOPMENT I. 04 Arrays & Methods 2018W

EXERCISES SOFTWARE DEVELOPMENT I. 04 Arrays & Methods 2018W EXERCISES SOFTWARE DEVELOPMENT I 04 Arrays & Methods 2018W Solution First Test DATA TYPES, BRANCHING AND LOOPS Complete the following program, which calculates the price for a car rental. First, the program

More information

CS159. Nathan Sprague. September 11, 2015

CS159. Nathan Sprague. September 11, 2015 CS159 Nathan Sprague September 11, 2015 Review of Arrays Declaration: int[] numbers; String[] words; Review of Arrays Declaration: int[] numbers; String[] words; Instantiation: numbers = new int[4]; words

More information

Helsinki University of Technology Laboratory for Theoretical Computer Science Technical Reports 21

Helsinki University of Technology Laboratory for Theoretical Computer Science Technical Reports 21 Helsinki University of Technology Laboratory for Theoretical Computer Science Technical Reports 21 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tekninen raportti 21 Espoo 2004 HUT-TCS-B21

More information

Haskell: From Basic to Advanced. Part 2 Type Classes, Laziness, IO, Modules

Haskell: From Basic to Advanced. Part 2 Type Classes, Laziness, IO, Modules Haskell: From Basic to Advanced Part 2 Type Classes, Laziness, IO, Modules Qualified types In the types schemes we have seen, the type variables were universally quantified, e.g. ++ :: [a] -> [a] -> [a]

More information

SDL-2000 for New Millennium Systems

SDL-2000 for New Millennium Systems SDL-2 for New Millennium Systems RICK REED SDL is the premier language for specification, design and development of real time systems, and in particular for telecommunication applications. SDL-2 became

More information

A Validation Model for the DSR protocol

A Validation Model for the DSR protocol A Validation Model for the DSR protocol Ana Cavalli, Cyril Grepet, Stéphane Maag and Vincent Tortajada GET / Institut National des Telecommunications 9, rue Charles Fourier F-91011 Evry Cedex, France email

More information

Lesson 06 Arrays. MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL

Lesson 06 Arrays. MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL Lesson 06 Arrays MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL Array An array is a group of variables (called elements or components) containing

More information

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Things to Review Review the Class Slides: Key Things to Take Away Do you understand

More information

The Object Model Overview. Contents. Section Title

The Object Model Overview. Contents. Section Title The Object Model 1 This chapter describes the concrete object model that underlies the CORBA architecture. The model is derived from the abstract Core Object Model defined by the Object Management Group

More information

A

A TUTORIAL Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 A simple system - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 PragmaDev

More information

0. Overview of this standard Design entities and configurations... 5

0. Overview of this standard Design entities and configurations... 5 Contents 0. Overview of this standard... 1 0.1 Intent and scope of this standard... 1 0.2 Structure and terminology of this standard... 1 0.2.1 Syntactic description... 2 0.2.2 Semantic description...

More information

Equivalent Notations. Higher-Order Functions. (define (f x y) ( body )) = (define f (lambda (x y) ) ) Anonymous Functions.

Equivalent Notations. Higher-Order Functions. (define (f x y) ( body )) = (define f (lambda (x y) ) ) Anonymous Functions. Equivalent Notations Higher-Order Functions cs480 (Prasad L156HOF 1 (define (f x y ( body = (define f (lambda (x y ( body cs480 (Prasad L156HOF 2 Function Values (define tag (lambda (t l (cons t l (tag

More information

Decaf Language Reference Manual

Decaf Language Reference Manual Decaf Language Reference Manual C. R. Ramakrishnan Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794-4400 cram@cs.stonybrook.edu February 12, 2012 Decaf is a small object oriented

More information

removal of outdated concepts alignment of existing concepts introduction of new concepts

removal of outdated concepts alignment of existing concepts introduction of new concepts 6'/7XWRULDO Prof. J. Fischer Dr. E. Holz Humboldt-Universität zu Berlin SAM 2000 Workshop Grenoble 6'/ is a major revision of SDL removal of outdated concepts alignment of existing concepts introduction

More information

Data Types. (with Examples In Haskell) COMP 524: Programming Languages Srinivas Krishnan March 22, 2011

Data Types. (with Examples In Haskell) COMP 524: Programming Languages Srinivas Krishnan March 22, 2011 Data Types (with Examples In Haskell) COMP 524: Programming Languages Srinivas Krishnan March 22, 2011 Based in part on slides and notes by Bjoern 1 Brandenburg, S. Olivier and A. Block. 1 Data Types Hardware-level:

More information

Instantiation of Template class

Instantiation of Template class Class Templates Templates are like advanced macros. They are useful for building new classes that depend on already existing user defined classes or built-in types. Example: stack of int or stack of double

More information

CSE 374 Programming Concepts & Tools

CSE 374 Programming Concepts & Tools CSE 374 Programming Concepts & Tools Hal Perkins Fall 2017 Lecture 8 C: Miscellanea Control, Declarations, Preprocessor, printf/scanf 1 The story so far The low-level execution model of a process (one

More information

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011 Basics of Java: Expressions & Statements Nathaniel Osgood CMPT 858 February 15, 2011 Java as a Formal Language Java supports many constructs that serve different functions Class & Interface declarations

More information

Racket: Modules, Contracts, Languages

Racket: Modules, Contracts, Languages Racket: Modules, Contracts, Languages Advanced Functional Programming Jean-Noël Monette November 2013 1 Today Modules are the way to structure larger programs in smaller pieces. Modules can import and

More information

Ch 9: Control flow. Sequencers. Jumps. Jumps

Ch 9: Control flow. Sequencers. Jumps. Jumps Ch 9: Control flow Sequencers We will study a number of alternatives traditional sequencers: sequential conditional iterative jumps, low-level sequencers to transfer control escapes, sequencers to transfer

More information

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) - Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands

More information

Dynamic structure modelling for Causal Block Diagrams. Master Thesis by Yves Maris Promotors: Fernando Barros, Hans Vangheluwe

Dynamic structure modelling for Causal Block Diagrams. Master Thesis by Yves Maris Promotors: Fernando Barros, Hans Vangheluwe Dynamic structure modelling for Causal Block Diagrams Master Thesis by Yves Maris Promotors: Fernando Barros, Hans Vangheluwe 1 Overview Background: Causal Block Diagrams Syntax Semantics Problem statement

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns

More information

Data types for mcrl2

Data types for mcrl2 Data types for mcrl2 Aad Mathijssen April 5, 2018 We provide a syntax for the standard data types of the mcrl2 language. This syntax is intended to be a practical mix between standard mathematical notation

More information

EGF Tutorial Reuse and Customization

EGF Tutorial Reuse and Customization EGF Tutorial Reuse and Customization Benoît Langlois Thales/EPM Agenda Introduction Pattern Extensibility 2 Need of Reuse and Customization General needs: Need #1: Ability to reuse a portfolio, where a

More information

CSE 4500 (228) Fall 2010 Selected Notes Set 2

CSE 4500 (228) Fall 2010 Selected Notes Set 2 CSE 4500 (228) Fall 2010 Selected Notes Set 2 Alexander A. Shvartsman Computer Science and Engineering University of Connecticut Copyright c 2002-2010 by Alexander A. Shvartsman. All rights reserved. 2

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

Address Class (Exercise) B A

Address Class (Exercise) B A Address Class (Exercise) Address Class 177.100.18.4 B 119.18.45.0 A 192.249.234.191 C 10.10.251.12 A 223.32.232.190 C 129.132.24.2 B 18.250.1.1 A 150.10.15.0 B 197.14.2.0 C 174.17.9.1 B 148.17.9.1 B 193.42.1.1

More information

CHAPTER 7 OBJECTS AND CLASSES

CHAPTER 7 OBJECTS AND CLASSES CHAPTER 7 OBJECTS AND CLASSES OBJECTIVES After completing Objects and Classes, you will be able to: Explain the use of classes in Java for representing structured data. Distinguish between objects and

More information

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language Categories of languages that support OOP: 1. OOP support is added to an existing language - C++ (also supports procedural and dataoriented programming) - Ada 95 (also supports procedural and dataoriented

More information

Haskell 98 in short! CPSC 449 Principles of Programming Languages

Haskell 98 in short! CPSC 449 Principles of Programming Languages Haskell 98 in short! n Syntax and type inferencing similar to ML! n Strongly typed! n Allows for pattern matching in definitions! n Uses lazy evaluation" F definition of infinite lists possible! n Has

More information

21. Document Component Design

21. Document Component Design Page 1 of 17 1. Plan for Today's Lecture Methods for identifying aggregate components 21. Document Component Design Bob Glushko (glushko@sims.berkeley.edu) Document Engineering (IS 243) - 11 April 2005

More information

TYPES, VALUES AND DECLARATIONS

TYPES, VALUES AND DECLARATIONS COSC 2P90 TYPES, VALUES AND DECLARATIONS (c) S. Thompson, M. Winters 1 Names, References, Values & Types data items have a value and a type type determines set of operations variables Have an identifier

More information

Graphs. Directed graphs. Readings: Section 28

Graphs. Directed graphs. Readings: Section 28 Graphs Readings: Section 28 CS 135 Winter 2018 12: Graphs 1 Directed graphs A directed graph consists of a collection of vertices (also called nodes) together with a collection of edges. An edge is an

More information

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods

More information

Arithmetic-logic units

Arithmetic-logic units Arithmetic-logic units An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the heart of a processor you could say that everything else in the CPU is there

More information

VHDL Structural Modeling II

VHDL Structural Modeling II VHDL Structural Modeling II ECE-331, Digital Design Prof. Hintz Electrical and Computer Engineering 5/7/2001 331_13 1 Ports and Their Usage Port Modes in reads a signal out writes a signal inout reads

More information

Validation of Communications Systems with SDL The Art of SDL Simulation and Reachability Analysis

Validation of Communications Systems with SDL The Art of SDL Simulation and Reachability Analysis Validation of Communications Systems with SDL The Art of SDL Simulation and Reachability Analysis Laurent Doldi TransMeth Sud-Ouest, France Validation of Communications Systems with SDL Validation of

More information

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language 1 History C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC

More information

Object Oriented Programming with Java

Object Oriented Programming with Java Object Oriented Programming with Java What is Object Oriented Programming? Object Oriented Programming consists of creating outline structures that are easily reused over and over again. There are four

More information

Distributed Systems Programming F29NM1 2. Promela I. Andrew Ireland. School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh

Distributed Systems Programming F29NM1 2. Promela I. Andrew Ireland. School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Distributed Systems Programming F29NM1 Promela I Andrew Ireland School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Distributed Systems Programming F29NM1 2 Overview Basic building

More information

REVIEW OF COMMONLY USED DATA STRUCTURES IN OS

REVIEW OF COMMONLY USED DATA STRUCTURES IN OS REVIEW OF COMMONLY USED DATA STRUCTURES IN OS NEEDS FOR EFFICIENT DATA STRUCTURE Storage complexity & Computation complexity matter Consider the problem of scheduling tasks according to their priority

More information

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course Module 1: Getting Started This module introduces Visual Basic.NET and explains how it fits into the.net platform. It explains how to use the programming tools in Microsoft Visual Studio.NET and provides

More information

Introduction to Visual Basic and Visual C++ Arithmetic Expression. Arithmetic Expression. Using Arithmetic Expression. Lesson 4.

Introduction to Visual Basic and Visual C++ Arithmetic Expression. Arithmetic Expression. Using Arithmetic Expression. Lesson 4. Introduction to Visual Basic and Visual C++ Arithmetic Expression Lesson 4 Calculation I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Arithmetic Expression Using Arithmetic Expression Calculations

More information

The Darwin Language Version 3d Department of Computing, Imperial College of Science, Technology and Medicine, 180 Queen s Gate, London SW7 2BZ, UK.

The Darwin Language Version 3d Department of Computing, Imperial College of Science, Technology and Medicine, 180 Queen s Gate, London SW7 2BZ, UK. Contents The Darwin Language Version 3d Department of Computing, Imperial College of Science, Technology and Medicine, 180 Queen s Gate, London SW7 2BZ, UK. Last Revised: Monday, 15 September 1997 PRELIMINARIES...

More information

Simulator. Chapter 4 Tutorial: The SDL

Simulator. Chapter 4 Tutorial: The SDL 4 Tutorial: The SDL Simulator The SDL Simulator is the tool that you use for testing the behavior of your SDL systems. In this tutorial, you will practice hands-on on the DemonGame system. To be properly

More information

Graphs. Readings: Section 28. CS 135 Fall : Graphs 1

Graphs. Readings: Section 28. CS 135 Fall : Graphs 1 Graphs Readings: Section 28 CS 135 Fall 2018 12: Graphs 1 Directed graphs A directed graph consists of a collection of vertices (also called nodes) together with a collection of edges. An edge is an ordered

More information

Decision Making in C

Decision Making in C Decision Making in C Decision making structures require that the programmer specify one or more conditions to be evaluated or tested by the program, along with a statement or statements to be executed

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

What is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1

What is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1 CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,

More information

M301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism

M301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism Block 1: Introduction to Java Unit 4: Inheritance, Composition and Polymorphism Aims of the unit: Study and use the Java mechanisms that support reuse, in particular, inheritance and composition; Analyze

More information

Information Retrieval and Knowledge Organisation

Information Retrieval and Knowledge Organisation Information Retrieval and Knowledge Organisation Knut Hinkelmann Content Information Retrieval Indexing (string search and computer-linguistic aproach) Classical Information Retrieval: Boolean, vector

More information

Overview of the JSON Encoding Rules (JER)

Overview of the JSON Encoding Rules (JER) Overview of the JSON Encoding Rules (JER) Alessandro Triglia, OSS Nokalva sandro@oss.com July 2017 OSS Nokalva, Inc. 1 CONTENTS 1 Introduction...3 2 The JSON Encoding Rules...4 2.1 JER encoding instructions...4

More information

Browser: Simple HTML Rendering

Browser: Simple HTML Rendering Browser: Simple HTML Rendering Version 6.6 July 22, 2016 The browser library provides the following procedures and classes for parsing and viewing HTML files. The browser/htmltext library provides a simplified

More information

Lecture 10 Notes Linked Lists

Lecture 10 Notes Linked Lists Lecture 10 Notes Linked Lists 15-122: Principles of Imperative Computation (Spring 2016) Frank Pfenning, Rob Simmons, André Platzer 1 Introduction In this lecture we discuss the use of linked lists to

More information

Think of drawing/diagramming editors. ECE450 Software Engineering II. The problem. The Composite pattern

Think of drawing/diagramming editors. ECE450 Software Engineering II. The problem. The Composite pattern Think of drawing/diagramming editors ECE450 Software Engineering II Drawing/diagramming editors let users build complex diagrams out of simple components The user can group components to form larger components......which

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

Open PROMOL: An Experimental Language for Target Program Modification

Open PROMOL: An Experimental Language for Target Program Modification Open PROMOL: An Experimental Language for Target Program Modification Vytautas Štuikys, Robertas Damaševičius, Giedrius Ziberkas Software Engineering Department, Kaunas University of Technology Studentų

More information

Topic 7: Algebraic Data Types

Topic 7: Algebraic Data Types Topic 7: Algebraic Data Types 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 5.5, 5.7, 5.8, 5.10, 5.11, 5.12, 5.14 14.4, 14.5, 14.6 14.9, 14.11,

More information

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced

More information

15 The CPP2SDL Tool. Chapter

15 The CPP2SDL Tool. Chapter Chapter 15 The CPP2SDL Tool The CPP2SDL tool is a C/C++-to-SDL translator that makes it possible to access C or C++ declarations in SDL. The tool takes a set of C/C++ header files as input and generates

More information

Introduction to Software Testing Chapter 2.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt

Introduction to Software Testing Chapter 2.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt Introduction to Software Testing Chapter 2.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt www.introsoftwaretesting.com OO Software and Designs Emphasis on modularity and reuse puts complexity

More information

22 Cisco IOS Commands for the Catalyst 4500 Series Switches interface

22 Cisco IOS Commands for the Catalyst 4500 Series Switches interface Chapter 2 22 interface interface To select an interface to configure and to enter interface configuration mode, use the interface command. interface type number type number Type of interface to be configured;

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

CSE 113 A. Announcements - Lab

CSE 113 A. Announcements - Lab CSE 113 A February 21-25, 2011 Announcements - Lab Lab 1, 2, 3, 4; Practice Assignment 1, 2, 3, 4 grades are available in Web-CAT look under Results -> Past Results and if looking for Lab 1, make sure

More information

Basic Types, Variables, Literals, Constants

Basic Types, Variables, Literals, Constants Basic Types, Variables, Literals, Constants What is in a Word? A byte is the basic addressable unit of memory in RAM Typically it is 8 bits (octet) But some machines had 7, or 9, or... A word is the basic

More information

Program Fundamentals

Program Fundamentals Program Fundamentals /* HelloWorld.java * The classic Hello, world! program */ class HelloWorld { public static void main (String[ ] args) { System.out.println( Hello, world! ); } } /* HelloWorld.java

More information

DM536 Introduction to Programming. Peter Schneider-Kamp.

DM536 Introduction to Programming. Peter Schneider-Kamp. DM536 Introduction to Programming Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm536/! DEFINING FUNCTIONS 2 Function Definitions functions are defined using the following grammar

More information

CPE Summer 2015 Exam I (150 pts) June 18, 2015

CPE Summer 2015 Exam I (150 pts) June 18, 2015 Name Closed notes and book. If you have any questions ask them. Write clearly and make sure the case of a letter is clear (where applicable) since C++ is case sensitive. You can assume that there is one

More information

Contents. Appendix D VHDL Summary Page 1 of 23

Contents. Appendix D VHDL Summary Page 1 of 23 Appendix D VHDL Summary Page 1 of 23 Contents Appendix D VHDL Summary...2 D.1 Basic Language Elements...2 D.1.1 Comments...2 D.1.2 Identifiers...2 D.1.3 Data Objects...2 D.1.4 Data Types...2 D.1.5 Data

More information

Data Types. Data Types. Introduction. Data Types. Data Types. Data Types. Introduction

Data Types. Data Types. Introduction. Data Types. Data Types. Data Types. Introduction Introduction Primitive Composite Structured Abstract Introduction Introduction Data Type is a Collection of Data Objects Possible r-values for a memory cell Set of operations on those objects Descriptor

More information

OSI Specifications using ASN.1 and other formal description techniques

OSI Specifications using ASN.1 and other formal description techniques OSI Specifications using ASN.1 and other formal description techniques Abstract: Gregor v. Bochmann and Daniel Ouimet Département I.R.O, Université de Montréal CP 6128, Succursale A, Montréal, Québec,

More information

CST141 Thinking in Objects Page 1

CST141 Thinking in Objects Page 1 CST141 Thinking in Objects Page 1 1 2 3 4 5 6 7 8 Object-Oriented Thinking CST141 Class Abstraction and Encapsulation Class abstraction is the separation of class implementation from class use It is not

More information

An Activation Record for Simple Subprograms. Activation Record for a Language with Stack-Dynamic Local Variables

An Activation Record for Simple Subprograms. Activation Record for a Language with Stack-Dynamic Local Variables Activation Records The storage (for formals, local variables, function results etc.) needed for execution of a subprogram is organized as an activation record. An Activation Record for Simple Subprograms.

More information

ECOM 4311 Digital System Design using VHDL. Chapter 7

ECOM 4311 Digital System Design using VHDL. Chapter 7 ECOM 4311 Digital System Design using VHDL Chapter 7 Introduction A design s functionality should be verified before its description is synthesized. A testbench is a program used to verify a design s functionality

More information

Functions, Scope & Arguments. HORT Lecture 12 Instructor: Kranthi Varala

Functions, Scope & Arguments. HORT Lecture 12 Instructor: Kranthi Varala Functions, Scope & Arguments HORT 59000 Lecture 12 Instructor: Kranthi Varala Functions Functions are logical groupings of statements to achieve a task. For example, a function to calculate the average

More information

About Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals

More information

Introduction to Bioinformatics

Introduction to Bioinformatics Introduction to Bioinformatics Variables, Data Types, Data Structures, Control Structures Janyl Jumadinova February 3, 2016 Data Type Data types are the basic unit of information storage. Instances of

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

EUROPEAN ETS TELECOMMUNICATION April 1993 STANDARD

EUROPEAN ETS TELECOMMUNICATION April 1993 STANDARD EUROPEAN ETS 300 182-1 TELECOMMUNICATION April 1993 STANDARD Source: ETSI TC-SPS Reference: T/S 46-33K ICS: 33.080 Key words: ISDN, supplementary service Integrated Services Digital Network (ISDN); Advice

More information

Introduction to Design Patterns

Introduction to Design Patterns Introduction to Design Patterns First, what s a design pattern? a general reusable solution to a commonly occurring problem within a given context in software design It s not a finished design that can

More information

OBJECT ORIENTED PROGRAMMING USING C++

OBJECT ORIENTED PROGRAMMING USING C++ OBJECT ORIENTED PROGRAMMING USING C++ Chapter 17 - The Preprocessor Outline 17.1 Introduction 17.2 The #include Preprocessor Directive 17.3 The #define Preprocessor Directive: Symbolic Constants 17.4 The

More information

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java

More information

EUROPEAN ETS TELECOMMUNICATION November 1995 STANDARD

EUROPEAN ETS TELECOMMUNICATION November 1995 STANDARD EUROPEAN ETS 300 359-1 TELECOMMUNICATION November 1995 STANDARD Source: ETSI TC-SPS Reference: T/S 46-33G ICS: 33.080 Key words: ISDN, supplementary service Integrated Services Digital Network (ISDN);

More information

CHAPTER 7 OBJECTS AND CLASSES

CHAPTER 7 OBJECTS AND CLASSES CHAPTER 7 OBJECTS AND CLASSES OBJECTIVES After completing Objects and Classes, you will be able to: Explain the use of classes in Java for representing structured data. Distinguish between objects and

More information

Stateflow Best Practices By Michael Burke

Stateflow Best Practices By Michael Burke Stateflow Best Practices By Michael Burke 2012 The MathWorks, Inc. 1 Topics Background Overview of terms Readability Stateflow hierarchy Modeling tips Basic rules: MAAB style guide 2 Background Objective

More information

UNIT 3

UNIT 3 UNIT 3 Presentation Outline Sequence control with expressions Conditional Statements, Loops Exception Handling Subprogram definition and activation Simple and Recursive Subprogram Subprogram Environment

More information