12th European Simulation Multiconference, Manchester, Uk, Discrete Event Simulation in Interactive Scientic and

Size: px
Start display at page:

Download "12th European Simulation Multiconference, Manchester, Uk, Discrete Event Simulation in Interactive Scientic and"

Transcription

1 12th European Simulation Multiconference, Manchester, Uk, Discrete Event Simulation in Interactive Scientic and Technical Computing Environments T. Pawletta, Wismar University, Germany W. Drewelow, S. Pawletta, University of Rostock, Germany y Keywords: Discrete Event Simulation, Embedded Simulation, SCEs, MATLAB, GPSS Abstract The integration of discrete event simulation methods into Scientic and Technical Computing Environments (SCEs) extends their functionality and opens new ways for a convenient interactive modelling and simulation. Because of the wide range of algorithms provided by SCEs, it also oers lots of possibilities for solving complex problems with simulations in an uniform environment. The paper discusses general approaches and presents their realization by the example of a MATLAB-GPSS toolbox prototype. 1 Introduction Interactive Scientic and Technical Computing Environments (SCEs), like MATLAB [7], Octave [1], SciLAB [2] etc., become more and more important in many application areas and in education [5],[4]. While SCEs were only interactive front ends for numerical and visualisation libraries in the past, modern SCEs are complex computing and programming environments. They provide lots of dierent algorithms, an interactive way of working and a powerful programming language. These features are responsible for the rapid growth in use of SCEs, especially in engineering prototyping and education. In spite of the wide range of algorithms supported by SCEs, there is hardly any support for discrete event simulation methods till today. One reason may be the frequently used argument of higher runtime expenses in comparison to compiler based systems. But a much more critical point is the realization of a convenient modelling language in a SCE, because pawel@mb.hs-wismar.de y sven.pawletta@etechnik.uni-rostock.de, wolfgang.drewelow@etechnik.uni-rostock.de such languages are non-procedural and so their statements cannot be executed straight forward by a SCEinterpreter. For lack of discrete event simulation methods in recent SCEs, data couplings between external simulation systems and SCEs (mostly via ASCII les) are often used to make the abundance of SCE-algorithms available at least for data pre- and post processing. But this approach has major disadvantages. The user has to work in dierent environments and the combination of methods is strongly restricted. Therefore, solving sophisticated tasks, like for instance optimisation loops with embedded simulations, can be very dicult or even impossible. In the face of such problems, it seems to be reasonable to support discrete event simulation methods within SCEs directly. Especial for educational purposes and for applications which really require the combined usage of dierent methods, the resulting higher runtime expenses of SCE based simulations may be of secondary importance. In the following the paper analyses the architecture of SCEs and it discusses the realization of nonprocedural discrete event simulation approaches in general. By the example of the GPSS 1 language it is shown in more detail, how a non-procedural modelling description can be transformed to an executable representation for a SCE-interpreter, and how the simulation can be integrated as a method into more complex experiments. As reference systems the SCE MATLAB 2 and the transaction oriented GPSS language are used. GPSS is still one of the most popular modelling languages for discrete event systems,and many modern simulation tools are based on GPSS 1 GPSS (General Purpose Simulation System) was developed by Gordon at IBM. Today there are several of dierent GPSS implementations with partly dierent syntax and semantics. 2 MATLAB (Matrix Laboratory) is a product of The Math- Works, Inc. Its predecessor Classic MATLAB was developed by C. Moler from 1977 to 1984 and is the root of almost all modern SCEs.

2 12th European Simulation Multiconference, Manchester, Uk, language derivatives. On the other side, MATLAB is one of the most powerful SCEs. Besides the approach of integrating a transaction oriented simulation method into a SCE described in this paper, there are further projects to integrate other discrete simulation techniques, for instance discrete event methods based on extensions of Zeigler's DEVS-theory for variable structure systems [11], or event oriented modelling and simulation on nite state machines (STATEFLOW for MATLAB), see [8]. 2 Architecture of SCEs A modern SCE provides a large number of predened algorithms for numerical, graphical, statistical, symbolical and other analyses techniques, which can be used interactively in one uniform environment. Additionally, a SCE is extendable by user supplied algorithms, which are coded by means of a very powerful integrated programming language. Such a language is array oriented (in some cases extended by object oriented features), supports dynamic data type binding, and its syntax is very similar to mathematical notations. In contrast to classical programming languages (e.g. FORTRAN, C, C++) its primary aim is not to produce memory and runtime optimal code, but to support ecient implementations and tests of complex problems. Together with the ability to execute user dened routines immediately, a SCE constitutes an excellent bases for rapid prototyping. Some SCEs (e.g. MATLAB) introduce additional features to produce faster code for the production phase. One of these features is the compilation of SCE routines into faster meta-code or into an executable stand-alone program. Another way is the dynamic binding of external compiled code. This technique can also be used to couple SCEs with other applications. Figure 1 presents the general architecture of a SCE. Keyboard Input Module Keyboard Parser Interpreter Routine Module (numerical-, statistical-, symbolical-, visualization routines etc.) Dynamic Memory Management (Workspaces) Output Module Figure 1: Architecture of a SCE The core of a SCE are the parser and interpreter Text as well as the routine module. Fundamental and runtime critical system routines are integrated as builtin functions (object code). Other system and user supplied routines are mostly integrated as SCE- or meta-code. The interpreter and the output as well as the input module built the user interface. So instructions can be processed in an interactive mode from a command line or in batch mode from a script le. The output module prints or visualises the results on screen or writes them into a le. The dynamic memory management provides a permanent global workspace and function related temporary local workspaces. A more detailed analysis of SCEs can be found in [9]. 3 General Approaches SCEs are characterised by a sequential execution of instructions. A model specication by means of a non-procedural modelling language is done in a declarative manner. Therefore, such a specication cannot be executed straight forward by a SCE-interpreter. That means the model description has to be transformed into a SCE-internal model representation, called computing model. Then the computing model can be executed under control of a simulation engine, called scheduler. Therefore, an entire simulation consists of a model generation and execution process. The model execution process can be realized in a SCE without diculties. The scheduler algorithm can be implemented using the integrated programming language or { in case of very time critical problems { it can be linked as compiled code into the SCE. Then a simulation run can be started by a scheduler call with the appropriate simulation parameters and a pointer to the internal computing model. For the model generation process there are dierent approaches. One solution is to code a translator as a SCE-routine, which is able to read a model description from le and to generate the internal computing model. This solution is very similar to the conventional compiler based approaches. The disadvantage of this approach is that the SCE native short error correction cycle is lost during modelling. A second approach is to code all modelling commands as separate SCE-routines, which consist of a specic generation and simulation part. That means the model generation process is not concentrated into a single translator routine, but it is spreaded over all model functions. Then only a very simple general initialisation routine is necessary to initialise global data structures. This approach has some advantages during the modelling phase regarding to the interactive way of working.

