gsysc Visualization of SystemC-Projects (Extended abstract)

Size: px
Start display at page:

Download "gsysc Visualization of SystemC-Projects (Extended abstract)"

Transcription

1 gsysc Visualization of SystemC-Projects (Extended abstract) Christian J. Eibl Institute for Computer Engineering University of Lübeck February 16, 2005 Abstract SystemC is a C++ library for modeling of hardware architectures within software that supports design tests through cycle-accurate simulation of those models. A graphical front end does not exist in SystemC and textual output is available only. Complex SystemC projects need the possibility to graphically evaluate modeled designs and to visualize the structure, for example to present a design to third persons or to test it with graphical support. In this work a concept for a graphical add-on for SystemC is presented. The concept considers an interface to SystemC that provides a connection without the need of modification of the SystemC source code. Based on this concept the library gsysc was implemented for visualization of SystemC projects. gsysc supports the graphical presentation of the design. Additionally, it realizes a graphical front end for simulation control. 1 Introduction 1.1 Motivation Beside the cost of development the time-to-market is an important factor for the survival of a production company. Obviously the time for the development as well as the cost of such development have to be minimized. Therefore creating a new prototype for every single improvement step is not wanted. Alternatively to this hardware creation in every iteration step, SystemC models can be used. SystemC is a useful class library to model those hardware architectures within software. In this software models one can easily change and optimize the design without the cost of creating a new prototype. Compiling it once more and start a new simulation is sufficient instead of creating new hardware elements for testing purposes. SystemC provides class structures for easily transferring a hardware architecture to software models and to simulate it afterward within the SystemC simulation Quick-and-dirty summary; most likely contains errors and bad english 1

2 kernel. But SystemC does provide textual in- and output only. Information interchange at runtime and interactions with the user are not possible while the simulation is running. Furthermore the SystemC classes don t provide an extension to visualize the design, that is simulated by the given files. A presentation to other persons is in this case very difficult for more complex designs. gsysc is created to close this gap between simulation kernel and model capabilities of SystemC and the graphical simulation preferred by most users. 1.2 Overview After showing which works already discuss the same problem, we distinguish our effort to the otherwise solved problems. In the concept section some structural concepts of gsysc are shown. In the realization section these concepts are described in their realization details. One important task according to our approach, that makes it possible to use SystemC without source code modification on it, is described under the subsection registration more in detail. After this the usage of the whole gsysc library is explained. At the end a conclusion of the current state of gsysc is given with respect to a comparison to the other approaches. 2 Related Work There are several researches in the same direction. For example at the University of Montréal [1, 4] and the University of Bremen [2]. All of these works have a similar idea for completing SystemC with graphical front ends. The idea is to modify the SystemC source code in order to have methods for extracting design information of the underlying design. The work from Montréal differs from that from Bremen in the position where the modifications should take place. gsysc goes another way. The SystemC sources must not be modified, in order to get a version independent class library where the user has to deliver the needed structure information himself. This registration process can be done with scripts that insert the necessary macros with all parameters itself, so this concept is not a restriction to the usability of gsysc. 3 Demands of gsysc Main demand to gsysc is to keep the original SystemC sources unchanged while keeping the full functionality of run time evaluation and visualization of SystemC design projects. gsysc has to provide an interface between the graphical front ends visualizing the design, the authentic SystemC design files and the SystemC functional units. Over this interface, which has to be realized without changing the SystemC sources, it is possible to exchange structure and work information 2

3 between the connected parts. The front end design is not further described in this extended version. For more information about the complete gsysc library see [3]. 3.1 Migration SystemC is available for many different operating systems, so should gsysc be. Attention was payed to the usage of methods, that are not specific to only one operating system or have special requirements to the systems gsysc should run on. It is kept as universal as possible. 4 Concept of gsysc The structure of projects using rare SystemC differs from those using gsysc, too. The structures are compared in Figure 1. Common instances are User, SystemC-Design and SystemC. The User User Input Output gsysc Graphic User Input Output Graphic Library SystemC Design SystemC Design Trace File Interface to SystemC Trace File SystemC SystemC (a) SystemC without graphical expansion (b) SystemC with graphical expansion (gsysc ) Figure 1: Conceptual structure of SystemC in comparison to gsysc is the person starting the program parameterized and evaluates the results afterward. User and developer are not necessarily the same person. With gsysc 3

