Today. Generic Language g Technology (2IS15)

Size: px
Start display at page:

Download "Today. Generic Language g Technology (2IS15)"

Transcription

1 Today Generic Lanuae Technoloy (2IS15) Domain Specific Lanuae Desin Prof.dr. Mark van den Brand Tools for software analysis and manipulation Prorammin lanuae independent (parametric) The story is from the IDE/PE perspective First a eneral overview, then introduction to specific technoloies / Faculteit Wiskunde en Informatica PAGE 1 What What... is a lanuae?... is a Prorammin Environment (PE)?... is Generic Lanuae Technoloy (GLT)?... is a Proram?... is a Prorammin Environment?... is a lanuae?... is a Prorammin Environment (PE)?... is Generic Lanuae Technoloy (GLT)?... is a Proram?... is a Prorammin Environment? / Faculteit Wiskunde en Informatica PAGE 2 / Faculteit Wiskunde en Informatica PAGE 3

2 What is a lanuae? Aspects of a Lanuae A prorammin lanuae Assembler, Cobol, PL/I, C, C++, Java, C#,... AD Domain-Specific ifi Lanuae (DSL) SQL for queries BibTex for entries in a biblioraphy Euris for railroad emplacement safety Risla for financial products WebDSL for web paes Syntax Textual/raphical form of declarations, statements, etc. Static Semantics Scope and type of variables, conversions, formal/actual parameters, etc. Queries: who calls who, who uses variable X,... Dynamic Semantics Proram execution Toolin / Faculteit Wiskunde en Informatica PAGE 4 / Faculteit Wiskunde en Informatica PAGE 5 What What is a Prorammin Environment... is a lanuae?... is a Prorammin Environment (PE)?... is Generic Lanuae Technoloy (GLT)?... is a Proram?... is a Prorammin Environment? A system that supports the development of prorams in order to: Increase productivity: Uniform user-interface (UI); interated tools Increased interaction; early error detection Increase quality: Interated version manaement Interated testin Interated documentation / Faculteit Wiskunde en Informatica PAGE 6 / Faculteit Wiskunde en Informatica PAGE 7

3 Classical PE Interated PE (IPE) Command line oriented: Text editor only xemacs or vim cc or javac Prorams stored in files Complete recompilation after each chane Late error detection Debuin requires recompilation with different options Interated Development Environment (IDE) Specialized, syntax-directed, editor for each lanuae Common intermediate representation for all tools Incremental processin (reusin results of previous calculations) One GUI Early error detection Syntax errors Undeclared variables Type errors in expressions / Faculteit Wiskunde en Informatica PAGE 8 / Faculteit Wiskunde en Informatica PAGE 9 Functionality of an IDE Examples of IDEs Syntax-directed editin/hihlihtin, pretty printin Typecheckin Restructurin Versionin Executin, debuin, profilin Testin Documentin Eclipse: Interated Development Environment (IDE) for Java Plu-in mechanism for extensions MS Visual Studio: msdn.microsoft.com/vstudio t di IDE for various lanuaes VB, C, C++, C# / Faculteit Wiskunde en Informatica PAGE 10 / Faculteit Wiskunde en Informatica PAGE 11

4 What What is Generic Lanuae Technoloy?... is a lanuae?... is a Prorammin Environment (PE)?... is Generic Lanuae Technoloy (GLT)?... is a Proram?... is a Prorammin Environment? Goal: Enable the easy creation of lanuae-specific tools and prorammin environments Separate lanuae-specific aspects from eneric aspects Approach: Find ood, reusable, e, solutions o s for eneric e aspects Find ways to define lanuae-specific aspects Find ways to enerate tools from lanuae-specific definitions iti / Faculteit Wiskunde en Informatica PAGE 12 / Faculteit Wiskunde en Informatica PAGE 13 Generic Aspects Definin Lanuae Aspects User-interface Text editor Proram storae Documentation Syntax Lexical and context-free rammar Static semantics Ad hoc? Dynamic semantics Ad hoc? / Faculteit Wiskunde en Informatica PAGE 14 / Faculteit Wiskunde en Informatica PAGE 15