3 12th European Simulation Multiconference, Manchester, Uk, In most cases experiments require more than a simple simulation run, i.e. the simulation is often an embedded experimentation method. That's why the model execution process should be callable from other methods very easily, and has to provide an interface for model parameter variation as well as for returning simulation results. These features should be called experiment control. The following section will investigate the discussed problems in more detail by examples. 4 Concepts for a MATLAB- GPSS Toolbox The SCE MATLAB and the GPSS language were chosen to prove the discussed approaches. Detailed information about MATLAB and GPSS can be found in [7] and [12]. At rst the mentioned and some additional requirements shall be summerized. The modelling language should be as conform as possible to GPSS and MATLAB, and it should be possible to integrate pure MATLAB statements into a model description. The latter is useful for modelling arithmetical or logical expressions, execution loops, or graphical outputs during the simulation. An easy integration of simulation runs into more complex MATLAB based experiments should be possible. A SCE native way of working should be supported during the modelling as well as simulation process. In the following an entire approach from model generation up to complex experiment control should be presented. After that alternatives will be discussed. 4.1 Model Generation by a Translator Routine The model description has to be specied in a special model le modelname.gps. This model le is read by a translator routine init that generates the internal model representation. In case of MATLAB the internal model can be stored in a string matrix or a structure array, where each row presents the structure of one model statement. If the runtime system implements for each model statement a separate MAT- LAB routine, then they can be evaluated easily by the MATLAB routine eval. Figure 2 presents the model description of a simple multi server system and gure 3 shows the generated internal model representation. The model generation can be performed by the following MATLAB command: >> init('modelname.gps') % multiserver.gps: Model of a multi server Denitions: Inputparameter ('servcap') Outputparameter ('sa') STORAGE ('Multiserver','servCap') % Def. of service time function FUNCTION ('Stime',RN1,'D',4,[.28,2.5;.70,3.5;.85,4.5;1,5.5]) Model: GENERATE (1.5,[],5) stem (AC,1) % MATLAB stem plot QUEUE ('ServerQ') ENTER ('Multiserver') DEPART ('ServerQ') ADVANCE (FN('Stime')) LEAVE ('Multiserver') LOGIC I ('Exit') GATE LS ('Exit','Exit2') % To 'Exit2', if LOGIC o TERMINATE(1) % System Exit1 LABEL ('Exit2') % Set a block label TERMINATE(1) % System Exit2 Outputs: sa = SA('Multiserver') % Set output parameter END Figure 2: Example of a MATLAB-GPSS Model Description Number Label Statement Current Total 1 [] 'GENERATE(1.5,0,5)' [] 'stem(ac,1)' [] 'QUEUE(1)' [] 'ENTER(1,1)' [] 'DEPART(1)' [] 'ADVANCE(FN('Stime',0))' [] 'LEAVE(1,1)' [] 'LOGIC I(1)' [] 'GATE LS(1,12)' [] 'TERMINATE(1)' 'Exit2' 'TERMINATE(1)' 0 0 Figure 3: Finale Structure of a Computing Model In principle the modelling language can dene an arbitrary syntax. In this case one requirement was the realization of a syntax similar to MATLAB and GPSS, which enables the inclusion of pure MATLAB statements like the stem command in the example for producing a graphical output during simulation. Another extension to the GPSS language is the introduction of input and output parameters. They are necessary for more complex experiments, where variable model parameters have to be adjusted or simulation results have to be analysed by a superior experiment method. Summarised, the model generation and initialisation process performs following steps: reading a model description from le; deleting empty lines and comments executing denition statements and initialisation of runtime data structures; re-organization of the internal model representation