4 it is also possible for ignorant people to recognize the underlying design structure and to control the simulation appropriately. SystemC-Design stands for the hardware project, that is transferred to a software model based on SystemC. SystemC means the SystemC class library, of which the data types, methods and simulation kernel are used. In the right structure of Figure 1 there are several additional structure elements. First there is the graphic library which is used by the graphical front ends of gsysc. An interaction between the user and the SystemC design happens with graphical front ends from gsysc graphic. The possibility for interaction is shown in the structure by a connecting arrow. Third element is the interface between SystemC and gsysc. A connection between User and SystemC-Design is not given in the left structure, because SystemC does not offer any possibility for interaction at runtime without explicit implementation of communication over standard input/output (stdin/stdout). In gsysc this is possible over gsysc graphic. 4.1 Interface SystemC is a closed class library without an interface for extracting the declared ports, signals and modules of the design. Because gsysc needs to access the ports and signals for the visualization of those elements, there has to be a connection to SystemC. Existing SystemC structures may not be changed in order to keep an independence to the SystemC library version. 4.2 Base Functions With this topic, functionalities are meant, that are available automatically in all projects after the registration process. Registration means in this case, that gsysc has to be informed by the hardware designer about the structure elements of the underlying SystemC design, because gsysc is not able to recognize those structures completely in automatic processes. The base functions are the hierarchy viewer (graphical structure visualization), the simulation control and the port monitoring window. The hierarchy viewer represents the module, that is build for calculating and presenting the modeled structure of the SystemC project. In this window the user is able to extract structural connections and relations between the model components over colored classification of the directly connected structure elements. The simulation control, from now on just called simulator, is the main component of gsysc. Be aware, that gsysc does not provide a new simulation kernel, it still uses the SystemC simulation kernel. Additional to the usage, it provides a graphical front end to control the simulation comfortable with input devices like mouse or keyboard and to run the simulation step by step or, like the raw SystemC does, as complete run to a given maximum step number. For better control 4

5 ability the simulator provides a few options, that could be useful for working with the design. Another approach of gsysc is the port monitoring window, that gives the ability to view the actual values of the design ports at runtime. The contents of such ports are read after each simulation step and refreshed in the observation table. 4.3 Application specific Extensions Additionally to the base functions there is the possibility to add visualization components that are sometimes useful in the SystemC design, but also could be less helpful in other designs. These application specific extensions are for example the fill state visualization of buffer variable with a progress bar widget of Qt. With this graphical element it is possible to show a percentile fill state and additionally a bar whose area is filled according to the percentage value. Since such extensions are application specific, they have to be refreshed manually by the programmer of the SystemC design. For this purpose macros exist as well. 5 Realization 5.1 Software Architecture gsysc is a class library, that consists of many classes with several jobs from different areas. Those areas are shown in the conceptual structure (cf. Figure 1) and further discussed in the following Interface to SystemC Interface structure to SystemC is shown in Figure 2 with all related classes. The interface is divided into two layers. In the lower layer, which is closer to SystemC, the port and signal classes of SystemC were derived in order to catch new values posted to them. In the upper layer there are port and signal representations of gsysc for processing purposes in gsysc. Beside the saved values, these representations contain information about the drawing style of those parts in the graphical structures. Further functions are those for the work with highlighting of those ports and signals in order to visualize their position in the structure. The reason for deriving of those SystemC classes in the lower layer is to get rid of the underlying datatype of the port or signal. In SystemC template classes are used in order to get a datatype independent implementation. This gives theoretically infinite many different possible port and signal objects with different datatype. Therefore bounds are needed for the number of supported datatypes. Alternatively gsysc ports and signals could be implemented as templates, too. The latter one gives further problems with list creation of template ports or signals, since lists only accept elements of same datatype. 5

6 To avoid such problems with template classes, another solution is used. gsysc ports and signals cannot contain type-correct pointers to the real SystemC objects. Therefore SystemC classes were derived in order to be able to save pointers to (uniform) gsysc ports and signals (upper interface layer). At every write access to a port or signal of SystemC a copy of the new value is sent to the corresponding gsysc objects. This is possible without a direct access of gsysc to a SystemC port or signal representation. upper layer gsysport gsyssignal lower layer gsys_in<t> gsys_out<t> gsys_inout<t> gsys_signal<t> SystemC sc_in<t> sc_out<t> sc_inout<t> sc_signal<t> Figure 2: Interface between gsysc and SystemC 5.2 Registration/Structure Information For a graphical visualization of the underlying project structure gsysc has to know the used signals, ports and modules. These have to be given to gsysc manually in the source code of the SystemC design files. For this process, in the following called registration, the class gsysregister is used. It allows only restricted access in order to keep an information hiding of the real implementation. Access to elements of this class have to be done over the (user) interface class gsysmain. Therefore macros are implemented to give short method calls instead of multiple concatenations of pointer references. The macros are discussed in Section After all modules, ports and signals are registered, signals get compounded to so-called connections. That means, all signals, which connect the same two modules, are packed to only one connection. This procedure was implemented to make it easier to implement more complex place&route algorithms. Because of these connection it is possible to give such an algorithm in two steps. First place all connections and then place all signals in each connection. 6