5 From Definition to Tool Examples of Generic IDEs Syntax Scanner and parser eneration Static semantics??? Dynamic semantics??? Eclipse IMP: A framework for Generic Interated Development Environments (IDE) The oal of the Eclipse IMP is to provide an extensible platform for the development of hih-quality, fully-featured, lanuae-specific IDE's in Eclipse Spoofax/IMP: Rascal: / Faculteit Wiskunde en Informatica PAGE 16 / Faculteit Wiskunde en Informatica PAGE 17 What What is Proram?... is a lanuae?... is a Prorammin Environment (PE)?... is Generic Lanuae Technoloy (GLT)?... is a Proram?... is a Prorammin Environment? Definition of problem P Generated proram that solves P / Faculteit Wiskunde en Informatica PAGE 18 / Faculteit Wiskunde en Informatica PAGE 19

6 Examples of Proram s (1) Examples of Proram s (2) Reular expression matchin: Problem: reconize reular expressions R 1,..., R n in a text Generates: finite automaton Web sites Problem: create uniform web site for set of HTML paes Generate: HTML code with standard layout and site map Generate biblioraphic entries; author = {Brand, {M.G.J. van den} and Jon, {H.A. de} and P. Klint and P. Olivier}, title = {{E}fficient {A}nnotated {T}erms}, journal = {Software, Practice \& Experience}, year = {2000}, paes = { }, volume = {30}} enerates: M.G.J. van den Brand, H.A. de Jon, P. Klint and P.A. Olivier, Efficient Annotated Terms, Software, Practice & Experience, 30(3): , 2000 / Faculteit Wiskunde en Informatica PAGE 20 / Faculteit Wiskunde en Informatica PAGE 21 Examples of Proram Genators (3) Proram s (summary) Compiler: Input: Java proram Generates: JVM code C preprocessor: Input C proram with #include, #define directives Generates C proram with directives replaced Problem description is specific and is usually written in a Domain-Specific Lanuae (DSL) contains eneric alorithms and information about application domain. A PG isolates a problem description from its implementation easier to switch to other implementation methods. Improvements/optimizations in the enerator are ood for all enerated prorams. / Faculteit Wiskunde en Informatica PAGE 22 / Faculteit Wiskunde en Informatica PAGE 23

7 What... is a lanuae?... is a Prorammin Environment (PE)?... is Generic Lanuae Technoloy (GLT)?... is a Proram?... is a Prorammin Environment? What is Prorammin Environment (PEG)? A PEG is a proram enerator applied in the domain of prorammin environments Input: description of a desired lanuae L Output: (parts of) a dedicated L environment Advantaes: Uniform interface across different lanuaes contains eneric, re-usable, implementation knowlede Disadvantae: some UI optimizations are hard / Faculteit Wiskunde en Informatica PAGE 24 / Faculteit Wiskunde en Informatica PAGE 25 Prorammin Environment PEG = collection of proram enerators Formal definition of lanuae L Definition of L syntax Definition of L static semantics Definition of L dynamic semantics Parser Typechecker Evaluator Dedicated environment for editin, manipulatin and executin L prorams L-parser L-typechecker L-evaluator Interated L-prorammin p environment / Faculteit Wiskunde en Informatica PAGE 26 / Faculteit Wiskunde en Informatica PAGE 27

8 Prorammin Environment Summary PEG allows definition of (small) (domain specific) lanuaes PEG = lanuae workbench Evolution from traditional PE via IDE to lanuae workbenches How to describe the syntax and semantics of a (small) (domain specific) lanuae Questions so far? / Faculteit Wiskunde en Informatica PAGE 28 / Faculteit Wiskunde en Informatica PAGE 29

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP) Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the

More information

UNIQUE Identity Access Management