4 12th European Simulation Multiconference, Manchester, Uk, performing some optimisations e.g. strings to integers etc. conversion of initialisation of further runtime data structures e.g. for queues, for facilities etc., and the internal event chains generation of the initial transactions 4.2 Runtime System The runtime system consists of three parts: the scheduler algorithm, the state transition routines for the dierent model components, and the routines for collecting statistical data. As described in the previous section it is favourable to implement the behaviour of each model component by a separate MATLAB routine, which is activated by the scheduler. GPSS has introduced the transaction oriented scheduling. A fundamental description of this scheduling strategy can be found in [12]. The dierent possibilities to realize a scheduler algorithm in a SCE have been discussed in section 3. One possibility is its implementation by means of the integrated MATLAB programming language. This is the more runtime consuming variant, but the algorithm is easier to understand for beginners like students, and it is easier to modify the algorithm for further investigations. That's why this method has been used for the prototype implementation. 4.3 Experiment Control A simulation run can be performed after model generation and initialisation by calling the scheduler routine with a pointer to the internal computing model and a parameter that species the termination criterion. The scheduler routine points by default to the last generated internal computing model. A simple simulation run with the default model can be started by the following MATLAB statement: >> schedule(tc_start) The parameter tc start sets the GPSS specic termination criterion, called termination counter. GPSS denes dierent statistical parameters which are calculated after each simulation run. These parameters can be requested by the routine report in the following manner: >> [Q,F,S,...] = report A major requirement of this project is the realization of a convenient coupling of the simulation method with other MATLAB methods. Therefore, the model description has been extended by input and output parameters as described in section 4.1. The simulation execution method schedule performs an appropriate interface for data exchange. >> [outputparameterlist] = schedule(tc_start,... inputparameterlist) By this interface simulations can be coupled with other methods in a MATLAB native manner. Figure 4 presents as example an interactive parameter study with a three dimensional graphic output of the cost function. The called simulation model is similar to the multi server example from gure 2, but extended by a scalable waiting queue capacity. >> % Parameter study of a multi server with limited storage >> % Parameters: server and storage capacity >> % Calc.: costs=f(servercosts,storagecosts,joboutput) >> % >> init('multiserver.gps'); >> for servcap = 1:4, for storcap = 10:10:50, joboutput = schedule(1000,servcap,storcap); joboutputvec = [joboutputvec; joboutput]; end joboutputmat = [joboutputmat; joboutputvec]; end >> costs = -servcap.^2 - storcap.^2 + 5jobOutputMat; >> [servcap,storcap] = meshgrid(1:4,10:10:50); >> surf(servcap,storcap,costs); >> grid, title('cost Function'),... Figure 4: A Simple Interactive Experiment 4.4 Interactive Model Generation The primary aim of interactive model generation is to preserve the SCE native short error correction cycle, i.e. commands are processed immediately by the SCE-interpreter and in case of errors appropriate messages are generated. The discussed approach of model generation by a special translator routine does not support such a way of working. A second approach discussed in section 3 proposes to code all specic generation and calculation aspects of a model command in one MATLAB routine. Then a simple initialisation routine can switch the phase of the commands from generation to execution by a global ag. Furthermore, this routine can provide a modied user prompt by the MATLAB routine input to signal the current phase. Figure 5 presents an example of an interactive model generation and the interactive execution of a simple simulation run. The gpss>> prompt signals the model generation phase, which is switched on by the init command and switched o by the END command. Furthermore, it presents the interactive handling of modelling errors by the example of the QUEUE command. This approach provides a full interactive handling for all GPSS commands. An exception are pure MAT- LAB statements, because they do not own a specic

5 12th European Simulation Multiconference, Manchester, Uk, generation part. That's why they have to be read by a special routine M('commandString'), which generates their internal representation. The current state of model generation can be reported in a separate gure window by writing each generated model statement line by line. Besides the interactive model generation this approach allows le oriented model descriptions, too. Then the model commands have to be arranged in a regular MATLAB script. >> init('multiserver') % Model generation on gpss >> Inputparameter('servCap'); gpss >> Outputparameter('sa'); gpss >> %... further denition statements gpss >> GENERATE(1.5,[],5); gpss >> M('stem(AC,1)'); gpss >> QUEUE; % a wrong command??? Error using =) QUEUE Not enough input arguments gpss >> help QUEUE QUEUE QUEUE from GPSS TB QUEUE(STR) denes the entry in a waiting queue with name STR. See also DEPART. gpss >> QUEUE('ServerQ'); gpss >> %... further model statements gpss >> Outputs('sa = SA('Multiserver')'); gpss >> END; % Model generation o >> % Simple simulation run >> sa = schedule(1000,5); % tc start= 1000, servcap= 5 >> [Q,F,S,...] = report; >>...; Figure 5: Example of an Interactive Model Generation and Execution 5 Conclusions, Further Works The paper turned out that discrete event simulation methods and non-procedural model descriptions can be realized in interactive SCEs. General approaches are discussed and their principial realization is pointed out by the SCE MATLAB and the simulation language GPSS. Further works are the extension to hybrid systems, i.e. systems with combined discrete event and continuous behaviour [3]. Another thread of investigations focuses on distributed and parallel simulation of discrete event systems in SCEs based on the presented MATLAB-GPSS prototype and the DP- Toolbox (distributed and parallel processing based on multiple MATLAB instances [9], [10]). References [1] Octave Homepage. University of Wisconsin, [2] Scilab Homepage. Inria France, [3] W. Drewelow. Investigations to Simulation of Hybrid Systems with MATLAB-GPSS. Internal report, University of Rostock, (in publishing). [4] D. Etter. Engineering Problem Solving with MATLAB. Prentice Hall, Englewood Clis, New Jersey 07632, [5] Gruenwald, Kossow, Pawletta, and Tiedt. Cross discipline cooperation in engineering using numeric and computer algebra systems. In Proc. of Anniversary Seminar on Education in Engineering. Wismar University, Germany, UICEE, May [6] M. Kirchho. Development of a Mini-GPSS Toolbox. Master thesis, University of Rostock, February (in German). [7] MathWorks. MATLAB Users Guide { Vers. 5. The MathWorks Inc., Natick, MA, USA, [8] MathWorks. STATEFLOW-TB Data Sheet. The MathWorks Inc., Natick, MA, USA, [9] S. Pawletta. Extension of a Scientic and Technical Computing System to a Prototyping Environment for Parallel Applications. Phd thesis, University of Rostock, June (in German). [10] S. Pawletta, T. Pawletta, and W. Drewelow. Distributed and parallel simulation in an interactive environment. In F. Breitenecker and I. Husinsky, editors, Proc. of the 1995 EUROSIM Conference, Vienna, Austria, pages 345{350. Elsevier Science Publisher B.V., September [11] T. Pawletta. Investigations to DEVS-based Simulation of Variable Structure Systems with MATLAB. Internal report, Wismar University, (in publishing). [12] T. J. Schriber. An Introduction to Simulation using GPSS/H. John Wiley and Sons, About the Authors The authors are working in a joint modelling and simulation research group. Some more information about the authors can be found in the WWW: wd/rg mosi/