7 5.3 Dependencies gsysc is based on the libraries Qt, SystemC and also relies on the STL of C++. Since these libraries are developed continuously, it is possible, that with using an older library some functions might not be implemented or their usage or functionality is slightly different. gsysc is written that way, that it works with as many as possible systems. But some dependencies are given anyway. For Qt a version greater than 3.0 is required. The C/C++ compiler has to support the class sstream (Stringstream). This class is required for port output in gsysc. For the g++ compiler running under Linux this means a version greater than Usage of gsysc 6.1 Adjustments to SystemC-Designs As already described in Section 2, gsysc works without modification of the SystemC sources. In order to hold this restriction and nevertheless get the information of the inner structure of the underlying SystemC project, some adjustments to the design have to be made. The following sections describe the usage of SystemC when manually changes should be made. All following steps are on principle possible to be made by a script, too. This script has to analyze the syntactical and in an easy form the semantical structure of the design sources and to construct the needed registration calls for giving the information to gsysc. Hence not to modify the SystemC sources means no extra work to the programmer of the design, since these adjustments could be done automatically Files to include To use gsysc it is necessary to include the header file gsysc.h in all project files. Including gsysc.h before, after or instead of systemc.h has the same effect. In this header file all macros for an easy usage of gsysc are implemented. These macros are described in the next section. Beside header files there are also implementation files given, that are compiled to objects. For simplifying the usage, these object files are packed into a single library called libgsysc.a. This has to be linked to the binary file while compilation gsysc -Macros For registration process and all preparing work in order to get full usability of gsysc, macros can be used. They should make it easier to the programmer 7

8 of the SystemC designs to get a visualization by gsysc. The macros that are implemented in the header file gsysc.h, are like the following: REG MODULE(module,name,parent) With this macro a module module with parent module parent (at top-level modules NULL has to be given as parameter). The parameter name sets the name, that is used in the graphical front end for this registered module. The parameters module and parent have to be given as pointers to the corresponding objects. REG PORT(port,module,signal): This macro is for registration of the used ports in the SystemC design. With this macro gsysc gets its information about the existence and connection information between the used ports. In detail this means, the port port of the module module is connected to the signal signal. All parameter have to be given as pointers. REG IN PORT(port,module,signal) Equal to REG PORT(port,module,signal). Provides a more distinguished usage of the direction of the port registration. REG OUT PORT(port,module,signal) (see REG IN PORT(port,module,signal)) REG INOUT PORT(port,module,signal) (see REG IN PORT(port,module,signal)) RENAME SIGNAL(object, name) This macro provides a possibility to rename the already registered signals. The given names will appear in the graphical front end of gsysc. object means a pointer to the signal, that should get another name name. RENAME PORT(object, name) Analogously to REG SIGNAL this macro provides the possibility of renaming registered ports. The meaning of those macros can be turned off (e.g. for debug sessions) over the definition GSYS DO NOT USE at compilation time. In this case the macros are changed to empty statements. Consequently the rare SystemC implementation is used again Application specific Extensions gsysc supports extensions that are not useful in all projects. Therefore these extensions are application specific and have to be integrated manually. An example of those extensions is the visualization of buffer variables like space 8

9 limited memory (e.g. queue, stack,...) as progress bar. Over this widget the fill state can be shown in an easy and clear way. The initialization of this feature is done over the macro gsys addbuffer(id,name) respectively gsys addbuffern(id,name). In both cases a variable-id has to be given as parameter. This ID has to be unique in the whole program. In order to avoid runtime errors it is a good advise to use the pointer to the used buffer variable. The second macro differs to the first one in that way, that the fill degree is not given additionally in percent Starting the Front End Starting the graphical front end is done over the macro gsys open, which is dedicated only to open the main window. An easier way is given through the macro gsys start(number of steps). Alternatively the more frequently used sc start(number of steps) can be used. The latter one is overloaded of the SystemC own macro to start the simulation, so this command has not to be changed in the original SystemC design. This makes it easier to switch to a visualization with gsysc. 6.2 Front End The front end provides the possibility to visualize the underlying structures of the design, to control the simulation interactively and to read out variable values at runtime. Hence the tests of the project can now be done interactively between simulation steps and not only after the simulation is done via the trace files. The trace file capabilities are not touched by the gsysc routines Simulator The simulation controller, called simulator for short, gives a graphical front end for interactive control of the simulation process. The simulation itself is still done in the SystemC simulation kernel. Over the control elements and the possibility of runtime evaluation of variables, gsysc gives a debugger-like look and feel. The controller allows to do single steps, a couple of simulation steps or just simulation run up to a given maximal step number. For visualization of changed signals, the simulator is connected to the visualization window. While the visualize option is checked in the simulator, after every step the changed signals are highlighted in the structure graphic. Hence deterministic patterns can be easily extracted while gsysc automatically steps forward and shows changes. gsysc is primarily written to support the user with graphical tools. For further description of the functionality and usage of those tools (including screen shots) the interested reader is referred to [3] 9

