Yxilon a Modular Open-Source Statistical Programming Language

Size: px
Start display at page:

Download "Yxilon a Modular Open-Source Statistical Programming Language"

Transcription

1 a Modular Open-Source Statistical Programming Language Sigbert Klinke Uwe Ziegenhagen Yuval Guril Institute für Statistics and Econometrics Humboldt-Universität zu Berlin

2 Introduction 1-1 High- and Low-Level Languages Problem high-level interpreting languages (R, XploRe) relatively slow in computing-intensive applications low-level compiling languages as C and Fortran much faster, more difficult to handle common solution: usage of external DLLs for time-consuming calculations

3 Introduction 1-2 High- and Low-Level Languages Problem high-level interpreting languages (R, XploRe) relatively slow in computing-intensive applications low-level compiling languages as C and Fortran much faster, more difficult to handle common solution: usage of external DLLs for time-consuming calculations Our Proposal Compile high-level code to low-level C/C++ and Java

4 Introduction 1-3 Outline of the talk Introduction From XploRe to... Requirements for statistical environments Architecture The graphical user interface Outlook

5 XploRe 2-1 XploRe exploratory Regression developed in joint-venture of Humboldt-Universität zu Berlin and MD*Tech ( language based, using C-style syntax strong focus on non-parametrics and quantitative finance desktop, batch and server versions for Windows, Linux/Unix used in books and e-media published by Springer, Heidelberg

6 XploRe 2-2 Drawbacks of Monolithic Design implementation of new technologies increased complexity original design did not include e.g. transmission of data via internet all parts closely tied to each other, little modularity makes implementation of new features and debugging difficult

7 XploRe 2-3 Drawbacks of Monolithic Design implementation of new technologies increased complexity original design did not include e.g. transmission of data via internet all parts closely tied to each other, little modularity makes implementation of new features and debugging difficult Conclusion Reimplementing the XploRe language in!

8 Requirements 3-1 Requirements for Statistical Software Chambers & Lang (1999): 1. Usable from multiple front-ends: commandline, gui, embedded 2. Support development of GUIs for different users 3. Extensibility on language and native core level 4. Abilities to read/write data and to calculate across networks 5. Database support and interactive graphics 6. Inclusion of existing code (C, Fortran, etc.) 7. Performance optimization

9 Requirements 3-2 Further Requirements Platform Independence one look & feel + one result

10 Requirements 3-3 Further Requirements Platform Independence one look & feel + one result Support for multiple languages foreign character sets, Unicode

11 Requirements 3-4 Further Requirements Platform Independence one look & feel + one result Support for multiple languages foreign character sets, Unicode User resources printed/electronic manuals, context-sensitive help

12 Most uses of the classical tools of statistics have been, are, and will be, made by those who know not what they do. John W. Tukey (1965)

13 Architecture 4-1 Overview Text Interface Applet COM manipulates objects creates output DLL/SO JAR C/C++ Java Soap/XML GUI... Client Object Database compilation branch Sends programs... Compiler creates programs Parser creates Oracle MySQL ODBC/JDBC... sends data and quantlets interpretation branch manipulates objects creates output Parse Tree interpretes Runtime Environment Databases

14 Architecture 4-2 Graphical User Interface I Shneiderman (1997): consistency Similar reactions in similar situations shortcuts Guidance for beginners, shortcuts for power users closed actions Well-defined start and end points for user actions error handling Short and informative error messages loss of control Have users act, not react

15 Architecture 4-3 Graphical User Interface II Selection of Software Framework Fulltick Java.NET QT WXwidgets

16 Architecture 4-4 Functions of this GUI platform-independent reference implementation identify basic functionality and user-interface interaction allow to experiment with code enable users (developers) to use

17

18 Architecture 4-5 Compilation GUI Result Parser Result.qbt.java.cpp.exe yxilonrt javac g++

19 Outlook 5-1 Status of Development Operators: Conversion to binary, C++ and Java: basic graphical user interface: function calls and graphics: to be done object database and database connectivity: to be done

20 Outlook 5-2 Conclusion and Invitation is our proposal for a modern statistics package Sourcecode and binaries at feedback from users and programmers highly appreciated ziegenhagen@wiwi.hu-berlin.de

21 Outlook 5-3 References Chambers, J. and Lang, D. ˆΩ- A Component-based Statistical Computing Environment Proceedings of the ISI, Härdle, W., Klinke, S. and Ziegenhagen, U. Designing The Next Generation, Vertically Integrable Statistical Software Environment Proceedings of the Interface, Shneiderman, B. Designing the User Interface 3. edn, Addison-Wesley Longman, 1997

XploRe Course - Day 1

XploRe Course - Day 1 Course - Day 1 Uwe Ziegenhagen Sigbert Klinke Institut für Statistik and Ökonometrie Humboldt-Universität zu Berlin http://ise.wiwi.hu-berlin.de 0-2 Outline of the Course Day 1 (Uwe Ziegenhagen) Introduction

More information

A Pascal Based Approach towards Statistical Computing

A Pascal Based Approach towards Statistical Computing A Pascal Based Approach towards Statistical Computing Frank Katritzke, Wolfgang Merzenich, Rolf-Dieter Reiss and Michael Thomas Abstract Most statistical programming languages (like S, R or XploRe) are

More information

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

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

More information

A Statistical Package Based on Pnuts

A Statistical Package Based on Pnuts A Statistical Package Based on Pnuts Junji NAKANO Takeshi FUJIWARA The Institute of Statistical Mathematics The Graduate University for Advanced Studies Yoshikazu YAMAMOTO Tokushima Bunri University Ikunori

More information

Informix User Group. A4GL and VENTAS ERP Solution

Informix User Group. A4GL and VENTAS ERP Solution Informix User Group A4GL and VENTAS ERP Solution Christiane Siverly, Sales Dipl. Ing. Alain Siverly, CEO André Schulze, Development 20 Years+ VENTAS 20 Years+ VENTAS 21 million lines of 4GL code 1.380

More information

SIMULATING SDL USING SITE

SIMULATING SDL USING SITE SIMULATING SDL USING SITE KEYWORDS Telecommunications, Model evaluation, Interactive simulation, Real-time simulation ABSTRACT This paper presents a tool chain to compile SDL specifications into simulators.

More information

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG) SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Introduction to Java Programming