A MATLAB Toolbox for Distributed and Parallel Processing

A MATLAB Toolbox for Distributed and Parallel Processing A MATLAB Toolbox for Distributed and Parallel Processing S. Pawletta a, W. Drewelow a, P. Duenow a, T. Pawletta b and M. Suesse a a Institute of Automatic Control, Department of Electrical Engineering,

More information

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by 1 MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by MathWorks In 2004, MATLAB had around one million users

More information

HYBRID EXPERIMENTING SYSTEM AS AN EXTENSION OF SIMULATION LANGUAGE SIMCOS

HYBRID EXPERIMENTING SYSTEM AS AN EXTENSION OF SIMULATION LANGUAGE SIMCOS B. Zupančič, M. Jekl, R. Karba. Hybrid Experimenting System as an Extension of Simulation Language Simcos. SAMS, Vol. 20, pp. 161-171, 1995. HYBRID EXPERIMENTING SYSTEM AS AN EXTENSION OF SIMULATION LANGUAGE

More information

System Design S.CS301

System Design S.CS301 System Design S.CS301 (Autumn 2015/16) Page 1 Agenda Contents: Course overview Reading materials What is the MATLAB? MATLAB system History of MATLAB License of MATLAB Release history Syntax of MATLAB (Autumn

More information

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, 28-3 April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC 1131-3 Martin hman Stefan Johansson Karl-Erik rzen Department of Automatic

More information

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract Reverse Engineering with a CASE Tool Bret Johnson Research advisors: Spencer Rugaber and Rich LeBlanc October 6, 994 Abstract We examine using a CASE tool, Interactive Development Environment's Software

More information

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA Thunks (continued) Olivier Danvy, John Hatcli Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506, USA e-mail: (danvy, hatcli)@cis.ksu.edu Abstract: Call-by-name

More information

MatLab Just a beginning

MatLab Just a beginning MatLab Just a beginning P.Kanungo Dept. of E & TC, C.V. Raman College of Engineering, Bhubaneswar Introduction MATLAB is a high-performance language for technical computing. MATLAB is an acronym for MATrix

More information

The Auditory Modelling Toolbox

The Auditory Modelling Toolbox The Auditory Modelling Toolbox December 31, 2015 1 For beginners read and understand help amtstart before you start to play with the AMToolbox. Per default, the AMToolbox starts in a cached mode where

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Weichung Wang 2003 NCTS-NSF Workshop on Differential Equations, Surface Theory, and Mathematical Visualization NCTS, Hsinchu, February 13, 2003 DE, ST, MV Workshop Matlab 1 Main

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Contents 1.1 Objectives... 1 1.2 Lab Requirement... 1 1.3 Background of MATLAB... 1 1.4 The MATLAB System... 1 1.5 Start of MATLAB... 3 1.6 Working Modes of MATLAB... 4 1.7 Basic

More information

Compilers Project Proposals

Compilers Project Proposals Compilers Project Proposals Dr. D.M. Akbar Hussain These proposals can serve just as a guide line text, it gives you a clear idea about what sort of work you will be doing in your projects. Still need

More information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB? Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system

More information

In context with optimizing Fortran 90 code it would be very helpful to have a selection of

In context with optimizing Fortran 90 code it would be very helpful to have a selection of 1 ISO/IEC JTC1/SC22/WG5 N1186 03 June 1996 High Performance Computing with Fortran 90 Qualiers and Attributes In context with optimizing Fortran 90 code it would be very helpful to have a selection of

More information

The Matrix Market Exchange Formats:

The Matrix Market Exchange Formats: NISTIR 5935 The Matrix Market Exchange Formats: Initial Design Ronald F. Boisvert Roldan Pozo Karin A. Remington U. S. Department of Commerce Technology Administration National Institute of Standards and

More information

The Cantor Handbook. Alexander Rieder

The Cantor Handbook. Alexander Rieder Alexander Rieder 2 Contents 1 Introduction 5 2 Using Cantor 6 2.1 Cantor features....................................... 6 2.2 The Cantor backends.................................... 7 2.3 The Cantor Workspace...................................

More information

Symbol Tables Symbol Table: In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is

More information

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety Data Parallel Programming with the Khoros Data Services Library Steve Kubica, Thomas Robey, Chris Moorman Khoral Research, Inc. 6200 Indian School Rd. NE Suite 200 Albuquerque, NM 87110 USA E-mail: info@khoral.com

More information

Introduction to MATLAB

Introduction to MATLAB Chapter 1 Introduction to MATLAB 1.1 Software Philosophy Matrix-based numeric computation MATrix LABoratory built-in support for standard matrix and vector operations High-level programming language Programming

More information

Henning Koch. Dept. of Computer Science. University of Darmstadt. Alexanderstr. 10. D Darmstadt. Germany. Keywords:

Henning Koch. Dept. of Computer Science. University of Darmstadt. Alexanderstr. 10. D Darmstadt. Germany. Keywords: Embedding Protocols for Scalable Replication Management 1 Henning Koch Dept. of Computer Science University of Darmstadt Alexanderstr. 10 D-64283 Darmstadt Germany koch@isa.informatik.th-darmstadt.de Keywords:

More information

AST: Support for Algorithm Selection with a CBR Approach

AST: Support for Algorithm Selection with a CBR Approach AST: Support for Algorithm Selection with a CBR Approach Guido Lindner 1 and Rudi Studer 2 1 DaimlerChrysler AG, Research &Technology FT3/KL, PO: DaimlerChrysler AG, T-402, D-70456 Stuttgart, Germany guido.lindner@daimlerchrysler.com

More information

Abstract formula. Net formula

Abstract formula. Net formula { PEP { More than a Petri Net Tool ABSTRACT Bernd Grahlmann and Eike Best The PEP system (Programming Environment based on Petri Nets) supports the most important tasks of a good net tool, including HL

More information

Module 4. Computer-Aided Design (CAD) systems

Module 4. Computer-Aided Design (CAD) systems Module 4. Computer-Aided Design (CAD) systems Nowadays the design of complex systems is unconceivable without computers. The fast computers, the sophisticated developing environments and the well elaborated

More information

which a value is evaluated. When parallelising a program, instances of this class need to be produced for all the program's types. The paper commented

which a value is evaluated. When parallelising a program, instances of this class need to be produced for all the program's types. The paper commented A Type-Sensitive Preprocessor For Haskell Noel Winstanley Department of Computer Science University of Glasgow September 4, 1997 Abstract This paper presents a preprocessor which generates code from type

More information

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER BENC 2113 DENC ECADD 2532 ECADD LAB SESSION 6/7 LAB

More information

How to program with Matlab (PART 1/3)

How to program with Matlab (PART 1/3) Programming course 1 09/12/2013 Martin SZINTE How to program with Matlab (PART 1/3) Plan 0. Setup of Matlab. 1. Matlab: the software interface. - Command window - Command history - Section help - Current

More information

Introduction. chapter Functions

Introduction. chapter Functions chapter 1 Introduction In this chapter we set the stage for the rest of the book. We start by reviewing the notion of a function, then introduce the concept of functional programming, summarise the main

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction: MATLAB is a powerful high level scripting language that is optimized for mathematical analysis, simulation, and visualization. You can interactively solve problems

More information

3 An Introductory Demonstration Execute the following command to view a quick introduction to Matlab. >> intro (Use your mouse to position windows on

3 An Introductory Demonstration Execute the following command to view a quick introduction to Matlab. >> intro (Use your mouse to position windows on Department of Electrical Engineering EE281 Introduction to MATLAB on the Region IV Computing Facilities 1 What is Matlab? Matlab is a high-performance interactive software package for scientic and enginnering

More information

MATLAB The first steps. Edited by Péter Vass

MATLAB The first steps. Edited by Péter Vass MATLAB The first steps Edited by Péter Vass MATLAB The name MATLAB is derived from the expression MATrix LABoratory. It is used for the identification of a software and a programming language. As a software,

More information

Frama-C's metrics plug-in

Frama-C's metrics plug-in Metrics Frama-C's metrics plug-in 20120901 (Oxygen) Richard Bonichon & Boris Yakobowski CEA LIST, Software Reliability Laboratory, Saclay, F-91191 c 2011 CEA LIST CONTENTS Contents 1 Quick overview 7

More information

ANALYSIS OF SIMPLE AND CANTILEVER BEAMS USING MATLAB GRAPHICAL USER INTERFACES

ANALYSIS OF SIMPLE AND CANTILEVER BEAMS USING MATLAB GRAPHICAL USER INTERFACES Proceedings of the International Conference on Mechanical Engineering and Renewable Energy 2017 (ICMERE2017) 18 20 December, 2017, Chittagong, Bangladesh ICMERE2017-PI-131 ANALYSIS OF SIMPLE AND CANTILEVER

More information

residual residual program final result

residual residual program final result C-Mix: Making Easily Maintainable C-Programs run FAST The C-Mix Group, DIKU, University of Copenhagen Abstract C-Mix is a tool based on state-of-the-art technology that solves the dilemma of whether to

More information

Database Systems Concepts *

Database Systems Concepts * OpenStax-CNX module: m28156 1 Database Systems Concepts * Nguyen Kim Anh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract This module introduces

More information

InterSci. Version 2.1. Scilab Group. May All Scilab primitive functions are dened in a set of interface routines. For each function the

InterSci. Version 2.1. Scilab Group. May All Scilab primitive functions are dened in a set of interface routines. For each function the InterSci Version 21 Scilab Group May 1993 1 Introduction All Scilab primitive functions are dened in a set of interface routines For each function the interfacing code checks rst number of rhs and lhs

More information

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah)

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) Introduction ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) MATLAB is a powerful mathematical language that is used in most engineering companies today. Its strength lies

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the

More information

A stack eect (type signature) is a pair of input parameter types and output parameter types. We also consider the type clash as a stack eect. The set

A stack eect (type signature) is a pair of input parameter types and output parameter types. We also consider the type clash as a stack eect. The set Alternative Syntactic Methods for Dening Stack Based Languages Jaanus Poial Institute of Computer Science University of Tartu, Estonia e-mail: jaanus@cs.ut.ee Abstract. Traditional formal methods of syntax

More information

Algorithmic "imperative" language

Algorithmic imperative language Algorithmic "imperative" language Undergraduate years Epita November 2014 The aim of this document is to introduce breiy the "imperative algorithmic" language used in the courses and tutorials during the

More information

Using Java and HTML for Linear Algebra Instruction

Using Java and HTML for Linear Algebra Instruction Using Java and HTML for Linear Algebra Instruction Jonathan R. Senning Gordon College October 27, 1997 Abstract This paper addresses some of the issues involved with using the HTML, JavaScript and Java

More information

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL) Model Driven Engineering (MDE) and Department of Computer Engineering Faculty of Engineering Bergen University College NORWAY 06.06.2008 Institute of Mathematics and Informatics, Vilnius, LITHUANIA Project

More information

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t Data Reduction - an Adaptation Technique for Mobile Environments A. Heuer, A. Lubinski Computer Science Dept., University of Rostock, Germany Keywords. Reduction. Mobile Database Systems, Data Abstract.

More information

Introduction to Matlab/Octave

Introduction to Matlab/Octave Introduction to Matlab/Octave February 28, 2014 This document is designed as a quick introduction for those of you who have never used the Matlab/Octave language, as well as those of you who have used

More information

2 The original active contour algorithm presented in [] had some inherent computational problems in evaluating the energy function, which were subsequ

2 The original active contour algorithm presented in [] had some inherent computational problems in evaluating the energy function, which were subsequ Linguistic contour modelling through Fuzzy Snakes Frank Howing University of Glamorgan, School of Electronics also with Fachhochschule Braunschweig/Wolfenbuttel, FB E f.hoewing@fh-wolfenbuettel.de Laurence

More information

TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java

TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java Andrew Newell Electronic Warfare & Radar Division, Defence Science and Technology Organisation andrew.newell@dsto.defence.gov.au

More information

The mat2doc documentation system

The mat2doc documentation system The mat2doc documentation system Peter L. Søndergaard July 17, 2014 1 About mat2doc mat2doc is a system made for extracting documenation from the Matlab function headers. You write the documentation in

More information

Assignment 4. Overview. Prof. Stewart Weiss. CSci 335 Software Design and Analysis III Assignment 4

Assignment 4. Overview. Prof. Stewart Weiss. CSci 335 Software Design and Analysis III Assignment 4 Overview This assignment combines several dierent data abstractions and algorithms that we have covered in class, including priority queues, on-line disjoint set operations, hashing, and sorting. The project

More information

DOE SENSITIVITY ANALYSIS WITH LS-OPT AND VISUAL EXPLORATION OF DESIGN SPACE USING D-SPEX AUTHORS: CORRESPONDENCE: ABSTRACT KEYWORDS:

DOE SENSITIVITY ANALYSIS WITH LS-OPT AND VISUAL EXPLORATION OF DESIGN SPACE USING D-SPEX AUTHORS: CORRESPONDENCE: ABSTRACT KEYWORDS: DOE SENSITIVITY ANALYSIS WITH LS-OPT AND VISUAL EXPLORATION OF DESIGN SPACE USING D-SPEX AUTHORS: Katharina Witowski Heiner Muellerschoen Marko Thiele DYNAmore GmbH Uwe Gerlinger AUDI AG CORRESPONDENCE:

More information

Blocking vs. Non-blocking Communication under. MPI on a Master-Worker Problem. Institut fur Physik. TU Chemnitz. D Chemnitz.

Blocking vs. Non-blocking Communication under. MPI on a Master-Worker Problem. Institut fur Physik. TU Chemnitz. D Chemnitz. Blocking vs. Non-blocking Communication under MPI on a Master-Worker Problem Andre Fachat, Karl Heinz Homann Institut fur Physik TU Chemnitz D-09107 Chemnitz Germany e-mail: fachat@physik.tu-chemnitz.de

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Monitoring the Usage of the ZEUS Analysis Grid

Monitoring the Usage of the ZEUS Analysis Grid Monitoring the Usage of the ZEUS Analysis Grid Stefanos Leontsinis September 9, 2006 Summer Student Programme 2006 DESY Hamburg Supervisor Dr. Hartmut Stadie National Technical

More information

MATLAB. Devon Cormack and James Staley

MATLAB. Devon Cormack and James Staley MATLAB Devon Cormack and James Staley MATrix LABoratory Originally developed in 1970s as a FORTRAN wrapper, later rewritten in C Designed for the purpose of high-level numerical computation, visualization,

More information

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the

More information

Bandwidth Efficient Distant Vector Routing for Ad Hoc Networks

Bandwidth Efficient Distant Vector Routing for Ad Hoc Networks Bandwidth Efficient Distant Vector Routing for Ad Hoc Networks Ralph Jansen and Bernd Freisleben Department of Electrical Engineering & Computer Science University of Siegen Hölderlinstr. 3 D 57068 Siegen

More information

Outline. S: past, present and future Some thoughts. The 80s. Interfaces - 60s & 70s. Duncan Temple Lang Department of Statistics UC Davis

Outline. S: past, present and future Some thoughts. The 80s. Interfaces - 60s & 70s. Duncan Temple Lang Department of Statistics UC Davis S: past, present and future Some thoughts Duncan Temple Lang Department of Statistics UC Davis Outline Good idea that was either taken up or missed. Interfaces Thoughts on how S evolved and what implications

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

Siegfried Loer and Ahmed Serhrouchni. Abstract. SPIN is a tool to simulate and validate Protocols. PROMELA, its

Siegfried Loer and Ahmed Serhrouchni. Abstract. SPIN is a tool to simulate and validate Protocols. PROMELA, its DIMACS Series in Discrete Mathematics and Theoretical Computer Science Volume 00, 19xx Creating Implementations from PROMELA Models Siegfried Loer and Ahmed Serhrouchni Abstract. SPIN is a tool to simulate

More information

AMO - Advanced Modeling and Optimization Volume 1, Number 2, 1999

AMO - Advanced Modeling and Optimization Volume 1, Number 2, 1999 AMO - Advanced Modeling and Optimization Volume 1, Number 2, 1999 The TOMLAB Graphical User Interface for Nonlinear Programming 1 Erik Dotzauer 2 and Kenneth Holmstrom 3 Center for Mathematical Modeling

More information

Threaded Language As a Form of Partial Evaluator

Threaded Language As a Form of Partial Evaluator Threaded Language As a Form of Partial Evaluator Prabhas Chongstitvatana Department of Computer Engineering, Chulalongkorn University Bangkok 10330, Thailand Email: prabhas@chula.ac.th Abstract This work

More information

Introduction to Python Part 2

Introduction to Python Part 2 Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules

More information

q ii (t) =;X q ij (t) where p ij (t 1 t 2 ) is the probability thatwhen the model is in the state i in the moment t 1 the transition occurs to the sta

q ii (t) =;X q ij (t) where p ij (t 1 t 2 ) is the probability thatwhen the model is in the state i in the moment t 1 the transition occurs to the sta DISTRIBUTED GENERATION OF MARKOV CHAINS INFINITESIMAL GENERATORS WITH THE USE OF THE LOW LEVEL NETWORK INTERFACE BYLINA Jaros law, (PL), BYLINA Beata, (PL) Abstract. In this paper a distributed algorithm

More information

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Please consult the Department of Engineering about the Computer Engineering Emphasis. COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals

More information

Math Sciences Computing Center. University ofwashington. September, Fundamentals Making Plots Printing and Saving Graphs...

Math Sciences Computing Center. University ofwashington. September, Fundamentals Making Plots Printing and Saving Graphs... Introduction to Plotting with Matlab Math Sciences Computing Center University ofwashington September, 1996 Contents Fundamentals........................................... 1 Making Plots...........................................

More information

Matlab Introduction. Scalar Variables and Arithmetic Operators

Matlab Introduction. Scalar Variables and Arithmetic Operators Matlab Introduction Matlab is both a powerful computational environment and a programming language that easily handles matrix and complex arithmetic. It is a large software package that has many advanced

More information

Using Java for Scientific Computing. Mark Bul EPCC, University of Edinburgh

Using Java for Scientific Computing. Mark Bul EPCC, University of Edinburgh Using Java for Scientific Computing Mark Bul EPCC, University of Edinburgh markb@epcc.ed.ac.uk Java and Scientific Computing? Benefits of Java for Scientific Computing Portability Network centricity Software

More information

INF4820: Algorithms for Artificial Intelligence and Natural Language Processing. Common Lisp Fundamentals

INF4820: Algorithms for Artificial Intelligence and Natural Language Processing. Common Lisp Fundamentals INF4820: Algorithms for Artificial Intelligence and Natural Language Processing Common Lisp Fundamentals Stephan Oepen & Murhaf Fares Language Technology Group (LTG) August 30, 2017 Last Week: What is

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

such internal data dependencies can be formally specied. A possible approach to specify

such internal data dependencies can be formally specied. A possible approach to specify Chapter 6 Specication and generation of valid data unit instantiations In this chapter, we discuss the problem of generating valid data unit instantiations. As valid data unit instantiations must adhere

More information

Some elements for Matlab programming

Some elements for Matlab programming Some elements for Matlab programming Nathalie Thomas 2018 2019 Matlab, which stands for the abbreviation of MATrix LABoratory, is one of the most popular language for scientic computation. The classical

More information

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT Otthein Herzog IBM Germany, Dept. 3100 P.O.Box 80 0880 D-7000 STUTTGART, F. R. G. ABSTRACT tn the IBM Boeblingen Laboratory some software was

More information

Introduction to Scientific Computing with Matlab

Introduction to Scientific Computing with Matlab UNIVERSITY OF WATERLOO Introduction to Scientific Computing with Matlab SAW Training Course R. William Lewis Computing Consultant Client Services Information Systems & Technology 2007 Table of Contents

More information

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH PARALLEL IN-MEMORY DATABASE. Dept. Mathematics and Computing Science div. ECP

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH PARALLEL IN-MEMORY DATABASE. Dept. Mathematics and Computing Science div. ECP EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN/ECP 95-29 11 December 1995 ON-LINE EVENT RECONSTRUCTION USING A PARALLEL IN-MEMORY DATABASE E. Argante y;z,p. v.d. Stok y, I. Willers z y Eindhoven University

More information

Principles of Programming Languages 2017W, Functional Programming

Principles of Programming Languages 2017W, Functional Programming Principles of Programming Languages 2017W, Functional Programming Assignment 3: Lisp Machine (16 points) Lisp is a language based on the lambda calculus with strict execution semantics and dynamic typing.

More information

CITS2401 Computer Analysis & Visualisation

CITS2401 Computer Analysis & Visualisation FACULTY OF ENGINEERING, COMPUTING AND MATHEMATICS CITS2401 Computer Analysis & Visualisation SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Topic 3 Introduction to Matlab Material from MATLAB for

More information

Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm

Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm Andreas Sandberg 1 Introduction The purpose of this lab is to: apply what you have learned so

More information

Module 6: Array in C

Module 6: Array in C 1 Table of Content 1. Introduction 2. Basics of array 3. Types of Array 4. Declaring Arrays 5. Initializing an array 6. Processing an array 7. Summary Learning objectives 1. To understand the concept of

More information

The Use of Python Scripts in TAU. Thomas Gerhold. Folie 1 > TAU -Python scripting capability. 22/23t September 20055

The Use of Python Scripts in TAU. Thomas Gerhold. Folie 1 > TAU -Python scripting capability. 22/23t September 20055 The Use of Python Scripts in TAU Thomas Gerhold Folie 1 > TAU -Python scripting capability 22/23t September 20055 Overview Background Idea Perspectives Usage of python scripts Scripting examples & capabilities

More information

Chapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science

Chapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science Chapter 9 Introduction to High-Level Language Programming INVITATION TO Computer Science 1 Objectives After studying this chapter, students will be able to: Explain the advantages of high-level programming

More information

Simulink/Stateflow. June 2008

Simulink/Stateflow. June 2008 Simulink/Stateflow Paul Caspi http://www-verimag.imag.fr/ Pieter Mosterman http://www.mathworks.com/ June 2008 1 Introduction Probably, the early designers of Simulink in the late eighties would have been

More information

Introduction to Mathematical Programming

Introduction to Mathematical Programming Introduction to Mathematical Programming Ming Zhong Lecture 3 September 5, 2018 Ming Zhong (JHU) AMS Fall 2018 1 / 14 Programming with MATLAB Table of Contents 1 Programming with MATLAB 2 Logic, Loops

More information

Lab 0a: Introduction to MATLAB

Lab 0a: Introduction to MATLAB http://www.comm.utoronto.ca/~dkundur/course/real-time-digital-signal-processing/ Page 1 of 1 Lab 0a: Introduction to MATLAB Professor Deepa Kundur Introduction and Background Welcome to your first real-time

More information

INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX

INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX 1) Objective The objective of this lab is to review how to access Matlab, Simulink, and the Communications Toolbox, and to become familiar