UNIQUE Identity Access Management Manaement UNIQUE Manaement The IAM solution for your company with more control and security when accessin your corporate network. UNIQUE Manaement enables secure access control of all remote desktop structures

More information

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

More information

UNIQUE Business for SaaS

UNIQUE Business for SaaS UNIQUE The solution for your business with more control and security when accessin your Cloud network. UNIQUE enables secure access control of all remote desktop structures and web services in the Cloud

More information

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation We know now that the source of wealth is something specifically human: knowledge. If we apply knowledge to tasks we already know how to do, we call it productivity. If we apply knowledge to tasks that

More information

Static Analyzers. Context. Learning Objectives

Static Analyzers. Context. Learning Objectives Static Analyzers Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design

More information

How To Write A Report In Xbarl

How To Write A Report In Xbarl XBRL Generation, as easy as a database. Christelle BERNHARD - christelle.bernhard@addactis.com Consultant & Deputy Product Manaer of ADDACTIS Pillar3 Copyriht 2015 ADDACTIS Worldwide. All Rihts Reserved

More information

CSCI 3136 Principles of Programming Languages

CSCI 3136 Principles of Programming Languages CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University

More information

2. Advance Certificate Course in Information Technology

2. Advance Certificate Course in Information Technology Introduction: 2. Advance Certificate Course in Information Technology In the modern world, information is power. Acquiring information, storing, updating, processing, sharing, distributing etc. are essentials

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

Skills for Employment Investment Project (SEIP)

Skills for Employment Investment Project (SEIP) Skills for Employment Investment Project (SEIP) Standards/ Curriculum Format for Web Application Development Using DOT Net Course Duration: Three Months 1 Course Structure and Requirements Course Title:

More information

ON AN APPROACH TO STATEMENT OF SQL QUESTIONS IN THE NATURAL LANGUAGE FOR CYBER2 KNOWLEDGE DEMONSTRATION AND ASSESSMENT SYSTEM

ON AN APPROACH TO STATEMENT OF SQL QUESTIONS IN THE NATURAL LANGUAGE FOR CYBER2 KNOWLEDGE DEMONSTRATION AND ASSESSMENT SYSTEM 216 International Journal "Information Technoloies & Knowlede" Volume 9, Number 3, 2015 ON AN APPROACH TO STATEMENT OF SQ QUESTIONS IN THE NATURA ANGUAGE FOR CYBER2 KNOWEDGE DEMONSTRATION AND ASSESSMENT

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code 1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons

More information

Vragen. Software development model. Software development model. Software development model

Vragen. Software development model. Software development model. Software development model Vragen Noem de belangrijkste activiteiten in een software engineeringsproject Welke vormen van onderhoud kan men onderscheiden? Karakteriseer het waterval model Waterfall model Document oriented Suited

More information

Programming Languages

Programming Languages Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer How to make the computer understand? Fall 2005 Lecture 15: Putting it all together From parsing to code generation Write a program using a programming language Microprocessors talk in assembly language

More information

Programming Languages

Programming Languages Programming Languages In the beginning To use a computer, you needed to know how to program it. Today People no longer need to know how to program in order to use the computer. To see how this was accomplished,

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Save thousands with the complete e-document distribution solution

Save thousands with the complete e-document distribution solution Albany econnect Save thousands with the complete e-document distribution solution The UK s leadin provider of electronic document distribution software Since 1989, Albany Software has been developin software

More information

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Course Number: 4995 Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview

More information

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering?

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering? Process models: Capability Maturity Model Integration (CMMI) Software Process Improvement and Capability Determination (SPICE) V-Model Standards: MISRA-C standard AUTOSAR Configuration management Product

More information

Software Development Kit

Software Development Kit Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice

More information

<Insert Picture Here> What's New in NetBeans IDE 7.2

<Insert Picture Here> What's New in NetBeans IDE 7.2 Slide 1 What's New in NetBeans IDE 7.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Compiler and Language Processing Tools