Introduction to Java Programming Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific

More information

Copyright 2014 Oracle and/or its affiliates. All rights reserved.

Copyright 2014 Oracle and/or its affiliates. All rights reserved. Copyright 2014 Oracle and/or its affiliates. All rights reserved. On the Quest Towards Fastest (Java) Virtual Machine on the Planet! @JaroslavTulach Oracle Labs Copyright 2015 Oracle and/or its affiliates.

More information

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker Computers in Engineering COMP 208 Computer Structure Michael A. Hawker Computer Structure We will briefly look at the structure of a modern computer That will help us understand some of the concepts that

More information

PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING

PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING 10.2478/cris-2013-0011 PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING NIKOLETTA MINAROVA 77 INTRODUCTION Since the first design concept of computers came into the world,

More information

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE A Seminar report On Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: www.studymafia.org SUBMITTED BY: www.studymafia.org 1 Acknowledgement I would like

More information

FREE JAVA TUTORIALS & GUIDE JAVA PROGRAMMING SOURCE CODE FREE JAVA COMPILERS AND JAVA PROGRAMMING - FREEBYTE'S GUIDE TO

FREE JAVA TUTORIALS & GUIDE JAVA PROGRAMMING SOURCE CODE FREE JAVA COMPILERS AND JAVA PROGRAMMING - FREEBYTE'S GUIDE TO JAVA PROGRAMMING GUIDE FOR PDF FREE JAVA TUTORIALS & GUIDE JAVA PROGRAMMING SOURCE CODE FREE JAVA COMPILERS AND JAVA PROGRAMMING - FREEBYTE'S GUIDE TO 1 / 5 2 / 5 3 / 5 java programming guide for pdf

More information

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017 Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began

More information

1 Overview XploRe is an interactive computational environment for statistics. The aim of XploRe is to provide a full, high-level programming language

