4TC00 Model-based systems engineering 2.8 Scalable solutions - reuse Functions 2.10 Stochastics
|
|
- Pierce Baldwin
- 5 years ago
- Views:
Transcription
1 4TC00 Model-based systems engineering 2.8 Scalable solutions - reuse Functions 2.10 Stochastics Bert van Beek (dr.ir. D.A. van Beek) Gem-Z d.a.v.beek@tue.nl 1 of 26
2 4TC00 Model-based systems engineering 2.8 Scalable solutions - reuse 2 Bert van Beek (dr.ir. D.A. van Beek) Gem-Z d.a.v.beek@tue.nl 2 of 26
3 Two producer system event int provide; automaton producer1: disc int nr = 0; location: edge provide!nr do nr := nr + 1; automaton producer2: disc int nr = 0; location: edge provide!nr do nr := nr + 1; 3 of 26
4 Equivalent system with definition and instantiation event int provide; automaton def Producer(): disc int nr = 0; location: edge provide!nr do nr := nr + 1; // Producer automaton definition producer1: Producer(); producer2: Producer(); // producer1 automaton instantiation // producer2 automaton instantiation 4 of 26
5 Two buffers in series Model two buffers in series: Output of first buffer is connected to input of second buffer. Capacities of the two buffers are 3 and 5, respectively. Buffers differ only in input connection, output connection and capacity. Therefore, use one automaton definition for the buffer, and two instantiations. Use parameters for the input, output, capacity. 5 of 26
6 Paramaterized automaton definition and instantiation event int buf1_in, buf1_buf2, buf2_out; automaton def Buffer(event int receive, s; alg int capacity): disc list int buf = []; location: edge receive? when size(buf) < capacity do buf := buf + [?]; edge s! buf[0] when size(buf) > 0 do buf := buf[1:]; buffer1: Buffer(buf1_in, buf1_buf2, 3); buffer2: Buffer(buf1_buf2, buf2_out, 5); Use alg for all non-event parameters 6 of 26
7 Equivalent model for the two buffers automaton buffer1: alg int capacity = 3; // create alg variable for alg parameter disc list int buf = []; location: edge buf1_in? when size(buf) < capacity do buf := buf + [?]; edge buf1_buf2! buf[0] when size(buf) > 0 do buf := buf[1:]; automaton buffer2: alg int capacity = 5; // create alg variable for alg parameter disc list int buf = []; location: edge buf1_buf2? when size(buf) < capacity do buf := buf + [?]; edge buf2_out! buf[0] when size(buf) > 0 do buf := buf[1:]; 7 of 26
8 Restricting event parameters automaton def Buffer(event int receive?, s!; alg int capacity): disc list int buf = []; location: receiving only sing only edge receive? when size(buf) < capacity do buf := buf + [?]; edge s! buf[0] when size(buf) > 0 do buf := buf[1:]; Event parameters can be postfixed with!,?, ~ to indicate:! usage of the event is restricted to sing.? usage of the event is restricted to receiving. ~ usage of the event is restricted to pure synchronization.!?,!~,?~ are also allowed and indicate that both indicated restricted usages are permitted.!?~ indicates no restriction and is the default interpretation if a restriction is not specified. 8 of 26
9 Groups group tank: cont V = 5; alg real Qi, Qo; equation V' = Qi - Qo; equation Qi = 1; equation Qo = sqrt(v); Use groups to provide additional hierarchical structure. Group definitions and group instantiations can be used just like automaton definitions and instantiations. 9 of 26
10 Imports - libraries - input variables See Sections 2.8.6, and in the CIF language tutorial. Input variables have already been discussed in the lecture on the car window system. 10 of 26
11 4TC00 Model-based systems engineering 2.9 Functions Bert van Beek (dr.ir. D.A. van Beek) Gem-Z of 26
12 User defined functions func real mean(list real vs): int length = size(vs); int index = 0; real sum = 0; while index < length: sum := sum + vs[index]; index := index + 1; type of returned value return sum / length; parameters declared by type followed by name internal variables declared by type followed by name // calculate the sum of the parameters // return the sum divided by the // number of parameters 12 of 26
13 Function application alg real m = mean([1.5, 3.2, 7.9, 15.8]); automaton a: disc real x; location: edge do x := 2 * mean([0.4, 1.5, 6.8]); CIF user defined functions are just like mathematical functions: Function called with the same input variables always returns the same result. Functions have no side effects: they only return a value. Functions cannot use disc, cont, alg variables: must all be passed as parameters. 13 of 26
14 Function statements Assignment statement: identical to assignment on edge Return statement: see example If statement While statement: see example Break statement 14 of 26
15 If statement func int signum(real x): if x > 0: return 1; elif x < 0: return -1; else return 0; 15 of 26
16 Next slide break statement 16 of 26
17 // Get the first 'n' values from 'xs' that do not equal 'bad'. func list int first_n(list int xs; int n; int bad): int index = 0; int x; list int result = []; while index < size(xs): x := xs[index]; if x!= bad: result := result + [x]; if size(result) = n: break; // break: continue after of while statement index := index + 1; return result; // First 3 values that do not equal 2: 'y' is [1, 5, 3]. alg list int y = first_n([1, 2, 5, 3, 4, 1], 3, 2); 17 of 26
18 4TC00 Model-based systems engineering 2.10 Stochastics Bert van Beek (dr.ir. D.A. van Beek) Gem-Z of 26
19 Example tossing a coin automaton coin_toss: disc dist bool d = bernoulli(0.5); disc bool outcome; // stochastic distribution d location toss: edge do (outcome, d) := sample d goto result; // draw a sample location result: edge when outcome goto heads; edge when not outcome goto tails; // evaluate outcome of sample location heads: edge tau goto toss; location tails: edge tau goto toss; 19 of 26
20 Discrete distributions Discrete distributions draw a sample from a limited number of values Bernoulli distribution: boolean Uniform distribution: integer automaton A: disc dist bool d1 = bernoulli(0.5); disc dist int d2 = uniform(1,10); disc bool b; disc int n; location: edge do (b, d1) := sample d1, (n, d2) := sample d2; 20 of 26
21 Continuous distributions automaton pennies: disc dist real d = normal(2.46, ); disc real weight; // weight of a penny location: edge do (weight, d) := sample d; normal(μμ, σσ 2 ) μμ: average σσ: standard deviation σσ 2 : variance 21 of 26
22 Constant distribution automaton pennies: disc dist real d = constant(2.46); disc real weight; // weight of a penny location: edge do (weight, d) := sample d; A continuous or discrete distribution can be (temporarily) changed to a constant distribution. Purpose of using a constant distribution is that it allows easier model validation, for the specific case of deterministic (non-stochastic) behavior. 22 of 26
23 Pseudo-randomness Computers are not stochastic they use a pseudorandom number generator: an algorithm to generate a (deterministic) sequence of numbers that approximate the properties of sequences of random numbers. the sequence is completely defined by an initial value, called the seed. In CIF, sample d is a mathematical function: when called with the same argument, always gives same result. Result of the sample function is a tuple consisting of: 1. the next value of the sequence of random numbers, 2. the updated distribution, that keeps track of the next sample in the sequence. 23 of 26
24 Demo: sample is a mathematical function // GUI input: reset gives same sample sequence // GUI input: restart simulation gives different sample sequence. automaton coin_toss: disc dist int d = uniform(0, 100); disc dist int d0 = d; disc dist int e = uniform(0, 100); disc dist int e0 = e; disc int outcome_d, outcome_e; disc int outcome_d0, outcome_e0; // equal samples location: edge do (outcome_d, d ) := sample d, // update d (outcome_d0, d0) := sample d0, // update d0 (= d) (outcome_e, e ) := sample e, // update e outcome_e0 := (sample e0)[0]; // e0 unchanged => // sample unchanged 24 of 26
25 Seed When a stochastic simulation produces an unexpected error, repeating the simulation may not produce the same error. To ensure that repeated stochastic simulations behave exactly the same, an initial seed may be provided with option: --distributions-seed=value 25 of 26
26 Demo sample_seed.cif predefined initial seed from "lib:cif3" import *; cif3sim( "sample_seed.cif", "--stateviz=1", "--distributions-seed=5" ); // seed 5 produces 22, 87, 20 automaton coin_toss: disc dist int d = uniform(0, 100); disc int outcome; location: edge do (outcome, d) := sample d; 26 of 26
Simulation and Verification of Timed and Hybrid Systems
Simulation and Verification of Timed and Hybrid Systems Bert van Beek and Koos Rooda Systems Engineering Group Eindhoven University of Technology ISC 2007 Delft 11 June 2007 Bert van Beek and Koos Rooda
More informationCS 320: Concepts of Programming Languages
CS 320: Concepts of Programming Languages Wayne Snyder Computer Science Department Boston University Lecture 04: Basic Haskell Continued o Polymorphic Types o Type Inference with Polymorphism o Standard
More informationPython review. 1 Python basics. References. CS 234 Naomi Nishimura
Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not
More informationIntroduction to Concepts in Functional Programming. CS16: Introduction to Data Structures & Algorithms Spring 2017
Introduction to Concepts in Functional Programming CS16: Introduction to Data Structures & Algorithms Spring 2017 Outline Functions State Functions as building blocks Higher order functions Map Reduce
More informationDistributed 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 informationProgramming for Engineers Functions
Programming for Engineers Functions ICEN 200 Spring 2018 Prof. Dola Saha 1 Introduction Real world problems are larger, more complex Top down approach Modularize divide and control Easier to track smaller
More informationRandom Numbers Random Walk
Random Numbers Random Walk Computational Physics Random Numbers Random Walk Outline Random Systems Random Numbers Monte Carlo Integration Example Random Walk Exercise 7 Introduction Random Systems Deterministic
More informationList Functions, and Higher-Order Functions
List Functions, and Higher-Order Functions Björn Lisper Dept. of Computer Science and Engineering Mälardalen University bjorn.lisper@mdh.se http://www.idt.mdh.se/ blr/ List Functions, and Higher-Order
More informationFunctions in C++ Problem-Solving Procedure With Modular Design C ++ Function Definition: a single
Functions in C++ Problem-Solving Procedure With Modular Design: Program development steps: Analyze the problem Develop a solution Code the solution Test/Debug the program C ++ Function Definition: A module
More information4.2 Function definitions the basics
4.2. FUNCTION DEFINITIONS THE BASICS 89 4.2 Function definitions the basics There are three questions you must answer before you can write a function definition: What will the function do? What inputs
More informationDesign and Analysis of Distributed Interacting Systems
Design and Analysis of Distributed Interacting Systems Lecture 5 Linear Temporal Logic (cont.) Prof. Dr. Joel Greenyer May 2, 2013 (Last Time:) LTL Semantics (Informally) LTL Formulae are interpreted on
More informationCSCI 136 Data Structures & Advanced Programming. Fall 2018 Instructors Bill Lenhart & Bill Jannen
CSCI 136 Data Structures & Advanced Programming Fall 2018 Instructors Bill Lenhart & Bill Jannen Administrative Details Lab 1 handout is online Prelab (should be completed before lab): Lab 1 design doc
More informationScientific Computing: An Introductory Survey
Scientific Computing: An Introductory Survey Chapter 13 Random Numbers and Stochastic Simulation Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationSoftware Design and Analysis for Engineers
Software Design and Analysis for Engineers by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc251 Simon Fraser University Slide Set: 2 Date:
More informationFunctions. Lecture 6 COP 3014 Spring February 11, 2018
Functions Lecture 6 COP 3014 Spring 2018 February 11, 2018 Functions A function is a reusable portion of a program, sometimes called a procedure or subroutine. Like a mini-program (or subprogram) in its
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 04: White-Box Testing (advanced) Part1 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee White-Box Testing Techniques Control-Flow Testing Data-Flow Testing Mutation
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationChapter 5 Functions. Dr. Zhang COSC 1436 Summer, 2018 June 19, 2018
Chapter 5 Functions Dr. Zhang COSC 1436 Summer, 2018 June 19, 2018 while Loop Repetition Review A Condition-Controlled Loop Causes a statement or set of statements to repeat as long as a condition is true.
More informationCSCE 314 TAMU Fall CSCE 314: Programming Languages Dr. Flemming Andersen. Haskell Functions
1 CSCE 314: Programming Languages Dr. Flemming Andersen Haskell Functions 2 Outline Defining Functions List Comprehensions Recursion 3 Conditional Expressions As in most programming languages, functions
More information61A Lecture 3. Friday, September 5
61A Lecture 3 Friday, September 5 Announcements There's plenty of room in live lecture if you want to come (but videos are still better) Please don't make noise outside of the previous lecture! Homework
More informationConfidence Intervals. Dennis Sun Data 301
Dennis Sun Data 301 Statistical Inference probability Population / Box Sample / Data statistics The goal of statistics is to infer the unknown population from the sample. We ve already seen one mode of
More informationG52CON: Concepts of Concurrency
G52CON: Concepts of Concurrency Lecture 11: Semaphores I" Brian Logan School of Computer Science bsl@cs.nott.ac.uk Outline of this lecture" problems with Peterson s algorithm semaphores implementing semaphores
More informationCOMP 110 Programming Exercise: Simulation of the Game of Craps
COMP 110 Programming Exercise: Simulation of the Game of Craps Craps is a game of chance played by rolling two dice for a series of rolls and placing bets on the outcomes. The background on probability,
More informationDaMPL. Language Reference Manual. Henrique Grando
DaMPL Language Reference Manual Bernardo Abreu Felipe Rocha Henrique Grando Hugo Sousa bd2440 flt2107 hp2409 ha2398 Contents 1. Getting Started... 4 2. Syntax Notations... 4 3. Lexical Conventions... 4
More informationTest 1 Summer 2014 Multiple Choice. Write your answer to the LEFT of each problem. 5 points each 1. Preprocessor macros are associated with: A. C B.
CSE 3302 Test 1 1. Preprocessor macros are associated with: A. C B. Java C. JavaScript D. Pascal 2. (define x (lambda (y z) (+ y z))) is an example of: A. Applying an anonymous function B. Defining a function
More informationLecture 2. The SCADE Language Data Flow Kernel. Daniel Kästner AbsInt GmbH 2012
Lecture 2 The SCADE Language Data Flow Kernel Daniel Kästner AbsInt GmbH 2012 2 Synchronous Programming Two simple ways of implementing reactive systems: Event-driven Foreach input_event
More informationAssignment: 1. (Unit-1 Flowchart and Algorithm)
Assignment: 1 (Unit-1 Flowchart and Algorithm) 1. Explain: Flowchart with its symbols. 2. Explain: Types of flowchart with example. 3. Explain: Algorithm with example. 4. Draw a flowchart to find the area
More information61A Lecture 2. Wednesday, September 4, 2013
61A Lecture 2 Wednesday, September 4, 2013 Names, Assignment, and User-Defined Functions (Demo) Types of Expressions Primitive expressions: 2 add 'hello' Number or Numeral Name String Call expressions:
More informationDefining Functions. CSc 372. Comparative Programming Languages. 5 : Haskell Function Definitions. Department of Computer Science University of Arizona
Defining Functions CSc 372 Comparative Programming Languages 5 : Haskell Function Definitions Department of Computer Science University of Arizona collberg@gmail.com When programming in a functional language
More information61A Lecture 2. Friday, August 28, 2015
61A Lecture 2 Friday, August 28, 2015 Names, Assignment, and User-Defined Functions (Demo) Types of Expressions Primitive expressions: 2 add 'hello' Number or Numeral Name String Call expressions: max
More informationShell CSCE 314 TAMU. Haskell Functions
1 CSCE 314: Programming Languages Dr. Dylan Shell Haskell Functions 2 Outline Defining Functions List Comprehensions Recursion 3 Conditional Expressions As in most programming languages, functions can
More informationGE PROBLEM SOVING AND PYTHON PROGRAMMING. Question Bank UNIT 1 - ALGORITHMIC PROBLEM SOLVING
GE8151 - PROBLEM SOVING AND PYTHON PROGRAMMING Question Bank UNIT 1 - ALGORITHMIC PROBLEM SOLVING 1) Define Computer 2) Define algorithm 3) What are the two phases in algorithmic problem solving? 4) Why
More informationOutline. Announcements. Homework 2. Boolean expressions 10/12/2007. Announcements Homework 2 questions. Boolean expression
Outline ECS 10 10/8 Announcements Homework 2 questions Boolean expressions If/else statements State variables and avoiding sys.exit( ) Example: Coin flipping (if time permits) Announcements Professor Amenta
More informationSkill Area 306: Develop and Implement Computer Program
Add your company slogan Skill Area 306: Develop and Implement Computer Program Computer Programming (YPG) LOGO Skill Area 306.2: Produce Structured Program 306.2.1 Write Algorithm 306.2.2 Apply appropriate
More informationRandom numbers program
Fundamentals of Computer Science 2010-2011 Laboratory 11 Vectors (1) Objectives: Acquire abilities in the use of vectors (one-dimensional arrays) Get to know the generation of pseudo-random numbers Lower
More informationLevel 3 Computing Year 2 Lecturer: Phil Smith
Level 3 Computing Year 2 Lecturer: Phil Smith Previously We started to build a GUI program using visual studio 2010 and vb.net. We have a form designed. We have started to write the code to provided the
More informationIntroduction to Computers II Lecture 4. Dr Ali Ziya Alkar Dr Mehmet Demirer
Introduction to Computers II Lecture 4 Dr Ali Ziya Alkar Dr Mehmet Demirer 1 Contents: Utilizing the existing information Top-down design Start with the broadest statement of the problem Works down to
More informationNetwork Protocol Design and Evaluation
Network Protocol Design and Evaluation 05 - Validation, Part I Stefan Rührup Summer 2009 Overview In the last lectures: Specification of protocols and data/message formats In this chapter: Building a validation
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 informationhp calculators HP 9g Probability Random Numbers Random Numbers Simulation Practice Using Random Numbers for Simulations
Random Numbers Simulation Practice Using Random Numbers for Simulations Random numbers Strictly speaking, random numbers are those numbers the digits of which are chosen with replacement so that it is
More informationCS558 Programming Languages
CS558 Programming Languages Winter 2018 Lecture 7b Andrew Tolmach Portland State University 1994-2018 Dynamic Type Checking Static type checking offers the great advantage of catching errors early And
More informationIt is better to have 100 functions operate one one data structure, than 10 functions on 10 data structures. A. Perlis
Chapter 14 Functional Programming Programming Languages 2nd edition Tucker and Noonan It is better to have 100 functions operate one one data structure, than 10 functions on 10 data structures. A. Perlis
More informationBiostatistics & SAS programming. Kevin Zhang
Biostatistics & SAS programming Kevin Zhang February 27, 2017 Random variables and distributions 1 Data analysis Simulation study Apply existing methodologies to your collected samples, with the hope to
More informationModules and Clients 1 / 21
Modules and Clients 1 / 21 Outline 1 Using Functions in Other Programs 2 Modular Programming Abstractions 3 Random Numbers 4 List Processing 5 Standard Statistics 2 / 21 Using Functions in Other Programs
More informationFormal 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 informationProcessadors de Llenguatge II. Functional Paradigm. Pratt A.7 Robert Harper s SML tutorial (Sec II)
Processadors de Llenguatge II Functional Paradigm Pratt A.7 Robert Harper s SML tutorial (Sec II) Rafael Ramirez Dep Tecnologia Universitat Pompeu Fabra Paradigm Shift Imperative Paradigm State Machine
More informationCSC 1351: Quiz 6: Sort and Search
CSC 1351: Quiz 6: Sort and Search Name: 0.1 You want to implement combat within a role playing game on a computer. Specifically, the game rules for damage inflicted by a hit are: In order to figure out
More informationSoftware Engineering using Formal Methods
Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt & Richard Bubel & Reiner Hähnle & Wojciech Mostowski 31 August 2011 SEFM: Promela /GU 110831 1 / 35 Towards Model Checking
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes
More informationAccording to Larry Wall (designer of PERL): a language by geniuses! for geniuses. Lecture 7: Haskell. Haskell 98. Haskell (cont) - Type-safe!
Lecture 7: Haskell CSC 131 Fall, 2014 Kim Bruce According to Larry Wall (designer of PERL): a language by geniuses for geniuses He s wrong at least about the latter part though you might agree when we
More informationAP CS Unit 4: Classes and Objects Programs
AP CS Unit 4: Classes and Objects Programs 1. Copy the Bucket class. Make sure it compiles (but you won t be able to run it because it does not have a main method). public class Bucket { private double
More informationImperative languages
Imperative languages Von Neumann model: store with addressable locations machine code: effect achieved by changing contents of store locations instructions executed in sequence, flow of control altered
More informationLecture Notes on Program Equivalence
Lecture Notes on Program Equivalence 15-312: Foundations of Programming Languages Frank Pfenning Lecture 24 November 30, 2004 When are two programs equal? Without much reflection one might say that two
More informationChapter 5 Functions (Part 2) Hong Sun COSC 1436 Fall, 2017 Oct 18, 2017
Chapter 5 Functions (Part 2) Hong Sun COSC 1436 Fall, 2017 Oct 18, 2017 Defining and Calling a Void Function Function Name Roles: python requires that you follow the same rules that you follow when naming
More informationDeferred operations. Continuations Structure and Interpretation of Computer Programs. Tail recursion in action.
Deferred operations Continuations 6.037 - Structure and Interpretation of Computer Programs Mike Phillips (define the-cons (cons 1 #f)) (set-cdr! the-cons the-cons) (define (run-in-circles l) (+
More informationLecture 7. SchemeList, finish up; Universal Hashing introduction
Lecture 7. SchemeList, finish up; Universal Hashing introduction CS 16 February 24, 2010 1 / 15 foldleft #!/usr/bin/python def foldleft(func, slist, init): foldleft: ( * -> ) * ( SchemeList)
More informationLecture 24 Tao Wang 1
Lecture 24 Tao Wang 1 Objectives Introduction of recursion How recursion works How recursion ends Infinite recursion Recursion vs. Iteration Recursion that Returns a Value Edition 2 Introduction If we
More informationThe SPIN Model Checker
The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/
More informationCS 415 Midterm Exam Fall 2003
CS 415 Midterm Exam Fall 2003 Name KEY Email Address Student ID # Pledge: This exam is closed note, closed book. Questions will be graded on quality of answer. Please supply the best answer you can to
More informationCS558 Programming Languages
CS558 Programming Languages Fall 2017 Lecture 7b Andrew Tolmach Portland State University 1994-2017 Type Inference Some statically typed languages, like ML (and to a lesser extent Scala), offer alternative
More informationEECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review
EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition
More informationIndividual research task. You should all have completed the research task set last week. Please make sure you hand it in today.
Lecture 6 Individual research task. You should all have completed the research task set last week. Please make sure you hand it in today. Previously Decision structures with flowcharts Boolean logic UML
More informationAppendix. Grammar. A.1 Introduction. A.2 Keywords. There is no worse danger for a teacher than to teach words instead of things.
A Appendix Grammar There is no worse danger for a teacher than to teach words instead of things. Marc Block Introduction keywords lexical conventions programs expressions statements declarations declarators
More informationPRG PROGRAMMING ESSENTIALS. Lecture 2 Program flow, Conditionals, Loops
PRG PROGRAMMING ESSENTIALS 1 Lecture 2 Program flow, Conditionals, Loops https://cw.fel.cvut.cz/wiki/courses/be5b33prg/start Michal Reinštein Czech Technical University in Prague, Faculty of Electrical
More informationSubmit: Your group source code to mooshak
Tutorial 2 (Optional) Genetic Algorithms This is an optional tutorial. Should you decide to answer it please Submit: Your group source code to mooshak http://mooshak.deei.fct.ualg.pt/ up to May 28, 2018.
More informationCS558 Programming Languages
CS558 Programming Languages Winter 2017 Lecture 6a Andrew Tolmach Portland State University 1994-2017 Iteration into Recursion Any iteration can be written as a recursion, e.g. while (c) {e Scala is equivalent
More informationint n = 10; int sum = 10; while (n > 1) { sum = sum + n; n--; } cout << "The sum of the integers 1 to 10 is " << sum << endl;
Debugging Some have said that any monkey can write a program the hard part is debugging it. While this is somewhat oversimplifying the difficult process of writing a program, it is sometimes more time
More informationPrinciples of Computer Science
Principles of Computer Science Lecture 2 Dr. Horia V. Corcalciuc Horia Hulubei National Institute for R&D in Physics and Nuclear Engineering (IFIN-HH) January 27, 2016 Loops: do-while do-while loops do
More informationYou ve already read basics of simulation now I will be taking up method of simulation, that is Random Number Generation
Unit 5 SIMULATION THEORY Lesson 39 Learning objective: To learn random number generation. Methods of simulation. Monte Carlo method of simulation You ve already read basics of simulation now I will be
More informationLECTURE 16. Functional Programming
LECTURE 16 Functional Programming WHAT IS FUNCTIONAL PROGRAMMING? Functional programming defines the outputs of a program as a mathematical function of the inputs. Functional programming is a declarative
More informationCSC312 Principles of Programming Languages : Functional Programming Language. Copyright 2006 The McGraw-Hill Companies, Inc.
CSC312 Principles of Programming Languages : Functional Programming Language Overview of Functional Languages They emerged in the 1960 s with Lisp Functional programming mirrors mathematical functions:
More informationConditional Expressions and Decision Statements
Conditional Expressions and Decision Statements June 1, 2015 Brian A. Malloy Slide 1 of 23 1. We have introduced 5 operators for addition, subtraction, multiplication, division, and exponentiation: +,
More informationCS Boolean Statements and Decision Structures. Week 6
CS 17700 Boolean Statements and Decision Structures Week 6 1 Announcements Midterm 1 is on Feb 19 th, 8:00-9:00 PM in PHYS 114 and PHYS 112 Let us know in advance about conflicts or other valid makeup
More informationProgramming Languages. Tail Recursion. CSE 130: Winter Lecture 8: NOT TR. last thing function does is a recursive call
CSE 130: Winter 2010 News Programming Languages Lecture 8: Higher-Order Od Functions Ranjit Jhala UC San Diego Today s Plan Finish Static Scoping Tail Recursion last thing function does is a recursive
More informationPHPoC vs PHP > Overview. Overview
PHPoC vs PHP > Overview Overview PHPoC is a programming language that Sollae Systems has developed. All of our PHPoC products have PHPoC interpreter in firmware. PHPoC is based on a wide use script language
More informationCorrectness of specifications. Correctness. Correctness of specifications (2) Example of a Correctness Proof. Testing versus Correctness Proofs
CS 390 Lecture 17 Correctness A product is correct if it satisfies its output specifications when operated under permitted conditions Correctness of specifications Incorrect specification for a sort (Figure
More informationCHOICE BASED CREDIT SYSTEM (With effect from )
B.Sc. Computer Science Syllabus Under the CHOICE BASED CREDIT SYSTEM (With effect from 2017-18) DEPARTMENT OF COMPUTER SCIENCE University College,TU,Nizamabad-503322 Syllabus for Computer Science (With
More informationLecture 10: Introduction to Semaphores
COMP 150-CCP Concurrent Programming Lecture 10: Introduction to Semaphores Dr. Richard S. Hall rickhall@cs.tufts.edu Concurrent programming February 19, 2008 Semaphores Semaphores (Dijkstra 1968) are widely
More informationCS1110 Lab 6 (Mar 17-18, 2015)
CS1110 Lab 6 (Mar 17-18, 2015) First Name: Last Name: NetID: The lab assignments are very important and you must have a CS 1110 course consultant tell CMS that you did the work. (Correctness does not matter.)
More informationThe current topic: Python. Announcements. Python. Python
The current topic: Python Announcements! Introduction! reasons for studying languages! language classifications! simple syntax specification Object-oriented programming: Python Types and values Syntax
More informationCOP4020 Programming Languages. Functional Programming Prof. Robert van Engelen
COP4020 Programming Languages Functional Programming Prof. Robert van Engelen Overview What is functional programming? Historical origins of functional programming Functional programming today Concepts
More informationARENALib: A Modelica Library for Discrete-Event System Simulation
ARENALib: A Modelica Library for Discrete-Event System Simulation ARENALib: A Modelica Library for Discrete-Event System Simulation Victorino S. Prat Alfonso Urquia Sebastian Dormido Departamento de Informática
More informationA general introduction to Functional Programming using Haskell
A general introduction to Functional Programming using Haskell Matteo Rossi Dipartimento di Elettronica e Informazione Politecnico di Milano rossi@elet.polimi.it 1 Functional programming in a nutshell
More informationPROGRAMMING IN HASKELL. Chapter 2 - First Steps
PROGRAMMING IN HASKELL Chapter 2 - First Steps 0 The Hugs System Hugs is an implementation of Haskell 98, and is the most widely used Haskell system; The interactive nature of Hugs makes it well suited
More informationIntermediate Code Generation
Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target
More informationMidterm Exam 2B Answer key
Midterm Exam 2B Answer key 15110 Principles of Computing Fall 2015 April 6, 2015 Name: Andrew ID: Lab section: Instructions Answer each question neatly in the space provided. There are 6 questions totaling
More informationFunctional Programming. Overview. Topics. Definition n-th Fibonacci Number. Graph
Topics Functional Programming Christian Sternagel Harald Zankl Evgeny Zuenko Department of Computer Science University of Innsbruck WS 2017/2018 abstract data types, algebraic data types, binary search
More informationApplication: Programming Language Semantics
Chapter 8 Application: Programming Language Semantics Prof. Dr. K. Madlener: Specification and Verification in Higher Order Logic 527 Introduction to Programming Language Semantics Programming Language
More informationInfo 2950, Lecture 6
Info 2950, Lecture 6 14 Feb 2017 More Programming and Statistics Boot Camps? Prob Set 2: due Fri night 24 Feb Brief Summary Expectation value: E[X] = P s2s p(s)x(s) Variance: V [X] = P s2s p(s)(x(s) E[X])2
More informationIntroduction to VHDL #3
ECE 322 Digital Design with VHDL Introduction to VHDL #3 Lecture 7 & 8 VHDL Modeling Styles VHDL Modeling Styles Dataflow Concurrent statements Structural Components and interconnects Behavioral (sequential)
More informationSELECTION IDIOMS. Here is a summary of appropriate selection idioms: Selection Idioms. Action Condition Construct to Use. Sequential if statements
SELECTION IDIOMS The programming idioms for selection statements depend on the concept of mutual exclusion. Two truth values are mutually exclusive if no more than one of them can be true. Two actions
More informationDiscrete-Event Simulation:
Discrete-Event Simulation: A First Course Section 32: Multi-Stream Lehmer RNGs Section 32: Multi-Stream Lehmer RNGs Discrete-Event Simulation c 2006 Pearson Ed, Inc 0-13-142917-5 Section 32: Multi-Stream
More informationThe SiMoL Modeling Language for Simulation and (Re-)Configuration
The SiMoL Modeling Language for Simulation and (Re-)Configuration Iulia Nica and Franz Wotawa Technische Universität Graz, Institute for Software Technology 1 Index Motivation SiMoL Definition SiMoL Syntax
More informationPHPoC. PHPoC vs PHP. Version 1.1. Sollae Systems Co., Ttd. PHPoC Forum: Homepage:
PHPoC PHPoC vs PHP Version 1.1 Sollae Systems Co., Ttd. PHPoC Forum: http://www.phpoc.com Homepage: http://www.eztcp.com Contents 1 Overview...- 3 - Overview...- 3-2 Features of PHPoC (Differences from
More information2WB05 Simulation Lecture 1: Introduction and Monte Carlo simulation
2WB05 Simulation Lecture 1: Introduction and Monte Carlo simulation Marko Boon http://www.win.tue.nl/courses/2wb05 November 12, 2012 Organisation 2/39 studeerwijzer available (with notes, slides, programs,
More informationComputational Methods. Randomness and Monte Carlo Methods
Computational Methods Randomness and Monte Carlo Methods Manfred Huber 2010 1 Randomness and Monte Carlo Methods Introducing randomness in an algorithm can lead to improved efficiencies Random sampling
More informationGNU ccscript Scripting Guide IV
GNU ccscript Scripting Guide IV David Sugar GNU Telephony 2008-08-20 (The text was slightly edited in 2017.) Contents 1 Introduction 1 2 Script file layout 2 3 Statements and syntax 4 4 Loops and conditionals
More informationSection 3.2: Multi Stream Lehmer RNGs
Section 32: Multi Stream Lehmer RNGs Discrete-Event Simulation: A First Course c 2006 Pearson Ed, Inc 0-13-142917-5 Discrete-Event Simulation: A First Course Section 32: Multi Stream Lehmer RNGs 1/ 19
More information61A Lecture 4. Monday, September 9
61A Lecture 4 Monday, September 9 Announcements Homework 1 due Tuesday 9/10 at 5pm; Late homework is not accepted! Quiz on Wednesday 9/11 released at 1pm, due Thursday 9/12 at 11:59pm Open-computer: You
More information