Compiler and Language Processing Tools Compiler and Language Processing Tools Summer Term 2011 Prof. Dr. Arnd Poetzsch-Heffter Software Technology Group TU Kaiserslautern Prof. Dr. Arnd Poetzsch-Heffter Compilers 1 Outline 1. Language Processing

More information

A Short Introduction to Writing Java Code. Zoltán Majó

A Short Introduction to Writing Java Code. Zoltán Majó A Short Introduction to Writing Java Code Zoltán Majó Outline Simple Application: Hello World Compiling Programs Manually Using an IDE Useful Resources Outline Simple Application: Hello World Compiling

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

Description. Benefits. Requirements. Selection process. Duration

Description. Benefits. Requirements. Selection process. Duration PHP development Be part of a team that implements a web application displaying products from different affiliate platforms using their available API s. The application is developed using PhalconPHP framework

More information

1/20/2016 INTRODUCTION

1/20/2016 INTRODUCTION INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We

More information

An Organisational Perspective on Collaborative Business Processes

An Organisational Perspective on Collaborative Business Processes An Oranisational Perspective on Collaborative Business Processes Xiaohui Zhao, Chenfei Liu, and Yun Yan CICEC - Centre for Internet Computin and E-Commerce Faculty of Information and Communication Technoloies

More information

An Automatic Reversible Transformation from Composite to Visitor in Java

An Automatic Reversible Transformation from Composite to Visitor in Java An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,

More information

creating a text-based editor for eclipse

creating a text-based editor for eclipse creating a text-based editor for eclipse By Elwin Ho Contact author at: Elwin.Ho@hp.com June 2003 2003 HEWLETT-PACKARD COMPANY TABLE OF CONTENTS Purpose...3 Overview of the Eclipse Workbench...4 Creating

More information

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse

More information

Dangers and Benefits of Using a DSL

Dangers and Benefits of Using a DSL Centrum voor Wiskunde en Informatica REPORTRAPPORT Little Languages: Little Maintenance? A. van Deursen, P. Klint Software Engineering (SEN) SEN-R9704 March 30, 1997 Report SEN-R9704 ISSN 1386-369X CWI

More information

Lesson 06: Basics of Software Development (W02D2

Lesson 06: Basics of Software Development (W02D2 Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash

More information

SAP HANA Core Data Services (CDS) Reference

SAP HANA Core Data Services (CDS) Reference PUBLIC SAP HANA Platform SPS 12 Document Version: 1.0 2016-05-11 Content 1 Getting Started with Core Data Services....4 1.1 Developing Native SAP HANA Applications....5 1.2 Roles and Permissions....7 1.3

More information

Language-Driven, Technology-Enhanced Instructional Systems Design

Language-Driven, Technology-Enhanced Instructional Systems Design Language-Driven, Technology-Enhanced Instructional s Design Iván Martínez-Ortiz, José-Luis Sierra, Baltasar Fernández-Manjón Fac. Informática. Universidad Complutense de Madrid C/ Prof. José García Santesmases

More information

CASE workbenches. . Software tools to support specific process phases. Objectives. Chapter 26. Chapter 26 CASE Workbenches

CASE workbenches. . Software tools to support specific process phases. Objectives. Chapter 26. Chapter 26 CASE Workbenches Chapter 26 Chapter 26 CASE Workbenches Learning Objective. Software tools to support specific process phases Frederick T Sheldon Assistant Professor of Computer Science Washington State University From

More information

Static Program Visualization Within The ASF+SDF Meta Environment. Master Software Engineering Qais Ali Supervisor: Prof.dr. P.

Static Program Visualization Within The ASF+SDF Meta Environment. Master Software Engineering Qais Ali Supervisor: Prof.dr. P. Static Program Visualization Within The ASF+SDF Meta Environment Master Software Engineering Qais Ali Supervisor: Prof.dr. P. Klint Centrum voor Wiskunde en Informatica University of Amsterdam Amsterdam,

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

A FRAMEWORK FOR MONITORING PROGRAM EXECUTION

A FRAMEWORK FOR MONITORING PROGRAM EXECUTION A FRAMEWORK FOR MONITORING PROGRAM EXECUTION Clinton Lewis Jeffery TR 93-21 July 30, 1993 Department of Computer Science The University of Arizona Tucson, Arizona 85721 This work was supported in part

More information

Analysis and Transformation of Source Code by Parsing and Rewriting

Analysis and Transformation of Source Code by Parsing and Rewriting Analysis and Transformation of Source Code by Parsing and Rewriting ACADEMISCH PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Universiteit van Amsterdam op gezag van de Rector Magnificus prof.

More information

XFlash A Web Application Design Framework with Model-Driven Methodology

XFlash A Web Application Design Framework with Model-Driven Methodology International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,

More information

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

The ADOxx Metamodelling Platform Workshop Methods as Plug-Ins for Meta-Modelling in conjunction with Modellierung 2010, Klagenfurt The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration

More information

How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)

How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) How to Improve Database Connectivity With the Data Tools Platform John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) 1 Agenda DTP Overview Creating a Driver Template Creating a

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Integrating Prose as First-Class Citizens with Models and Code

