12th European Simulation Multiconference, Manchester, Uk, Discrete Event Simulation in Interactive Scientic and
|
|
- Kory Briggs
- 6 years ago
- Views:
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 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 informationMATLAB 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 informationHYBRID 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 informationSystem 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 informationDRAFT 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 informationReverse 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 informationThunks (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 informationMatLab 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 informationThe 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 informationCIS 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 informationIntroduction 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 informationIntroduction 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 informationCompilers 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 informationAppendix 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 informationIn 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 informationThe 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 informationThe 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 informationSymbol 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 informationKhoral 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 informationIntroduction 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 informationHenning 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 informationAST: 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 informationAbstract 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 informationModule 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 informationwhich 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 informationUNIVERSITI 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 informationHow 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 informationIntroduction. 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 informationIntroduction 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 information3 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 informationMATLAB 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 informationFrama-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 informationANALYSIS 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 informationresidual 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 informationDatabase 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 informationInterSci. 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 informationELEC4042 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 informationLecture 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 informationA 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 informationAlgorithmic "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 informationUsing 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 informationModel 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 information2 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 informationIntroduction 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 information2 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 informationTRIREME 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 informationThe 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 informationAssignment 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 informationDOE 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 informationBlocking 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 informationDEPARTMENT 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 informationMonitoring 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 informationMATLAB. 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 informationPRINCIPLES 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 informationBandwidth 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 informationOutline. 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 informationA 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 informationSiegfried 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 informationAMO - 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 informationThreaded 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 informationIntroduction 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 informationq 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 informationPlease 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 informationMath 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 informationMatlab 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 informationUsing 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 informationINF4820: 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 informationTowards 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 informationsuch 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 informationSome 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 informationFORMALIZED 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 informationIntroduction 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 informationEUROPEAN 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 informationPrinciples 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 informationCITS2401 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 informationAdvanced 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 informationModule 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 informationThe 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 informationChapter 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 informationSimulink/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 informationIntroduction 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 informationLab 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 informationINTRODUCTION 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 informationComputer 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 informationCIS24 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 informationTheoretical 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 informationProgramming 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 informationArchitecture 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 informationThe 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 informationIntroduction 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 informationOutline. 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 informationFigure 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 informationAn 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 informationMS6021 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 informationScripting 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 informationOS06: 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 informationPrototype 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 informationAll 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)
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 informationthe 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