1 Overview XploRe is an interactive computational environment for statistics. The aim of XploRe is to provide a full, high-level programming language Teaching Statistics with XploRe Marlene Muller Institute for Statistics and Econometrics, Humboldt University Berlin Spandauer Str. 1, D{10178 Berlin, Germany marlene@wiwi.hu-berlin.de, http://www.wiwi.hu-berlin.de/marlene

More information

Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1

Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1 Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1 Prepared for course 160410/411 Michael C. Kunkel m.kunkel@fz-juelich.de Materials taken from; docs.oracle.com Teach Yourself

More information

Introduction to Java. Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved.

Introduction to Java. Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Programs are written using programming languages.

More information

Delphi XE. Delphi XE Datasheet

Delphi XE. Delphi XE Datasheet Delphi XE Datasheet DATASHEET Delphi XE Embarcadero Delphi XE is the fastest way to deliver ultrarich, ultra-fast Windows applications. Used by millions of developers, Delphi combines a leading-edge object-oriented

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering 3. User Interface Design Mircea F. Lungu Based on a lecture by Oscar Nierstrasz. Roadmap > Interface design > Design principles > Graphical User Interfaces (GUI) >

More information

Why study Programming Language Concepts? Chapter One. Language Evaluation Criteria. Programming Domains. Readability Writability Reliability Cost

Why study Programming Language Concepts? Chapter One. Language Evaluation Criteria. Programming Domains. Readability Writability Reliability Cost Chapter One Preliminaries, including Why study PL concepts? Programming domains PL evaluation criteria What influences PL design? Tradeoffs faced by programming languages Implementation methods Programming

More information

Oracle PLSQL. Course Summary. Duration. Objectives

Oracle PLSQL. Course Summary. Duration. Objectives Oracle PLSQL Course Summary Use conditional compilation to customize the functionality in a PL/SQL application without removing any source code Design PL/SQL packages to group related constructs Create

More information

IF/Prolog - a high-productivity, declarative, industry proven programming environment. Constraint Prolog - a powerful tool for resource management

IF/Prolog - a high-productivity, declarative, industry proven programming environment. Constraint Prolog - a powerful tool for resource management IF/Prolog - a high-productivity, declarative, industry proven programming environment IF/Prolog is one of the most well known and respected Prolog systems in use today. It has established its niche amongst

More information

"Out of the Box" Workflow Simplicity Data Access Using PPDM in a Multi-Vendor Environment

Out of the Box Workflow Simplicity Data Access Using PPDM in a Multi-Vendor Environment "Out of the Box" Workflow Simplicity Data Access Using PPDM in a Multi-Vendor Environment W. Brian Boulmay Director, Business Partners Fall 2010 Abstract Proper conversion of unit and coordinate reference

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

History of Compilers The term

History of Compilers The term History of Compilers The term compiler was coined in the early 1950s by Grace Murray Hopper. Translation was viewed as the compilation of a sequence of machine-language subprograms selected from a library.

More information

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers Leonidas Fegaras CSE 5317/4305 L1: Course Organization and Introduction 1 General Course Information Instructor:

More information

Chapter Twelve. Systems Design and Development

Chapter Twelve. Systems Design and Development Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many

More information

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group Proseminar Model-Driven Software Engineering (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1 Outline Basic Requirements Preliminary Dates

More information

Domain-Specific Languages Language Workbenches

Domain-Specific Languages Language Workbenches Software Engineering with and Domain-Specific Languages Language Workbenches Peter Friese Itemis peter.friese@itemis.de Markus Voelter Independent/itemis voelter@acm.org 1 Programming Languages C# Erlang

More information

Web Applications: A Simple Pluggable Architecture for Business Rich Clients

Web Applications: A Simple Pluggable Architecture for Business Rich Clients Web Applications: A Simple Pluggable Architecture for Business Rich Clients Duncan Mac-Vicar and Jaime Navón Computer Science Department, Pontificia Universidad Católica de Chile {duncan,jnavon}@ing.puc.cl

More information

Computing Seminar Introduction Oct

Computing Seminar Introduction Oct Computing Seminar Introduction Oct 6 2010 Outline today Programming/computing basics terminology, high level concepts (variables, control flow, input/output) Before next week... Make sure you can login

More information

Introduction to Programming

Introduction to Programming Introduction to Programming session 3 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2010 These slides are created using Deitel s slides Sahrif University of Technology Outlines

More information

Lesson 01 Introduction

Lesson 01 Introduction Lesson 01 Introduction MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Lecturer in Management & IT M.Sc. In IS (SLIIT), PGD in IS (SLIIT), BBA (Hons.) Spl. in IS (SEUSL), MCP Programs Computer

More information

Introduction. CS 2210 Compiler Design Wonsun Ahn

Introduction. CS 2210 Compiler Design Wonsun Ahn Introduction CS 2210 Compiler Design Wonsun Ahn What is a Compiler? Compiler: A program that translates source code written in one language to a target code written in another language Source code: Input

More information

MySQL for Developers with Developer Techniques Accelerated

MySQL for Developers with Developer Techniques Accelerated Oracle University Contact Us: 02 696 8000 MySQL for Developers with Developer Techniques Accelerated Duration: 5 Days What you will learn This MySQL for Developers with Developer Techniques Accelerated

More information

Overview. R behind the scenes: Using S the (un)usual way. Common R Usage. Genesis & Acknowledgements

Overview. R behind the scenes: Using S the (un)usual way. Common R Usage. Genesis & Acknowledgements Overview Using R as a scripting language and text preprocessor R behind the scenes: Using S the (un)usual way Friedrich Leisch Institut für Statistik Ludwig-Maximilians-Universität München Embedding R

More information

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development Technology In Action, Complete, 14e (Evans et al.) Chapter 10 Behind the Scenes: Software Programming 1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem

More information

Object Oriented Programming

Object Oriented Programming Unit 19: Object Oriented Unit code: K/601/1295 QCF Level 4: BTEC Higher National Credit value: 15 Aim To provide learners with an understanding of the principles of object oriented programming as an underpinning

More information

Electricity Bill Management System

Electricity Bill Management System Electricity Bill Management System Zameema Benazir.Z 1, Divya Prabha.P 2 Student 1,2 Department of Electrical and Electronics Engineering Kamaraj College of Engineering and Technology, Madurai, India.

More information

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface

More information

An Introduction to Software Engineering. David Greenstein Monta Vista High School

An Introduction to Software Engineering. David Greenstein Monta Vista High School An Introduction to Software Engineering David Greenstein Monta Vista High School Software Today Software Development Pre-1970 s - Emphasis on efficiency Compact, fast algorithms on machines with limited

More information

A second life for Prolog

A second life for Prolog A second life for Prolog What went wrong and how we fixed it Jan Wielemaker J.Wielemaker@cwi.nl 1 Overview Now: invited talk Afternoon (17:50 19:10) Tutorial 1 WWW: Why Prolog, Why not and Why again Introducing

More information

From Apps to Web Services: Deploying Your MATLAB Algorithms and Applications Marta Wilczkowiak

From Apps to Web Services: Deploying Your MATLAB Algorithms and Applications Marta Wilczkowiak From Apps to Web Services: Deploying Your Algorithms and Applications Marta Wilczkowiak 1 2013 The MathWorks, Inc. Why deploy your algorithms? Raise awareness of your work Reduce duplication of efforts

More information

s i m p l y w o r k s

s i m p l y w o r k s CARA is an ergonomically designed, fast, web user interface and business rules engine, currently released for the following platforms: Documentum (alternative to Webtop or D2) Oracle WebCenter Alfresco

More information

R in the City. Richard Saldanha Oxquant Consulting LondonR Group Meeting 3rd November 2009

R in the City. Richard Saldanha Oxquant Consulting LondonR Group Meeting 3rd November 2009 R in the City Richard Saldanha Oxquant Consulting richard@oxquant.com LondonR Group Meeting 3rd November 2009 S Language Development 1965 Bell Labs pre-s work on a statistical computing language 1977 Bell

More information

15-411/ Compiler Design

15-411/ Compiler Design 15-411/15-611 Compiler Design Jan Hoffmann Fall 2016 http://www.cs.cmu.edu/~janh/courses/411/16 Teaching Staff Instructor: Jan Hoffmann Office hours: Tue 10:30am-noon Thu 1:00pm-2:30pm at GHC 9105 Teaching

More information

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis und Programmierung Modellierung Zwei Welten? and Modeling Two Worlds? Markus Voelter Independent/itemis voelter@acm.org Markus Voelter Independent/itemis voelter@acm.org 1 Languages C# Erlang C++ Python

More information

Introduction. Overview of the Course on Java. Overview of Part 1 of the Course

Introduction. Overview of the Course on Java. Overview of Part 1 of the Course Introduction Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu /~spring Overview of the Course on Java Part

More information

General Course Information. Catalogue Description. Objectives

General Course Information. Catalogue Description. Objectives General Course Information CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers Instructor: Leonidas Fegaras Office: ERB 653 (Engineering Research Bldg) Phone: (817)

More information

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department COURSE: CST1201 Programming Fundamentals (2 class hours, 2 lab hours, 3 credits) Course Description: This course is an intensive

More information

JavaScript Context. INFO/CSE 100, Spring 2005 Fluency in Information Technology.

JavaScript Context. INFO/CSE 100, Spring 2005 Fluency in Information Technology. JavaScript Context INFO/CSE 100, Spring 2005 Fluency in Information Technology http://www.cs.washington.edu/100 fit100-17-context 2005 University of Washington 1 References Readings and References» Wikipedia

More information

Performance Cockpit: An Extensible GUI Platform for Performance Tools

Performance Cockpit: An Extensible GUI Platform for Performance Tools Performance Cockpit: An Extensible GUI Platform for Performance Tools Tianchao Li and Michael Gerndt Institut für Informatik, Technische Universität München, Boltzmannstr. 3, D-85748 Garching bei Mu nchen,

More information

CS1102: What is a Programming Language?

CS1102: What is a Programming Language? CS1102: What is a Programming Language? Kathi Fisler, WPI September 13, 2007 1 The Design and Programming Perspectives To start to understand what comprises a programming language, let s consider sample

More information

CAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory.

CAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory. CAMERA User s Guide 1 Quick Start CAMERA is a collection of concise, intuitive and visually inspiring workbenches for cache mapping schemes and virtual memory. The CAMERA workbenches are standalone applications

More information

Chapter 1 Introduction to Computers, Programs, and Java

Chapter 1 Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs,

More information

Visual Basic Primer A. A. Cousins

Visual Basic Primer A. A. Cousins Hard Wiring The first research computers of the late 1940s were programmed by hard wiring. Cables were plugged and unplugged into huge patch boards to physically alter the electrical circuitry. To program

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Integrating Open Source Tools for Developing Embedded Linux Applications

Integrating Open Source Tools for Developing Embedded Linux Applications Integrating Open Source Tools for Developing Embedded Linux Applications Raul Fernandes Herbster 1, Hyggo Almeida 1, Angelo Perkusich 1, Dalton Guerrero 1 1 Embedded Systems and Pervasive Computing Laboratory

More information

GUI framework communication via the WWW

GUI framework communication via the WWW GUI framework communication via the WWW Thomas Tilley, School of Information Technology, Griffith University, Australia 4215, T.Tilley@gu.edu.au Peter Eklund, School of Information Technology, Griffith

More information

C#: Programming Success In A Day: Beginners Guide To Fast, Easy And Efficient Learning Of C# Programming (C#, C# Programming, C++ Programming, C++,

C#: Programming Success In A Day: Beginners Guide To Fast, Easy And Efficient Learning Of C# Programming (C#, C# Programming, C++ Programming, C++, C#: Programming Success In A Day: Beginners Guide To Fast, Easy And Efficient Learning Of C# Programming (C#, C# Programming, C++ Programming, C++, C, C Programming, C# Language, C# Guide, C# Coding) By

More information

COMS W4115. Programming Languages and Translators. ASML: White Paper

COMS W4115. Programming Languages and Translators. ASML: White Paper COMS W4115 Programming Languages and Translators ASML: White Paper 09/23/2003 Davidov, Olga olga.davidov@riag.com ASML: ARRAY SORTING AND MANIPULATION LANGUAGE Introduction ASML is designed to be a simple,

More information

Python where we can, C ++ where we must

Python where we can, C ++ where we must Python where we can, C ++ where we must Source: http://xkcd.com/353/ Guy K. Kloss Python where we can,c++ where we must 1/28 Python where we can, C ++ where we must Guy K. Kloss BarCamp Auckland 2007 15

More information

JAIDA, JAS3, WIRED4 and the AIDA tag library experience and new developments

JAIDA, JAS3, WIRED4 and the AIDA tag library experience and new developments SLAC-PUB-12950 March 2008 JAIDA, JAS3, WIRED4 and the AIDA tag library experience and new developments M Donszelmann 1, T Johnson 1, V V Serbo 1, M Turri 1 1 SLAC, 2575 Sand Hill Road, Menlo Park, CA 94025,

More information

Core JAVA Training Syllabus FEE: RS. 8000/-

Core JAVA Training Syllabus FEE: RS. 8000/- About JAVA Java is a high-level programming language, developed by James Gosling at Sun Microsystems as a core component of the Java platform. Java follows the "write once, run anywhere" concept, as it

More information

Uninstall A Apps Windows 8 Programming Using Microsoft Visual C++

Uninstall A Apps Windows 8 Programming Using Microsoft Visual C++ Uninstall A Apps Windows 8 Programming Using Microsoft Visual C++ Download Windows 8 code samples and applications. NET, JavaScript, and C++ so check back often. Programming language code examples created

More information

Introduction to Scripting Languages. October 2017

Introduction to Scripting Languages. October 2017 Introduction to Scripting Languages damien.francois@uclouvain.be October 2017 1 Goal of this session: Advocate the use of scripting languages and help you choose the most suitable for your needs 2 Agenda

More information

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers Leonidas Fegaras CSE 5317/4305 L1: Course Organization and Introduction 1 General Course Information Instructor:

More information

Programming. Syntax and Semantics

Programming. Syntax and Semantics Programming For the next ten weeks you will learn basic programming principles There is much more to programming than knowing a programming language When programming you need to use a tool, in this case

More information

CBRN Data Import/Export Tool (CDIET) Presented by: Darius Munshi

CBRN Data Import/Export Tool (CDIET) Presented by: Darius Munshi CBRN Data Import/Export Tool (CDIET) Presented by: Darius Munshi 1 Cubic Company Proprietary 2 Presentation Outline Introduction to CDIET Benefits provided to user Scope Statement Timeline for development

More information

Introduction. Compilers and Interpreters

Introduction. Compilers and Interpreters Introduction Chapter 1 Slides adapted from : Robert van Engelen, Florida State University Alex Aiken and Sean Treichler, Stanford University Compilers and Interpreters Compilation Translation of a program

More information

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012

More information

02 B The Java Virtual Machine

02 B The Java Virtual Machine 02 B The Java Virtual Machine CS1102S: Data Structures and Algorithms Martin Henz January 22, 2010 Generated on Friday 22 nd January, 2010, 09:46 CS1102S: Data Structures and Algorithms 02 B The Java Virtual

More information

Truffle A language implementation framework

Truffle A language implementation framework Truffle A language implementation framework Boris Spasojević Senior Researcher VM Research Group, Oracle Labs Slides based on previous talks given by Christian Wimmer, Christian Humer and Matthias Grimmer.

More information

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Karl Trygve Kalleberg 1 Department of Informatics, University of Bergen, P.O. Box 7800, N-5020 BERGEN,

More information

Atelier Java - J1. Marwan Burelle. EPITA Première Année Cycle Ingénieur.

Atelier Java - J1. Marwan Burelle.  EPITA Première Année Cycle Ingénieur. marwan.burelle@lse.epita.fr http://wiki-prog.kh405.net Plan 1 2 Plan 3 4 Plan 1 2 3 4 A Bit of History JAVA was created in 1991 by James Gosling of SUN. The first public implementation (v1.0) in 1995.

More information

CS426 Compiler Construction Fall 2006

CS426 Compiler Construction Fall 2006 CS426 Compiler Construction David Padua Department of Computer Science University of Illinois at Urbana-Champaign 0. Course organization 2 of 23 Instructor: David A. Padua 4227 SC, 333-4223 Office Hours:

More information

CMSC424: Programming Project

CMSC424: Programming Project CMSC424: Programming Project Due: April 24, 2012 There are two parts to this assignment. The first one involves generating and analyzing the query plans that Oracle generates. The second part asks you

More information

OpenEdge Legacy Application Modernization by Example. Mike Fechner, Consultingwerk Ltd.

OpenEdge Legacy Application Modernization by Example. Mike Fechner, Consultingwerk Ltd. OpenEdge Legacy Application Modernization by Example Mike Fechner, Consultingwerk Ltd. mike.fechner@consultingwerk.de Consultingwerk Ltd. Independent IT consulting organization Focusing on OpenEdge and

More information

Java Architectures A New Hope. Eberhard Wolff

Java Architectures A New Hope. Eberhard Wolff Java Architectures A New Hope Eberhard Wolff http://ewolff.com What happens with a talk titled like this? Architecture of Enterprise Java Apps How can I implement a new feature??? ! ECommerce System

More information

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, SOFTWARE DEVELOPMENT, 15.1200.4 STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION 1.1 Describe methods of establishing priorities 1.2 Prepare a plan of work and schedule information

More information

Proposal To Include Java. As A Language For The IOI.

Proposal To Include Java. As A Language For The IOI. Proposal To Include Java As A Language For The IOI. The following proposal for the inclusion of Java as a new language for the IOI competition is made in the light that the technical difficulties that

More information

What do Compilers Produce?

What do Compilers Produce? What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond

More information

CMSC424: Programming Project

CMSC424: Programming Project CMSC424: Programming Project Due: April 24, 2012 There are two parts to this assignment. The first one involves generating and analyzing the query plans that Oracle generates. The second part asks you

More information

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers Leonidas Fegaras CSE 5317/4305 L1: Course Organization and Introduction 1 General Course Information Instructor:

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Suez: Job Control and User Interface for CLEO III

Suez: Job Control and User Interface for CLEO III Suez: Job Control and User Interface for CLEO III Martin Lohner, Christopher D. Jones, Paul Avery University of Florida, Gainesville Abstract. Suez standardizes the way CLEO III data is processed by providing

More information

CS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer.

CS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer. CS 536 Class Meets Introduction to Programming Languages and Compilers Mondays, Wednesdays & Fridays, 11:00 11:50 204 Educational Sciences Charles N. Fischer Instructor Fall 2012 http://www.cs.wisc.edu/~fischer/cs536.html

More information

On the correctness of template metaprograms

On the correctness of template metaprograms Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007 Vol 2 pp 301 308 On the correctness of template metaprograms Ádám Sipos, István Zólyomi, Zoltán

More information

Visual C++ MFC Programming By Example By John E. Swanke

Visual C++ MFC Programming By Example By John E. Swanke Visual C++ MFC Programming By Example By John E. Swanke MFC Tutorial for Beginners - Learn MFC in simple and easy steps starting from The tutorial provides a hands-on approach with step-by-step program

More information

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 P a g e 1 CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 Q1 Describe some Characteristics/Advantages of Java Language? (P#12, 13, 14) 1. Java

More information

The Java Technical Details. ICW Lecture 3 Tom Chothia

The Java Technical Details. ICW Lecture 3 Tom Chothia The Java Technical Details ICW Lecture 3 Tom Chothia Reminder of Last Time: Your programs defines Classes. Each class defines Objects. An Object is defined as having a number of Fields that store data......and

More information

Ahead of Time (AOT) Compilation

Ahead of Time (AOT) Compilation Ahead of Time (AOT) Compilation Vaibhav Choudhary (@vaibhav_c) Java Platforms Team https://blogs.oracle.com/vaibhav Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

Interpreting Languages for the Java Platform

Interpreting Languages for the Java Platform Interpreting Languages for the Java Platform http://www2.hursley.ibm.com/netrexx/ Mike Cowlishaw IBM Fellow mfc@uk.ibm.com netrexxi Overview A (very) brief introduction to NetRexx Demonstration -- compiling

More information

Lecture 1: Introduction to Java

Lecture 1: Introduction to Java Lecture 1: Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs, a computer is an empty

More information

Desired Characteristics of Modules. Stefan Resmerita, WS2015

Desired Characteristics of Modules. Stefan Resmerita, WS2015 Desired Characteristics of Modules 1 Stable and Understandable Module Interfaces by Information Hiding (I) The design principle Information Hiding goes back to David L. Parnas (1972). Thus, modules are

More information

Compilers Project Proposals

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

More information

Efficient Separate Compilation of Object-Oriented Languages

Efficient Separate Compilation of Object-Oriented Languages Efficient Separate Compilation of Object-Oriented Languages Jean Privat, Floréal Morandat, and Roland Ducournau LIRMM Université Montpellier II CNRS 161 rue Ada 34392 Montpellier cedex 5, France {privat,morandat,ducour}@lirmm.fr

More information

Programming in Scala Second Edition

Programming in Scala Second Edition Programming in Scala Second Edition Martin Odersky, Lex Spoon, Bill Venners artima ARTIMA PRESS WALNUT CREEK, CALIFORNIA Contents Contents List of Figures List of Tables List of Listings Foreword Foreword

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)

More information