Integrating Prose as First-Class Citizens with Models and Code Integrating Prose as First-Class Citizens with Models and Code Markus Voelter independent/itemis, voelter@acm.org Abstract. In programming and modeling we strive to express structures and behaviors as

More information

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0 1.1 McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Objectives: To describe the evolution of programming languages from machine language to high-level languages. To understand how a program in a high-level

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

More information

YouTrack MPS case study

YouTrack MPS case study YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project

More information

PG DAC. Syllabus. Content. Eligibility Criteria

PG DAC. Syllabus. Content. Eligibility Criteria PG DAC Eligibility Criteria Qualification 1. Engg Graduate in any discipline or equivalent (eg. BE/B.Tech/4 years B. Sc Engg./ AMIE/ AIETE / DoEACC B level etc). 2. PG in Engg. Sciences (eg. MCA / M.Sc.

More information

Short notes on webpage programming languages

Short notes on webpage programming languages Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of

More information

Object-Oriented Software Specification in Programming Language Design and Implementation

Object-Oriented Software Specification in Programming Language Design and Implementation Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama

More information

SPSS WebApp Framework

SPSS WebApp Framework SPSS WebApp Framework Solve business problems with customized, Web-based, analytical applications powered by SPSS Solve business problems with SPSS WebApp applications Predictin the best course of action

More information

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability Nexawebホワイトペーパー Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability Nexaweb Technologies, Inc. February 2012 Overview Many companies today are creating rich internet

More information

Mbeddr and Software Documentation

Mbeddr and Software Documentation Integrating Prose as First-Class Citizens with Models and Code Markus Voelter independent/itemis, voelter@acm.org Abstract. In programming and modeling we strive to express structures and behaviors as

More information

DIPLOMADO DE JAVA - OCA

DIPLOMADO DE JAVA - OCA DIPLOMADO DE JAVA - OCA TABLA DE CONTENIDO INTRODUCCION... 3 ESTRUCTURA DEL DIPLOMADO... 4 Nivel I:... 4 Fundamentals of the Java Programming Language Java SE 7... 4 Introducing the Java Technology...

More information

Take full advantage of IBM s IDEs for end- to- end mobile development

Take full advantage of IBM s IDEs for end- to- end mobile development Take full advantage of IBM s IDEs for end- to- end mobile development ABSTRACT Mobile development with Rational Application Developer 8.5, Rational Software Architect 8.5, Rational Developer for zenterprise

More information

A Database Re-engineering Workbench

A Database Re-engineering Workbench A Database Re-engineering Workbench A project proposal by Anmol Sharma Abstract Data is not always available in the best form for processing, it is often provided in poor format or in a poor quality data

More information

SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC

SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC Paper CS-053 SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC ABSTRACT Business folks use Excel and have no desire to learn SAS Enterprise Guide? MS PowerPoint presentations

More information

Introduction to programming

Introduction to programming Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors

More information

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

Artificial Intelligence. Class: 3 rd

Artificial Intelligence. Class: 3 rd Artificial Intelligence Class: 3 rd Teaching scheme: 4 hours lecture credits: Course description: This subject covers the fundamentals of Artificial Intelligence including programming in logic, knowledge

More information

Modern PL/SQL Code Checking and Dependency Analysis

Modern PL/SQL Code Checking and Dependency Analysis Modern PL/SQL Code Checking and Dependency Analysis Philipp Salvisberg Senior Principal Consultant BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA

More information

ICAPRG409A Develop mobile applications

ICAPRG409A Develop mobile applications ICAPRG409A Develop mobile applications Release: 1 ICAPRG409A Develop mobile applications Modification History Release Release 1 Comments This Unit first released with ICA11 Information and Communications

More information

A Visual Language Based System for the Efficient Management of the Software Development Process.

A Visual Language Based System for the Efficient Management of the Software Development Process. A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università

More information

The Projman Application: Allowing SAS to Manage Your Project Jon Patton, Miami University, Oxford, Ohio

The Projman Application: Allowing SAS to Manage Your Project Jon Patton, Miami University, Oxford, Ohio 1 Abstract Paper TU13 The Projman Application: Allowin SAS to Manae Your Project Jon Patton, Miami University, Oxford, Ohio SAS/OR software has four major procedures that can be used to manae your projects.

More information

Tutorial 5: Developing Java applications

Tutorial 5: Developing Java applications Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and

More information

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper Parsing Technology and its role in Legacy Modernization A Metaware White Paper 1 INTRODUCTION In the two last decades there has been an explosion of interest in software tools that can automate key tasks

More information

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

Cedalion A Language Oriented Programming Language (Extended Abstract)

Cedalion A Language Oriented Programming Language (Extended Abstract) Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically

More information

Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)

Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6) Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking

More information

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Report of the case study in Sistemi Distribuiti A simple Java RMI application Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by

More information

CSE 308. Coding Conventions. Reference

CSE 308. Coding Conventions. Reference CSE 308 Coding Conventions Reference Java Coding Conventions googlestyleguide.googlecode.com/svn/trunk/javaguide.html Java Naming Conventions www.ibm.com/developerworks/library/ws-tipnamingconv.html 2

More information

Refactoring (in) Eclipse

Refactoring (in) Eclipse Refactoring (in) Eclipse J. van den Bos Master s thesis August 15, 2008 Master Software Engineering Universiteit van Amsterdam Thesis Supervisor: Prof. Dr. P. Klint Internship Supervisor: Drs. H.J.S. Basten

More information

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv

More information

PULP Scription: A DSL for Mobile HTML5 Game Applications

PULP Scription: A DSL for Mobile HTML5 Game Applications PULP Scription: A DSL for Mobile HTML5 Game Applications Mathias Funk and Matthias Rauterberg Department of Industrial Design, Eindhoven University of Technology, Den Dolech 2, 5600MB Eindhoven, The Netherlands

More information

Keys 2 Work / PA ementoring / PA Career Guides / My Career Journey / Financial Literacy 101

Keys 2 Work / PA ementoring / PA Career Guides / My Career Journey / Financial Literacy 101 www.smartfutures.or online collee and career readiness solutions for pennsylvania educators Keys 2 Work / PA ementorin / PA Career Guides / My Career Journey / Financial Literacy 101 our mission: To assure

More information

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Domain Specific Languages for Business Users Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information

Unit Testing for Domain-Specific Languages

Unit Testing for Domain-Specific Languages Unit Testing for Domain-Specific Languages 1 Hui Wu, 1 Jeff Gray and 2 Marjan Mernik 1 Department of Computer and Information Sciences, University of Alabama at Birmingham Birmingham, Alabama USA {wuh,gray}@cis.uab.edu