More information

Computer Caches. Lab 1. Caching

Computer Caches. Lab 1. Caching Lab 1 Computer Caches Lab Objective: Caches play an important role in computational performance. Computers store memory in various caches, each with its advantages and drawbacks. We discuss the three main

More information

CIS24 Project #3. Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec. Subject: Functional Programming Language (ML)

CIS24 Project #3. Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec. Subject: Functional Programming Language (ML) CIS24 Project #3 Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec Subject: Functional Programming Language (ML) 1 Introduction ML Programming Language Functional programming

More information

Theoretical Foundations of SBSE. Xin Yao CERCIA, School of Computer Science University of Birmingham

Theoretical Foundations of SBSE. Xin Yao CERCIA, School of Computer Science University of Birmingham Theoretical Foundations of SBSE Xin Yao CERCIA, School of Computer Science University of Birmingham Some Theoretical Foundations of SBSE Xin Yao and Many Others CERCIA, School of Computer Science University

More information

Programming with Mathematica

Programming with Mathematica 1 Programming with Mathematica Introductiontoprogramming Gettingstarted Gettinghelp Notesandfurtherreading Mathematica is a large system used across an astonishing array of disciplines physics, bioinformatics,

More information

Architecture for automatically generating an efficient IEC based communications platform for the rapid prototyping of protection schemes