10 7 Conclusion After ascertainment of the fact, that hardware architectures as software models are cheaper in development and simulation, SystemC has shortly been explained. SystemC was specially designed for this modeling and simulation purposes. But it provides textual output only, which makes it more difficult to evaluate the simulation results. Therefore the library gsysc was designed to give graphical front ends for SystemC designs. The starting points for a graphical usage given in [2] are based on a modification of the SystemC sources. gsysc provides extensions without touching the original SystemC sources. Hence all possibilities as given in the referenced work can be achieved, too. Additionally to their approach, we provide a version independent usability with SystemC. gsysc offers debugger-like simulation control and runtime evaluation of ports and signals. The main work for the programmer in order to get a visualization with gsysc is the registration of design elements like modules, ports and signals. This step is error-prone, because for example some signals or other elements could be forgotten or wrong pointer might be given by the programmer. To solve this problem a script for automated registration can be written. All registration processes are based on syntactical and simple semantical analysis. Hence such a script can be created, but does not exist at the moment. There are several visualization elements available. In the current version only the progress bar can be used for buffer variable visualization. Elements like LED widgets for bit states or tabular visualization for longer bit strings are sensible and therefore might be added in later versions. The aim of providing a graphical visualization of SystemC design without the need of modification to the SystemC sources was achieved. gsysc can be extended in many ways and is available for many operating systems for which SystemC and Qt are available, too. Hence gsysc can significantly improve the usage of SystemC for hardware development purposes. Graphical workout of given data is helpful to the user for recognition purposes of the inner structure of a design. References [1] A methodology for Interfacing Open Source SystemC with a Third Party Software, L. Charest, M. Reid, E.M. Aboulhamid, G. Bois, Proceeding of Design Automation and Test in Europe Conference & Exhibition, pages 16-20, München, 2001 [2] Efficient Automatic Visualization of SystemC Designs, D. Große, R. Drechsler, L. Linhard, G. Angst, Forum on Specification & Design Languages, Frankfurt,

11 [3] gsysc Visualisierung von SystemC-Projekten, Christian J. Eibl, Study work (ITI/Universität zu Lübeck), Lübeck, Germany, 2004 [4] Implementing a Graphical User Interface for SystemC, L. Charest, M. Reid, M. Aboulhamid, G. Bois, A. Tsikhanovich, Proceeding of the 10th International HDL Conference, pages , Santa Clara, Californien, 2001 [5] Programming Language C, Final Committee Draft, International Organization of Standardization (ISO) and International Electrotechnical Commission (IEC),

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

News in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018

News in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018 News in RSA-RTE 10.2 updated for sprint 2018.18 Mattias Mohlin, May 2018 Overview Now based on Eclipse Oxygen.3 (4.7.3) Contains everything from RSARTE 10.1 and also additional features and bug fixes See

More information

Rationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic

Rationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic WG14 N1161 Rationale for TR 24732 Extension to the programming language C Decimal Floating-Point Arithmetic Contents 1 Introduction... 1 1.1 Background... 1 1.2 The Arithmetic Model... 3 1.3 The Encodings...

More information

SQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server

SQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server Chapter 3 SQL Server Management Studio In This Chapter c Introduction to SQL Server Management Studio c Using SQL Server Management Studio with the Database Engine c Authoring Activities Using SQL Server

More information

Contract Programming For C++0x

Contract Programming For C++0x Contract Programming For C++0x WG21/N1800 and J16/05-0060 Lawrence Crowl and Thorsten Ottosen lawrence.crowl@sun.com and nesotto@cs.aau.dk 2005-04-27 Overview This is an annotated version of the presentation

More information

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal Verification for safety critical requirements From Unit-Test to HIL Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen

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

+ C++11. Qt5 with a touch of C++11. Matthew Eshleman covemountainsoftware.com

+ C++11. Qt5 with a touch of C++11. Matthew Eshleman covemountainsoftware.com + C++11 Qt5 with a touch of C++11 Matthew Eshleman covemountainsoftware.com Background - Matthew Eshleman 15+ years of embedded software development, architecture, management, and project planning Delivered

More information

Absolute C++ Walter Savitch

Absolute C++ Walter Savitch Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents

More information

I. Overview. General User Interface Development Flow

I. Overview. General User Interface Development Flow I. Overview Intellics DAMDesigner is an end to end solution for designing and implementing HMI middleware. It provides an accomplished set of mechanisms for seamless integration of HMI stacks to underlying

More information

BASICS OF THE RENESAS SYNERGY TM

BASICS OF THE RENESAS SYNERGY TM BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues

More information

Concept Manual vteststudio. Version 2.2 English

Concept Manual vteststudio. Version 2.2 English Concept Manual vteststudio Version 2.2 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 D-70499 Stuttgart The information and data given in this user manual can be changed without prior notice.

More information

UNIT IV -MACROPROCESSOR

UNIT IV -MACROPROCESSOR CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT IV -MACROPROCESSOR 1. Define macro. A macro represents a group of statements in a source language, for performing some function macro can be defined

More information

OpenForms360 Validation User Guide Notable Solutions Inc.

OpenForms360 Validation User Guide Notable Solutions Inc. OpenForms360 Validation User Guide 2011 Notable Solutions Inc. 1 T A B L E O F C O N T EN T S Introduction...5 What is OpenForms360 Validation?... 5 Using OpenForms360 Validation... 5 Features at a glance...

More information

System Exploration of SystemC Designs

System Exploration of SystemC Designs System Exploration of SystemC Designs Christian Genz Rolf Drechsler Institute of Computer Science, University of Bremen, 28359 Bremen, Germany {genz,drechsle}@informatik.uni-bremen.de Abstract Due to increasing

More information

Analog Mixed Signal Extensions for SystemC

Analog Mixed Signal Extensions for SystemC Analog Mixed Signal Extensions for SystemC White paper and proposal for the foundation of an OSCI Working Group (SystemC-AMS working group) Karsten Einwich Fraunhofer IIS/EAS Karsten.Einwich@eas.iis.fhg.de