More information

ORACLE APPLICATION EXPRESS 5.0

ORACLE APPLICATION EXPRESS 5.0 ORACLE APPLICATION EXPRESS 5.0 Key Features Fully supported nocost feature of the Oracle Database Simple 2-Tier Architecture Develop desktop and mobile applications 100% Browserbased Development and Runtime

More information

TSM ASSESSMENT PROTOCOL

TSM ASSESSMENT PROTOCOL TSM ASSESSMENT PROTOCOL A Tool for Assessin External Outreach Performance Introduction Launched in 2004, Towards Sustainable Minin (TSM) is an initiative of the Minin Association of Canada desined to enhance

More information

Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials

Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials Visual COBOL is the industry leading solution for COBOL application development and deployment on Windows, Unix and Linux systems. It combines best in class development tooling within Eclipse and Visual

More information

Semantic Web Services for e-learning: Engineering and Technology Domain

Semantic Web Services for e-learning: Engineering and Technology Domain Web s for e-learning: Engineering and Technology Domain Krupali Shah and Jayant Gadge Abstract E learning has gained its importance over the traditional classroom learning techniques in past few decades.

More information

Commercial Database Software Development- A review.

Commercial Database Software Development- A review. Commercial Database Software Development- A review. A database software has wide applications. A database software is used in almost all the organizations. Over 15 years many tools have been developed

More information

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform Communiqué 4 Standardized Communiqué 4 - fully implementing the JCR (JSR 170) Content Repository Standard, managing digital business information, applications and processes through the web. Communiqué

More information

SAP Technical Brief SAP NetWeaver. Increase IT Productivity with ABAP Development Tools for SAP NetWeaver

SAP Technical Brief SAP NetWeaver. Increase IT Productivity with ABAP Development Tools for SAP NetWeaver SAP Technical Brief SAP NetWeaver Objectives Increase IT Productivity with ABAP Development Tools for SAP NetWeaver The drive for better, more efficient IT The drive for better, more efficient IT Your

More information

An Approach for the Systematic Development of Domain-Specific Languages

An Approach for the Systematic Development of Domain-Specific Languages An Approach for the Systematic Development of Domain-Specific Languages Mark Strembeck 1, Uwe Zdun 2 1 Institute of Information Systems, New Media Lab Vienna University of Economics and BA, Austria mark.strembeck@wu-wien.ac.at

More information

CATALOG OF CLASSES IT and Technical Courses

CATALOG OF CLASSES IT and Technical Courses CATALOG OF CLASSES IT and Technical Courses Table of Contents CATALOG OF CLASSES... 1 Microsoft... 1 10135BC... 1 Configuring, Managing and Troubleshooting Microsoft Exchange Server 2010 Service Pack 2...

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

T14 RUMatricula Phase II. Section 1 Metaphor and requirements

T14 RUMatricula Phase II. Section 1 Metaphor and requirements Section 1 Metaphor and requirements RUMatricula is a system that aims at replacing current UPRM terminal-based course selection software with a web-based and mobile-friendly alternative that is simple

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

Safety & Environmental Assurance Centre

Safety & Environmental Assurance Centre International Commission on Microbioloical Specifications for Foods (ICMSF) Outline Workin with Risk-based Metrics in the Food Industry LEON GORRIS Risk-based food safety manaement Risk Analysis & Microbioloical

More information

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut.

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut. Aspect-oriented User User Interface Interface Design Design for Android for Android Applications Applications 1 1 Jiří Šebek, Karel Richta Jiří Šebek, Karel Richta Department of Computer Science and Engineering

More information

Application Development With Data Studio

Application Development With Data Studio Application Development With Data Studio Tony Leung IBM February 4, 2013 13087 leungtk@us.ibm.com Insert Custom Session QR if Desired. Developing Application Application Development Stored Procedures Java

More information