Architecture for automatically generating an efficient IEC based communications platform for the rapid prototyping of protection schemes Architecture for automatically generating an efficient IEC 61850-based communications platform for the rapid prototyping of protection schemes Steven Blair, Campbell Booth, Graeme Burt Institute for Energy

More information

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics The Compositional C++ Language Denition Peter Carlin Mani Chandy Carl Kesselman March 12, 1993 Revision 0.95 3/12/93, Comments welcome. Abstract This document gives a concise denition of the syntax and

More information

Introduction to Scientific Computing with Matlab

Introduction to Scientific Computing with Matlab Introduction to Scientific Computing with Matlab Matlab is an interactive system for numerical computations. It is widely used in universities and industry, and has many advantages over languages such

More information

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8

More information

Figure 1. Closed-loop model.

Figure 1. Closed-loop model. Model Transformation between MATLAB Simulink and Function Blocks Chia-han (John) Yang and Valeriy Vyatkin Department of Electrical and Computer Engineering University of Auckland cyan034@ec.auckland.ac.nz,

More information

An Introduction to MATLAB See Chapter 1 of Gilat

An Introduction to MATLAB See Chapter 1 of Gilat 1 An Introduction to MATLAB See Chapter 1 of Gilat Kipp Martin University of Chicago Booth School of Business January 25, 2012 Outline The MATLAB IDE MATLAB is an acronym for Matrix Laboratory. It was