More information

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and

More information

Secure coding practices

Secure coding practices Secure coding practices www.infosys.com/finacle Universal Banking Solution Systems Integration Consulting Business Process Outsourcing Secure coding practices Writing good code is an art but equally important

More information

Why are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?

Why are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful? Chapter 1 :: Introduction Introduction Programming Language Pragmatics Michael L. Scott Why are there so many programming languages? evolution -- we've learned better ways of doing things over time socio-economic

More information

Course: Operating Systems Instructor: M Umair. M Umair

Course: Operating Systems Instructor: M Umair. M Umair Course: Operating Systems Instructor: M Umair Process The Process A process is a program in execution. A program is a passive entity, such as a file containing a list of instructions stored on disk (often

More information

Eclipse JWT Java Workflow Tooling. Workflow Editor (WE): Installation and Usage Tutorial

Eclipse JWT Java Workflow Tooling. Workflow Editor (WE): Installation and Usage Tutorial Eclipse JWT Java Workflow Tooling Title of this document Workflow Editor (WE): Installation and Usage Tutorial Document information last changes component version 13.02.2008 0.4.0 Document created by Florian

More information

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ version Global 8D Report 08/ Content

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ version Global 8D Report 08/ Content 1 Content 1 Content... 1 2 Introduction... 3 2.1 Basic control... 3 2.2 Access rights to the program... 3 3 Main program tabs... 4 3.1 Tab List... 4 3.1.1 Types of registered Stopcards... 4 3.1.2 Data

More information

OpenGL View Library. Supervised by: Martin Madaras

OpenGL View Library. Supervised by: Martin Madaras View Adam Riečický Supervised by: Martin Madaras Faculty of Mathematics, Physics and Informatics Comenius University in Bratislava Bratislava/Slovakia Abstract In the paper, we propose a library for the

More information

Practical C++ Programming

Practical C++ Programming SECOND EDITION Practical C++ Programming Steve Oualline O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Preface xv Part I. The Basics 1. What Is C++? 3 A Brief History of C++ 3 C++

More information

PIC 10A Objects/Classes

PIC 10A Objects/Classes PIC 10A Objects/Classes Ernest Ryu UCLA Mathematics Last edited: November 13, 2017 User-defined types In C++, we can define our own custom types. Object is synonymous to variable, and class is synonymous

More information

3.1 Introduction. Computers perform operations concurrently

3.1 Introduction. Computers perform operations concurrently PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes

More information

A Graphical Data Management System for HDL-Based ASIC Design Projects

A Graphical Data Management System for HDL-Based ASIC Design Projects A Graphical Data Management System for HDL-Based ASIC Design Projects Claus Mayer, Hans Sahm, Jörg Pleickhardt Lucent Technologies Bell Labs Innovations Thurn-und-Taxis-Str.10, D-90411 Nürnberg, Germany

More information

Have examined process Creating program Have developed program Written in C Source code

Have examined process Creating program Have developed program Written in C Source code Preprocessing, Compiling, Assembling, and Linking Introduction In this lesson will examine Architecture of C program Introduce C preprocessor and preprocessor directives How to use preprocessor s directives

More information

BASICS OF THE RENESAS SYNERGY PLATFORM

BASICS OF THE RENESAS SYNERGY PLATFORM BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues

More information

Accelerated Library Framework for Hybrid-x86

Accelerated Library Framework for Hybrid-x86 Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit

More information

The Automated Analysis of Header Files for Support of the Standardization Process

The Automated Analysis of Header Files for Support of the Standardization Process The Automated Analysis of Header Files for Support of the Standardization Process Eugene Novikov ISP RAS joker@ispras.ru Denis Silakov ISP RAS silakov@ispras.ru Abstract This paper considers the method

More information

Chapter 5. Names, Bindings, and Scopes

Chapter 5. Names, Bindings, and Scopes Chapter 5 Names, Bindings, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Scope Scope and Lifetime Referencing Environments Named Constants 1-2 Introduction Imperative

More information

Jet Data Manager 2014 SR2 Product Enhancements

Jet Data Manager 2014 SR2 Product Enhancements Jet Data Manager 2014 SR2 Product Enhancements Table of Contents Overview of New Features... 3 New Features in Jet Data Manager 2014 SR2... 3 Improved Features in Jet Data Manager 2014 SR2... 5 New Features

More information

Tracking the Virtual World

Tracking the Virtual World Tracking the Virtual World Synopsys: For many years the JTAG interface has been used for ARM-based SoC debugging. With this JTAG style debugging, the developer has been granted the ability to debug software

More information

Functions BCA-105. Few Facts About Functions:

Functions BCA-105. Few Facts About Functions: Functions When programs become too large and complex and as a result the task of debugging, testing, and maintaining becomes difficult then C provides a most striking feature known as user defined function

More information

High Quality 4D Development. David Adams

High Quality 4D Development. David Adams David Adams Introduction 1 Chapter 1 - About This Training 3 What To Expect... 3 Course Organization... 3 Course Contents... 3 About The Materials... 5 Conventions Used in This Manual... 7 Phones & Pagers...

More information

ISO INTERNATIONAL STANDARD. Information and documentation Managing metadata for records Part 2: Conceptual and implementation issues

ISO INTERNATIONAL STANDARD. Information and documentation Managing metadata for records Part 2: Conceptual and implementation issues INTERNATIONAL STANDARD ISO 23081-2 First edition 2009-07-01 Information and documentation Managing metadata for records Part 2: Conceptual and implementation issues Information et documentation Gestion

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you

More information

SystemC Modelling of the Embedded Networks

SystemC Modelling of the Embedded Networks Saint Petersburg State University of Aerospace Instrumentation, Russia; Nokia Research Center and Nokia Devices, Finland. SystemC Modelling of the Embedded Networks Valentin Olenev, Yuriy Sheynin, Elena

More information

Language Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.

Language Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program. Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation

More information

LINDA. The eval operation resembles out, except that it creates an active tuple. For example, if fcn is a function, then

LINDA. The eval operation resembles out, except that it creates an active tuple. For example, if fcn is a function, then LINDA Linda is different, which is why we've put it into a separate chapter. Linda is not a programming language, but a way of extending ( in principle ) any language to include parallelism IMP13, IMP14.

More information

SDC Design patterns GoF

SDC Design patterns GoF SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating

More information

Control Abstraction. Hwansoo Han

Control Abstraction. Hwansoo Han Control Abstraction Hwansoo Han Review of Static Allocation Static allocation strategies Code Global variables Own variables (live within an encapsulation - static in C) Explicit constants (including strings,

More information

2 ABOUT VISUALDSP++ In This Chapter. Figure 2-0. Table 2-0. Listing 2-0.

2 ABOUT VISUALDSP++ In This Chapter. Figure 2-0. Table 2-0. Listing 2-0. 2 ABOUT VISUALDSP++ Figure 2-0. Table 2-0. Listing 2-0. In This Chapter This chapter contains the following topics: What Is VisualDSP++? on page 2-2 VisualDSP++ Features on page 2-2 Program Development

More information

Simplifying UVM in SystemC

Simplifying UVM in SystemC Simplifying UVM in SystemC Thilo Vörtler 1, Thomas Klotz 2, Karsten Einwich 3, Felix Assmann 2 1 Fraunhofer IIS, Design Automation Division, Dresden, Germany Thilo.Voertler@eas.iis.fraunhofer.de 2 Bosch

More information

Rationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic

Rationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic Rationale for TR 24732 Extension to the programming language C Decimal Floating-Point Arithmetic Contents 1 Introduction... 1 1.1 Background... 1 1.2 The Arithmetic Model...3 1.3 The Encodings... 3 2 General...

More information

Index. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309

Index. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309 A Arithmetic operation floating-point arithmetic, 11 12 integer numbers, 9 11 Arrays, 97 copying, 59 60 creation, 48 elements, 48 empty arrays and vectors, 57 58 executable program, 49 expressions, 48

More information

SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7

SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7 SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7 Hi everyone once again welcome to this lecture we are actually the course is Linux programming and scripting we have been talking about the Perl, Perl

More information

Semantic Analysis. Lecture 9. February 7, 2018

Semantic Analysis. Lecture 9. February 7, 2018 Semantic Analysis Lecture 9 February 7, 2018 Midterm 1 Compiler Stages 12 / 14 COOL Programming 10 / 12 Regular Languages 26 / 30 Context-free Languages 17 / 21 Parsing 20 / 23 Extra Credit 4 / 6 Average

More information

Basic principles 1. Configuring function diagrams based on IEC 2. Administration 3 COMOS. Automation Logical. Operating Manual 04/2015 A5E AD

Basic principles 1. Configuring function diagrams based on IEC 2. Administration 3 COMOS. Automation Logical. Operating Manual 04/2015 A5E AD Basic principles 1 Configuring function diagrams based on IEC 2 COMOS Administration 3 Automation Operating Manual 04/2015 A5E32082870-AD Legal information Warning notice system This manual contains notices

More information

Module 10 Inheritance, Virtual Functions, and Polymorphism

Module 10 Inheritance, Virtual Functions, and Polymorphism Module 10 Inheritance, Virtual Functions, and Polymorphism Table of Contents CRITICAL SKILL 10.1: Inheritance Fundamentals... 2 CRITICAL SKILL 10.2: Base Class Access Control... 7 CRITICAL SKILL 10.3:

More information

Introduction to PackAssistant Release 4.0.1

Introduction to PackAssistant Release 4.0.1 Introduction to PackAssistant Release 4.0.1 Fraunhofer Institute for Algorithms and Scientific Computing SCAI, Department of Optimization Dec 21, 2016 Contents 1 Preamble 2 2 Installation 2 2.1 System

More information

QDA Miner. Addendum v2.0

QDA Miner. Addendum v2.0 QDA Miner Addendum v2.0 QDA Miner is an easy-to-use qualitative analysis software for coding, annotating, retrieving and reviewing coded data and documents such as open-ended responses, customer comments,

More information

SAP Engineering Control

SAP Engineering Control SAP Engineering Control Center Interface to CATIA V5 User Documentation 01.02.2016 CENIT AG Software Product / Components: Product Version: 1.1.5 Creation Date: 28.08.2015 16:27 Document Version: 8 Last

More information

Simulator. Chapter 4 Tutorial: The SDL

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

More information

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover:

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover: OPERATING SYSTEMS This lecture will cover: Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S services This Lecture will

More information

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics INTRODUCTION Emulators, like Mentor Graphics Veloce, are able to run designs in RTL orders of magnitude faster than logic

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

Chapter 10 Working with Graphs and Charts

Chapter 10 Working with Graphs and Charts Chapter 10: Working with Graphs and Charts 163 Chapter 10 Working with Graphs and Charts Most people understand information better when presented as a graph or chart than when they look at the raw data.

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, Delhi Lecture - 34 Compilers for Embedded Systems Today, we shall look at the compilers, which

More information

imos Drawing Output The following document includes the topics borders and viewsets.

imos Drawing Output The following document includes the topics borders and viewsets. imos Drawing Output The following document includes the topics borders and viewsets. We have attempted to keep the content of the document complete, accurate and under permanent review. However, due to

More information

ISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1

ISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1 INTERNATIONAL STANDARD ISO/IEC 8825-5 Third edition 2015-11-15 Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1 Technologies de l'information Règles de codage

More information

Frequently Asked Questions about Real-Time

Frequently Asked Questions about Real-Time FAQ: RTX64 2013 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,

More information

Manual. empower charts 6.4

Manual. empower charts 6.4 Manual empower charts 6.4 Contents 1 Introduction... 1 2 Installation, updates and troubleshooting... 1 2.1 System requirements... 1 2.2 Initial installation... 1 2.3 Installation of an update... 1 2.4

More information

Testing Exceptions with Enforcer

Testing Exceptions with Enforcer Testing Exceptions with Enforcer Cyrille Artho February 23, 2010 National Institute of Advanced Industrial Science and Technology (AIST), Research Center for Information Security (RCIS) Abstract Java library

More information

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: TOPICS TO BE COVERED 1.1 Need of Operating System 1.2 Evolution of os 1.3 operating system i. Batch ii. iii. iv. Multiprogramming Time sharing Real time v.

More information

COMOS. Automation Logical. Basic principles 1. Configuring function diagrams based on IEC 2. Code generation based on IEC

COMOS. Automation Logical. Basic principles 1. Configuring function diagrams based on IEC 2. Code generation based on IEC Basic principles 1 Configuring function diagrams based on IEC 2 COMOS Automation Code generation based on IEC 61131 3 Administration 4 Operating Manual 04/2014 A5E32082870-AB Legal information Warning

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

CS161 Design and Architecture of Computer Systems. Cache $$$$$

CS161 Design and Architecture of Computer Systems. Cache $$$$$ CS161 Design and Architecture of Computer Systems Cache $$$$$ Memory Systems! How can we supply the CPU with enough data to keep it busy?! We will focus on memory issues,! which are frequently bottlenecks

More information

Stand: Inhaltsverzeichnis

Stand: Inhaltsverzeichnis User Manual Inhaltsverzeichnis Introduction... 3 System requirements... 3 Legend... 4 General... 4 Building topology... 4 Room configuration... 5 Settings... 6 Company logo & watermark... 6 Creating and

More information

A Tour of the Cool Support Code

A Tour of the Cool Support Code A Tour of the Cool Support Code 1 Introduction The Cool compiler project provides a number of basic data types to make the task of writing a Cool compiler tractable in the timespan of the course. This

More information

Design Pattern and Software Architecture: IV. Design Pattern

Design Pattern and Software Architecture: IV. Design Pattern Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational

More information

DataFinder A Scientific Data Management Solution ABSTRACT

DataFinder A Scientific Data Management Solution ABSTRACT DataFinder A Scientific Data Management Solution Tobias Schlauch (1), Andreas Schreiber (2) (1) German Aerospace Center (DLR) Simulation and Software Technology Lilienthalplatz 7, D-38108 Braunschweig,

More information

Programming in Visual Basic with Microsoft Visual Studio 2010

Programming in Visual Basic with Microsoft Visual Studio 2010 Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation

More information

11. a b c d e. 12. a b c d e. 13. a b c d e. 14. a b c d e. 15. a b c d e

11. a b c d e. 12. a b c d e. 13. a b c d e. 14. a b c d e. 15. a b c d e CS-3160 Concepts of Programming Languages Spring 2015 EXAM #1 (Chapters 1-6) Name: SCORES MC: /75 PROB #1: /15 PROB #2: /10 TOTAL: /100 Multiple Choice Responses Each multiple choice question in the separate

More information

CHAPTER 2. Troubleshooting CGI Scripts

CHAPTER 2. Troubleshooting CGI Scripts CHAPTER 2 Troubleshooting CGI Scripts OVERVIEW Web servers and their CGI environment can be set up in a variety of ways. Chapter 1 covered the basics of the installation and configuration of scripts. However,

More information

An Overview of the BLITZ System

An Overview of the BLITZ System An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level

More information

Messaging Framework Module Guide

Messaging Framework Module Guide Application Note Renesas Synergy Platform R11AN0096EU0102 Rev.1.02 Introduction This module guide will enable you to effectively use a module in your own design. Upon completion of this guide, you will

More information

UNIT V SYSTEM SOFTWARE TOOLS

UNIT V SYSTEM SOFTWARE TOOLS 5.1 Text editors UNIT V SYSTEM SOFTWARE TOOLS A text editor is a type of program used for editing plain text files. Text editors are often provided with operating systems or software development packages,

More information

Procedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E

Procedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E Procedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E51527-01 Table of Contents Procedures 1. ABOUT THIS MANUAL... 1-1 1.1 INTRODUCTION... 1-1 1.2 AUDIENCE... 1-1

More information

Direct Functions in Dyalog APL

Direct Functions in Dyalog APL Direct Functions in Dyalog APL John Scholes Dyalog Ltd. john@dyalog.com A Direct Function (dfn) is a new function definition style, which bridges the gap between named function expressions such as and

More information

Function names can be specified with winidea syntax for qualified names, if multiple download files and file static functions are tested.

Function names can be specified with winidea syntax for qualified names, if multiple download files and file static functions are tested. _ RELEASE NOTES testidea 9.12.x 9.12.14 (28.3.2012) Qualified function names Function names can be specified with winidea syntax for qualified names, if multiple download files and file static functions

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 Introduction Johan Lukkien 1 Agenda OS: place in the system Some common notions Motivation & OS tasks Extra-functional requirements Course overview Read chapters 1 + 2 2 A computer

More information

Programmiersprachen (Programming Languages)

Programmiersprachen (Programming Languages) 2016-05-13 Preface Programmiersprachen (Programming Languages) coordinates: lecturer: web: usable for: requirements: No. 185.208, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/ps.html

More information

INTRODUCTION TO THE COURSE

INTRODUCTION TO THE COURSE 1 INTRODUCTION TO THE COURSE KOM3191 Object-Oriented Programming 2 Outline Computer Organization Machine Languages, Assembly Languages and High-Level Languages History of C++ C++ Development Environment

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK B.E. - Electrical and Electronics Engineering IV SEMESTER CS6456 - OBJECT ORIENTED

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

Overview of C++ Support in TI Compiler Tools July 2008

Overview of C++ Support in TI Compiler Tools July 2008 Overview of C++ Support in TI Compiler Tools July 2008 1 Table of Contents 1 Table of Contents... 1 2 Introduction... 1 3 Support for the Language... 1 4 Embedded C++... 1 5 Some Comments on Efficiency...

More information

3(Paris/Secretariat)18

3(Paris/Secretariat)18 For IEC use only 3(Paris/Secretariat)18 2007-11-21 INTERNATIONAL ELECTROTECHNICAL COMMISSION Technical No. 3 Information structures, documentation and graphical symbols Preliminary compilation s on 3/859B/NP

More information

Quiz Start Time: 09:34 PM Time Left 82 sec(s)

Quiz Start Time: 09:34 PM Time Left 82 sec(s) Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

CS201 Some Important Definitions

CS201 Some Important Definitions CS201 Some Important Definitions For Viva Preparation 1. What is a program? A program is a precise sequence of steps to solve a particular problem. 2. What is a class? We write a C++ program using data

More information

TxWin 5.xx Programming and User Guide

TxWin 5.xx Programming and User Guide TxWin 5.xx Programming and User Guide Jan van Wijk Brief programming and user guide for the open-source TxWin text UI library Presentation contents Interfacing, include files, LIBs The message event model

More information

WordPress User Interface Expert Review Gabriel White Version 1.0 DRAFT March, 2005

WordPress User Interface Expert Review Gabriel White Version 1.0 DRAFT March, 2005 WordPress User Interface Expert Review Gabriel White Version 1.0 DRAFT March, 2005 WordPress User Interface Expert Review, Gabriel White (v1.0 Draft, March, 2005) 2 Copyright Copyright Gabriel White, 2005.

More information

CS201 Latest Solved MCQs

CS201 Latest Solved MCQs Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

The basic operations defined on a symbol table include: free to remove all entries and free the storage of a symbol table

The basic operations defined on a symbol table include: free to remove all entries and free the storage of a symbol table SYMBOL TABLE: 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 associated with information relating

More information

PACE Suite. Release Notes. Version Document version

PACE Suite. Release Notes. Version Document version PACE Suite Release Notes Version 3.4. Document version 05034 Table of Contents PACE SUITE 3.4.... Summary... What s new: MSI Editor 3.4. (PACE Suite v. 3.4.)... Bug fixes... What s new: MSI Generator 3.3.

More information

QUIZ on Ch.5. Why is it sometimes not a good idea to place the private part of the interface in a header file?

QUIZ on Ch.5. Why is it sometimes not a good idea to place the private part of the interface in a header file? QUIZ on Ch.5 Why is it sometimes not a good idea to place the private part of the interface in a header file? Example projects where we don t want the implementation visible to the client programmer: The

More information