Ada-Europe 2014, Taking Place in Paris, France, June 23-27, 2014

Total Page:16

File Type:pdf, Size:1020Kb

Ada-Europe 2014, Taking Place in Paris, France, June 23-27, 2014 ADA Volume 34 USER Number 3 September 2013 JOURNAL Contents Page Editorial Policy for Ada User Journal 134 Editorial 135 Quarterly News Digest 136 Conference Calendar 157 Forthcoming Events 162 Special Contribution J. G. P. Barnes “Rationale for Ada 2012: Epilogue” 167 Articles from the Industrial Track of Ada-Europe 2013 D. Bigelow “Using the GNAT environment to maintain a large codebase inherited from another compilation system” 175 Reports A. Burns “16th International Real-Time Ada Workshop” 183 E. Plödereder, J. Bundgaard “How to Use the Heap in Real-Time Systems: Panel Report” 187 Ada Gems 190 Ada-Europe Associate Members (National Ada Organizations) 192 Ada-Europe 2013 Sponsors Inside Back Cover Ada User Journal Volume 34, Number 3, September 2013 134 Editorial Policy for Ada User Journal Publication Original Papers a wider audience. This includes papers Ada User Journal — The Journal for Manuscripts should be submitted in published in North America that are the international Ada Community — is accordance with the submission not easily available in Europe. published by Ada-Europe. It appears guidelines (below). We have a reciprocal approach in four times a year, on the last days of granting permission for other March, June, September and All original technical contributions are submitted to refereeing by at least two publications to reprint papers originally December. Copy date is the last day of published in Ada User Journal. the month of publication. people. Names of referees will be kept confidential, but their comments will Commentaries Aims be relayed to the authors at the discretion of the Editor. We publish commentaries on Ada and Ada User Journal aims to inform software engineering topics. These readers of developments in the Ada The first named author will receive a may represent the views either of programming language and its use, complimentary copy of the issue of the individuals or of organisations. Such general Ada-related software engine- Journal in which their paper appears. articles can be of any length – ering issues and Ada-related activities. inclusion is at the discretion of the The language of the journal is English. By submitting a manuscript, authors grant Ada-Europe an unlimited license Editor. Although the title of the Journal refers to publish (and, if appropriate, Opinions expressed within the Ada to the Ada language, related topics, republish) it, if and when the article is User Journal do not necessarily such as reliable software technologies, accepted for publication. We do not represent the views of the Editor, Ada- are welcome. More information on the require that authors assign copyright to Europe or its directors. scope of the Journal is available on its the Journal. website at www.ada-europe.org/auj. Unless the authors state explicitly Announcements and Reports The Journal publishes the following otherwise, submission of an article is We are happy to publicise and report types of material: taken to imply that it represents on events that may be of interest to our original, unpublished work, not under readers. Refereed original articles on consideration for publication else- where. technical matters concerning Ada Reviews and related topics. Proceedings and Special Issues Inclusion of any review in the Journal Invited papers on Ada and the Ada is at the discretion of the Editor. A standardization process. The Ada User Journal is open to reviewer will be selected by the Editor consider the publication of proceedings to review any book or other publication Proceedings of workshops and of workshops or panels related to the sent to us. We are also prepared to panels on topics relevant to the Journal's aims and scope, as well as print reviews submitted from Journal. Special Issues on relevant topics. elsewhere at the discretion of the Reprints of articles published Interested proponents are invited to Editor. elsewhere that deserve a wider contact the Editor-in-Chief. audience. Submission Guidelines News and miscellany of interest to News and Product Announcements All material for publication should be the Ada community. Ada User Journal is one of the ways in sent electronically. Authors are invited which people find out what is going on to contact the Editor-in-Chief by Commentaries on matters relating in the Ada community. Our readers electronic mail to determine the best to Ada and software engineering. need not surf the web or news groups format for submission. The language of the journal is English. Announcements and reports of to find out what is going on in the Ada conferences and workshops. world and in the neighbouring and/or Our refereeing process aims to be competing communities. We will rapid. Currently, accepted papers Announcements regarding reprint or report on items that may be standards concerning Ada. submitted electronically are typically of interest to them. published 3-6 months after submission. Reviews of publications in the Items of topical interest will normally field of software engineering. Reprinted Articles appear in the next edition. There is no While original material is our first limitation on the length of papers, Further details on our approach to priority, we are willing to reprint (with though a paper longer than 10,000 these are given below. More complete the permission of the copyright holder) words would be regarded as information is available in the website material previously submitted exceptional. at www.ada-europe.org/auj. elsewhere if it is appropriate to give it Volume 34, Number 3, September 2013 Ada User Journal 135 Editorial This September issue of the Ada User Journal closes the publication of the Ada 2012 Rationale chapters, with a last installment, an epilogue, which summarizes many general issues which were considered (or not considered) in the standard revision. I would like to thank John Barnes for producing this valuable guide of the changes in the latest version of the Ada standard. Ada-Europe is now taking the necessary steps to publish the consolidated chapters in a volume of the Lecture Notes on Computer Science series. The issue follows by publishing a contribution originating from the Industrial Track of the Ada-Europe 2013 conference. In this paper, Daniel Bigelow, from Bigelow Informatics, Switzerland, presents a strategy to convert a large application code from another compilation system to GNAT. The Industrial Track of Ada-Europe conferences provides very valuable work, which the Journal promotes to be extended to regular papers. We are looking forward to present to our readers with more inputs from the conference in later issues. Also coming from the Ada-Europe 2013 conference, we publish a report on the panel that analyzed the use of heap technologies in real-time systems. The panel included three specialists on the topic: Ludovic Gauthier, from Atego Systems, Inc., USA; S. Tucker Taft, from AdaCore, USA; and James Hunt, from aicas GmbH, Germany, and was moderated by Erhard Plödereder, from the University of Stuttgart, Germany. This paper provides a report of the presentations and discussion of the session, from the session rapporteur, Jørgen Bundgaard. Following the publication in the June issue of the session reports from the 15th International Real-Time Ada Workshop, which took place in 2011, in this issue we present a summary, provided by Alan Burns, the workshop chair, of the 16th edition of the workshop, which took place in York, UK, last April. We plan to provide our readers with the more detailed session summaries of the workshop, in a forthcoming issue of the Journal. As usual, the issue also presents the news digest and calendar sections, by their respective editors, providing the readers with a review to the world of Ada, and reliable software in general. The forthcoming events section provides the advance program for the forthcoming SIGAda International Conference on High-Integrity Language Technology (HILT) that will take place November 10-14 in Pittsburgh, USA, and the call for papers for the 19th International Conference on Reliable Software Technologies - Ada-Europe 2014, taking place in Paris, France, June 23-27, 2014. Finally, the Ada Gems section provides a gem on some potentially unexpected behavior on the update of variables, by Emmanuel Briot and Robert Dewar, of AdaCore. Luís Miguel Pinho Porto September 2013 Email: [email protected] Ada User Journal Volume 34, Number 3, September 2013 136 Quarterly News Digest Jacob Sparre Andersen Jacob Sparre Andersen Research & Innovation. Email: [email protected] For the sixth year in a row, Ada-Belgium distributed at previous events, as well as Contents decided to organize their "Spring Event", back issues of the Ada User Journal[3]. which starts at noon, runs until 7pm, and These will be available on a first-come Ada-related Events 136 includes an informal barbecue, a key first-serve basis at the General Assembly Ada and Education 137 signing party, the 20th General Assembly for current and new members. Ada- Ada-related Resources 137 of the organization, and a round-table Belgium sponsor AdaCore provided us Ada-related Tools 138 discussion on Ada-related topics the some Ada books, and we'll organize a Ada-related Products 142 participants would like to bring up. small raffle to hand them out to interested Ada and GNU/Linux 143 Afterwards, those interested can once members. Ada and MacOS X 143 more get practical hands-on experience on [1] http://www.cs.kuleuven.be/~dirk/ada- References to Publications 143 packaging Ada software for Debian with belgium/forms/member-form13.html Ada Inside 145 Ludovic Brenta, principal maintainer of Ada in Context 146 Ada in Debian. [2] http://www.cs.kuleuven.be/~dirk/ada- belgium/member-benefit.html Ada-related Events Schedule [3] http://www.ada-europe.org/auj/home/ ------------- [To give an idea about the many Ada- Informal barbecue related events organised by local groups, * 12:00 welcome and getting started some information is included here.
Recommended publications
  • Introduction to Computer Systems 15-213/18-243, Spring 2009 1St
    M4-L3: Executables CSE351, Winter 2021 Executables CSE 351 Winter 2021 Instructor: Teaching Assistants: Mark Wyse Kyrie Dowling Catherine Guevara Ian Hsiao Jim Limprasert Armin Magness Allie Pfleger Cosmo Wang Ronald Widjaja http://xkcd.com/1790/ M4-L3: Executables CSE351, Winter 2021 Administrivia ❖ Lab 2 due Monday (2/8) ❖ hw12 due Friday ❖ hw13 due next Wednesday (2/10) ▪ Based on the next two lectures, longer than normal ❖ Remember: HW and readings due before lecture, at 11am PST on due date 2 M4-L3: Executables CSE351, Winter 2021 Roadmap C: Java: Memory & data car *c = malloc(sizeof(car)); Car c = new Car(); Integers & floats c->miles = 100; c.setMiles(100); x86 assembly c->gals = 17; c.setGals(17); Procedures & stacks float mpg = get_mpg(c); float mpg = Executables free(c); c.getMPG(); Arrays & structs Memory & caches Assembly get_mpg: Processes pushq %rbp language: movq %rsp, %rbp Virtual memory ... Memory allocation popq %rbp Java vs. C ret OS: Machine 0111010000011000 100011010000010000000010 code: 1000100111000010 110000011111101000011111 Computer system: 3 M4-L3: Executables CSE351, Winter 2021 Reading Review ❖ Terminology: ▪ CALL: compiler, assembler, linker, loader ▪ Object file: symbol table, relocation table ▪ Disassembly ▪ Multidimensional arrays, row-major ordering ▪ Multilevel arrays ❖ Questions from the Reading? ▪ also post to Ed post! 4 M4-L3: Executables CSE351, Winter 2021 Building an Executable from a C File ❖ Code in files p1.c p2.c ❖ Compile with command: gcc -Og p1.c p2.c -o p ▪ Put resulting machine code in
    [Show full text]
  • A Model-Driven Development and Verification Approach
    A MODEL-DRIVEN DEVELOPMENT AND VERIFICATION APPROACH FOR MEDICAL DEVICES by Jakub Jedryszek B.S., Wroclaw University of Technology, Poland, 2012 B.A., Wroclaw University of Economics, Poland, 2012 A THESIS submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE Department of Computing and Information Sciences College of Engineering KANSAS STATE UNIVERSITY Manhattan, Kansas 2014 Approved by: Major Professor John Hatcliff Abstract Medical devices are safety-critical systems whose failure may put human life in danger. They are becoming more advanced and thus more complex. This leads to bigger and more complicated code-bases that are hard to maintain and verify. Model-driven development provides high-level and abstract description of the system in the form of models that omit details, which are not relevant during the design phase. This allows for certain types of verification and hazard analysis to be performed on the models. These models can then be translated into code. However, errors that do not exist in the models may be introduced during the implementation phase. Automated translation from verified models to code may prevent to some extent. This thesis proposes approach for model-driven development and verification of medi- cal devices. Models are created in AADL (Architecture Analysis & Design Language), a language for software and hardware architecture modeling. AADL models are translated to SPARK Ada, contract-based programming language, which is suitable for software veri- fication. Generated code base is further extended by developers to implement internals of specific devices. Created programs can be verified using SPARK tools. A PCA (Patient Controlled Analgesia) pump medical device is used to illustrate the primary artifacts and process steps.
    [Show full text]
  • TI-89 / TI-92 Plus Tip List 10.0
    TI-89 / TI-92 Plus Tip List 10.0 Compiled by Doug Burkett, [email protected] Created 12 aug 99, revised 20 July 2002 Copyright 1999-2002 Doug Burkett. All rights reserved. Dedicated to my wife, Janet Katherine Scholz Burkett, who cheerfully tolerates all this silliness... Important! Neither I, Doug Burkett, nor any of the contributors to this tip list are responsible in any way for any damage of any kind that you or anyone else may incur from using the information in this tip list. These tips are provided for educational purposes only. The contributors and I believe that all information is accurate and reliable, but we make no expressed or implied warrantee or guarantee to that effect. Some tips may involve hardware or software modifications to the calculator that may void the manufacturer's warrantee. This document is a collection of useful tips and hints relating to the TI-89 and TI-92 Plus calculators. The tips come from user experience and many other sources, and apply to all facets of calculator operation and programming. The tip list has grown to include reference material, humor and oddities, so perhaps the name Tip List, is no longer appropriate, but it stands for now. The tip list is not a buglist, a wishlist or a FAQ. I maintain a wishlist, and good FAQs are available. While a FAQ is, by definition, frequently asked questions, this list instead describes useful techniques which may be 'infrequently asked'. These are sophisticated calculators and some features are not obvious. All users have different skills, and what is obvious to some is not obvious to all.
    [Show full text]
  • Glossary This Section Defines Some Terms I Use in the Tips. Some Definitions May Seem Obvious to English-Speaking Us
    Appendix C: Glossary This section defines some terms I use in the tips. Some definitions may seem obvious to English-speaking users, but the calculator community is thoroughly international. The glossary incorporates (with permission) many entries from Ray Kremer's Graphing Calculator glossary. @1...@255 Represents an arbitrary constant, where distinct constants are distinguished by the numbers 1, 2 and so on, appended to the @ symbol. The constant may not be an integer; see @n1 below for comparison. Arbitrary constants may occur in solutions returned by zeros(). The first arbitrary constant created is called @1. Subsequent constants are numbered from 2 to 255. The suffix resets to 1 when you use ClrHome. @n1...@n255 Represents an arbitrary integer, where distinct integers are distinguished by the numbers 1, 2 and so on, appended to the @n. Arbitrary integers may occur in the solutions to some equations, for example, in the expression @n1 + 7, @n1 may be replaced by any integer. The first arbitrary integer which is created is called @n1. Subsequent integers are numbered from 2 to 255. After the 255th integer is created, numbering continues with @n0. You may use [F6] Clean Up 2:NewProb to reset arbitrary integers to @n1. 2D Acronym for 'two dimensional'. Refers to the calculator graphing mode in which functions one independent variable are plotted, for example, y=f(x) 3D Acronym for 'three dimensional'. Refers to the calculator graphing mode in which functions of two independent variables can be plotted, for example, z = f(x,y). 68K, 68000 Refers to the microprocessor used in the TI-89 / TI-92 Plus, which is a Motorola MC68000.
    [Show full text]
  • AN OPEN ONION PROCESS MODEL to SUPPORT OPEN SOURCE DEVELOPMENT AMINAT ABIOLA SHOWOLE a Thesis Submitted in Fulfilment of The
    AN OPEN ONION PROCESS MODEL TO SUPPORT OPEN SOURCE DEVELOPMENT AMINAT ABIOLA SHOWOLE A thesis submitted in fulfilment of the requirements for the award of the degree of Doctor of Philosophy (Computer Science) Faculty of Computer Science and Infonnation Systems Universiti Teknologi Malaysia JANUARY 20 11 11 DECLARATION I declared that this thesis entitled "An Open Onion Process Model to Support Open Source Development" is the result of my own research except as cited in the references. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Signature: ···� ····· Name: Arninat Abiola Showole Date: 31ST January, 2011 Ill To My late fa ther, Alhaji G.S. Alamutu My sweet mother Alhaja Safiat Atoke Alamutu, My beloved Children Mubarak, Teslim, Hikmat & Yusrah My darling husband and best fr iend, Abdul Wa siu Showole IV ACKNOWLEDGEMENT All Praises belong to Allah (SWT) fo r making it possible fo r me to get to this phase of my research. This PhD research is sponsored by Islamic Development Bank (IDB) Jeddah, Saudi Arabia and Federal University of Ahuja, Nigeria, to both whom I am very grateful. My deepest appreciation goes to my principal supervisor Professor Dr. Hj. Shamsul Sahibuddin, fo r his persistent support in terms of guidance, encouragements and inspiration especially at the times when this research seemed unworkable. He has always given me the much needed courage to fo rge ahead and build high-level of confidence in me. All these have really taken me to this level. My profound gratitude goes to my co-supervisor, Associate Professor Dr.
    [Show full text]
  • The Design and Implementation of Gnu Compiler Generation Framework
    The Design and Implementation of Gnu Compiler Generation Framework Uday Khedker GCC Resource Center, Department of Computer Science and Engineering, Indian Institute of Technology, Bombay January 2010 CS 715 GCC CGF: Outline 1/52 Outline • GCC: The Great Compiler Challenge • Meeting the GCC Challenge: CS 715 • Configuration and Building Uday Khedker GRC, IIT Bombay Part 1 GCC ≡ The Great Compiler Challenge CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program gcc Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as ld Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as glibc/newlib ld Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as GCC glibc/newlib ld Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 3/52 Why is Understanding GCC Difficult? Some of the obvious reasons: • Comprehensiveness GCC is a production quality framework in terms of completeness and practical usefulness • Open development model Could lead to heterogeneity.
    [Show full text]
  • Procedures & Executables
    L13: Procedures & Executables CSE410, Winter 2017 Procedures & Executables CSE 410 Winter 2017 Instructor: Teaching Assistants: Justin Hsia Kathryn Chan, Kevin Bi, Ryan Wong, Waylon Huang, Xinyu Sui Gmail will block JavaScript attachments, a common source of malware Starting Feb. 13, Google will no longer allow JavaScript attachments on its Gmail service, killing one of the main methods of malware distribution over the past two years. JavaScript files can be executed directly on Windows thanks to a system component called the Windows Script Host (WSH). The JavaScript files, which are typically obfuscated, can serve as downloaders for other malware and have been especially preferred by ransomware pushers. • http://www.pcworld.com/article/3162038/security/gmail‐will‐ block‐javascript‐attachments‐a‐common‐source‐of‐malware.html L13: Procedures & Executables CSE410, Winter 2017 Administrivia Homework 3 due next Thursday (2/9) Lab 2 due in two Mondays (2/13) Lab 1 grading . Make sure your code compilers properly on VM/klaatu Midterm next Friday (2/10) in lecture . Make a cheat sheet! – two‐sided letter page, handwritten . Check Piazza this week for announcements Midterm review session . 5‐7pm on Tuesday (2/7) in BAG 261 2 L13: Procedures & Executables CSE410, Winter 2017 Procedures Stack Structure Calling Conventions . Passing control . Passing data . Managing local data Register Saving Conventions Illustration of Recursion 3 L13: Procedures & Executables CSE410, Winter 2017 Register Saving Conventions When procedure yoo calls who: . yoo is the caller . who is the callee Can registers be used for temporary storage? yoo: who: • • • • • • movq $15213, %rdx subq $18213, %rdx call who ? • • • addq %rdx, %rax ret • • • ret .
    [Show full text]
  • Build Linux Kernel with Open64
    Build Linux kernel with Open64 Qing Zhu1, Tao Wang2, Gang Yu1, Kun Ling2, Jian-xin Lai1 1Unix System Lab, Hewlett-Packard Company 2 State Key Laboratory of Computer Architecture, Institute of Computing Technology 1{qing.zhu2, yu.gang, jianxin.lai}@hp.com, 2{wangtao2010, lingkun}@ict.ac.cn Abstract architectures are principal and popular in IT industry, proving Open64 is an open source, optimizing compiler. The goal of the the success on these two platforms will impress more people on compiler is to be an alternative back-end of GCC. To improve Open64. Open64’s code quality, enhance GCC-compatibility and attrac- • Provide a good research platform to improve the kernel’s per- t more users to the Open64 community, it is important to build formance by advanced optimizations. Especially, to enable I- significant applications like Linux kernel with Open64. This paper PA/IPO (Inter-Procedure Analysis and Optimization) on kernel describes the work of building and running up Linux kernel with build, show how much performance improvement that IPA/IPO Open64. As an experience report, the general build, triage approach will give us on standard system software like operating system and tackling method for commonly issues on building kernel with kernel. non-gnu are discussed. Now, the officially maintained open64.net trunk on x8664 target and the Loongcc[1] branch on MIPS64 target In this paper, we make a summary of general practices in ker- have all successfully built up and run the Linux kernel. nel building process on different architectures. These approaches and experience may help other targets to conduct kernel building Keywords Open64, Linux kernel, Loongcc, X86-64, MIPS-64, and build other Open64 support platforms effectively.
    [Show full text]
  • Executables & Buffer Overflows
    L15: Executables & Buffer Overflows CSE351, Winter 2019 Executables & Buffer Overflows CSE 351 Winter 2019 Instructors: Teaching Assistants: Max Willsey Britt Henderson Daniel Snitkovsky Luis Ceze Lukas Joswiak Luis Vega Josie Lee Kory Watson Wei Lin Ivy Yu http://xkcd.com/1353/ L15: Executables & Buffer Overflows CSE351, Winter 2019 Administrivia v Mid-quarter survey due tomorrow (2/14) v Homework 3 due Friday (2/15) v Lab 3 releasing today, due next Friday (2/22) v Midterm tomorrow (2/14) § Will be posted in the morning § Due 11:59PM same day § See Piazza for rules • course material • collaboration 2 L15: Executables & Buffer Overflows CSE351, Winter 2019 Assembly Programmer’s View CPU Addresses Memory %rax %r8 %rip %rbx %r9 Stack %rcx %r10 Data %rdx %r11 %rsi %r12 CF ZF %rdi %r13 %rsp %r14 Instructions Dynamic Data SF OF %rbp %r15 (Heap) Static Data v Programmer-visible state § PC: the Program Counter (%rip in x86-64) Literals • Address of next instruction Instructions § Named registers • Together in “register file” v Memory • Heavily used program data § Byte-addressable array § Condition codes § Code and user data • Store status information about most recent § Includes the Stack (for arithmetic operation supporting procedures) • Used for conditional branching 3 L15: Executables & Buffer Overflows CSE351, Winter 2019 Roadmap C: Java: Memory & data car *c = malloc(sizeof(car)); Car c = new Car(); Integers & floats c->miles = 100; c.setMiles(100); x86 assembly c->gals = 17; c.setGals(17); Procedures & stacks float mpg = get_mpg(c); float mpg = Executables free(c); c.getMPG(); Arrays & structs Memory & caches Assembly get_mpg: Processes pushq %rbp language: movq %rsp, %rbp Virtual memory ..
    [Show full text]
  • The C Build Process
    Conduite de Projet Cours 5 — The C build process Stefano Zacchiroli [email protected] Laboratoire IRIF, Université Paris Diderot 2018–2019 URL https://upsilon.cc/zack/teaching/1819/cproj/ Copyright © 2012–2019 Stefano Zacchiroli License Creative Commons Attribution-ShareAlike 4.0 International License https://creativecommons.org/licenses/by-sa/4.0/ Stefano Zacchiroli (Paris Diderot) Build 2018–2019 1 / 37 Outline 1 The build process 2 The C preprocessor 3 The GNU Compiler Collection (GCC) Stefano Zacchiroli (Paris Diderot) Build 2018–2019 2 / 37 Outline 1 The build process 2 The C preprocessor 3 The GNU Compiler Collection (GCC) Stefano Zacchiroli (Paris Diderot) Build 2018–2019 3 / 37 Compiler Definition (compiler) A compiler is a computer program that transforms source code (written in some source language) into another computer language called target language. usually, but not always, the source language is a programming language that humans (programmers) are able to understand ñ e.g., C, Java, OCaml, Scala, Python, Ruby, F#, Matlab, . usually, but not always, the target language is object code that can be executed by a hardware platform ñ e.g., x86-32, x86-64, ARM7, powerpc, etc. (native compilers) ñ e.g., JVM bytecode, Python bytecode, etc. (bytecode compilers) Intuition A compiler is a translator from one language to another. Stefano Zacchiroli (Paris Diderot) Build 2018–2019 4 / 37 An interpreter is an all-in-one computer program that compiles and execute source code on-the-fly. Pro/con: 3 higher portability 7 higher startup time source-code distribution Interpreter (digression) Question What is an interpreter then? Stefano Zacchiroli (Paris Diderot) Build 2018–2019 5 / 37 Interpreter (digression) Question What is an interpreter then? An interpreter is an all-in-one computer program that compiles and execute source code on-the-fly.
    [Show full text]
  • GRAPHING CALCULATOR a Graphing Calculator (Also Graphics
    GRAPHING CALCULATOR A graphing calculator (also graphics / graphic calculator) typically refers to a class of handheld calculators that are capable of plotting graphs, solving simultaneous equations, and performing numerous other tasks with variables. Most popular graphing calculators are alsoprogrammable, allowing the user to create customized programs, typically for scientific/engineering and education applications. Due to their large displays intended for graphing, they can also accommodate several lines of text and calculations at a time. Some of the more recent graphing calculators are capable of color output, and also feature animated and interactive drawing of math plots (2D and 3D), other figures such as animated Geometry theorems, preparation of documents which can include these plots and drawings, etc. This is giving the new graphing calculators a presence even in high school courses where they were formerly disallowed. Some calculator manufacturers also offer computer software for emulating and working with handheld graphing calculators. Many graphing calculators can be attached to devices like electronic thermometers, pH gauges, weather instruments, decibel and light meters, accelerometers, and other sensors and therefore function as data loggers, as well as WiFi or other communication modules for monitoring, polling and interaction with the teacher. Student laboratory exercises with data from such devices enhances learning of math, especially statistics and mechanics. Since graphing calculators are usually readily user-programmable, such calculators are also widely used for gaming purposes, with a sizable body of user-created game software on most popular platforms. Even though handheld gaming devices fall in a similar price range, graphing calculators offer superior math programming capability for math based games.
    [Show full text]
  • Reusable Software Components
    REUSABLE SOFTWARE COMPONENTS Trudy Levine Fairleigh Dickinson University Teaneck, NJ 07666 [email protected] http://alpha.fdu.edu/~levine/reuse_course/columns This column consists of our January 2010 listing of sources for reusable software components. All information is obtained from web sites or directly from the parties involved. As always, no recommendation or guarantee by this column is implied. We note that this issue marks twenty years of this column appearing in Ada Letters. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ada Basis WWW Server Ada Basis WWW Server is an archive of about 560Mbyte of public domain source code and documents mainly obtained from the Public Ada Library (PAL). The software has been classified into different application domains and presented in a hierarchical manner. AdaBasis is an acronym for the German phrase "Bibliothek anwendungsbezogener Ada Software-Komponenten in Stuttgart." It is a repository of (mostly) free Ada Software, presented in a way that is (hopefully) easy to use and allows flexible access and effective searching. Application domains include: Artificial Intelligence Compilers Database Management Documents Text-Processing Interfaces/Bindings Mathematical Functions and Data Structures Networking and Distributed Processing Software Development Tools The repository has not been updated in several years, but it is a good source to obtain a large volume of working Ada code for testing Ada-related tools. CONTACT: [email protected] http://www.informatik.uni-stuttgart.de/ifi/ps/ada-software/ada-software.html
    [Show full text]