More information

MS6021 Scientific Computing. MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner.

MS6021 Scientific Computing. MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner. MS6021 Scientific Computing MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner. Natalia Kopteva Email: natalia.kopteva@ul.ie Web: http://www.staff.ul.ie/natalia/ Room: B2037 Office

More information

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Felix Meyenhofer Technology Development Studio 3. March 2011 4th KNIME Users Group Meeting and Workshop

More information

OS06: Monitors in Java

OS06: Monitors in Java OS06: Monitors in Java Based on Chapter 4 of [Hai17] Jens Lechtenbörger Computer Structures and Operating Systems 2018 1 Introduction 1.1 OS Plan ˆ OS Motivation (Wk 23) ˆ OS Introduction (Wk 23) ˆ Interrupts

More information

Prototype Prolog API for Mindstorms NXT

Prototype Prolog API for Mindstorms NXT Prototype Prolog API for Mindstorms NXT Grzegorz J. Nalepa 1 Institute of Automatics, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Kraków, Poland gjn@agh.edu.pl Abstract. The paper

More information

All you need is fun. Cons T Åhs Keeper of The Code

All you need is fun. Cons T Åhs Keeper of The Code All you need is fun Cons T Åhs Keeper of The Code cons@klarna.com Cons T Åhs Keeper of The Code at klarna Architecture - The Big Picture Development - getting ideas to work Code Quality - care about the

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the The Semi-Full Closure of Pure Type Systems? Gilles Barthe Institutionen for Datavetenskap, Chalmers Tekniska Hogskola, Goteborg, Sweden Departamento de Informatica, Universidade do Minho, Braga, Portugal

More information