Is “Higher Level” Better?

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

Lecture 9: Implementation Dr Valentina Plekhanova University of Sunderland, UK.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Systems Software.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
1 Breakout thoughts (compiled with N. Carter): Where will RAMP be in 3-5 Years (What is RAMP, where is it going?) Is it still RAMP if it is mapping onto.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
1.2 Language Processing Activities The fundamental language processing activities divided into two parts. 1. Program generation activities 2. Program execution.
1.1 Introduction to Language Processor
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Types of software. Sonam Dema..
Chapter 3 Software Processes.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Nature of Software Design
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
Instructor: Peter Clarke
Computer Architecture And Organization UNIT-II Multilevel View Point Of A Machine.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Executable Translatable UML Stephen J. Mellor Chief Scientist.
Intent Specification Intent Specification is used in SpecTRM
1 COMP 3438 – Part II-Lecture 1: Overview of Compiler Design Dr. Zili Shao Department of Computing The Hong Kong Polytechnic Univ.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Semantic Web Constraint Language complement and the editor development in Protégé Piao Guangyuan.
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Programming Languages and the Programming Process.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Software Engineering Introduction Slide 1 Software Engineering Introduction.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Object Oriented Systems Design
Computer Applications in Business
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Advanced Computer Systems
Support for Program Analysis as a First-Class Design Constraint in Legion Michael Bauer 02/22/17.
Overview of Compilers and Language Translation
Chapter 1 Introduction.
Hardware and Software Hardware refers to the physical devices of the computer system e.g. monitor, keyboard, printer, RAM etc. Software is a set of programs,
SYSTEM SOFTWARE & COMPILER DESIGN
Introduction to programming
CSCI-235 Micro-Computer Applications
Extending Model-Driven Engineering in Tango
Chapter 1: Introduction to Systems Analysis and Design
Research topics: Mira Balaban
Microprocessor and Assembly Language
Chapter 1 Introduction.
Entry Ticket: High and Low Level Languages
Compiler Lecture 1 CS510.
Application Development Theory
Systems Analysis and Design: What is it?
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
Translators & Facilities of Languages
Programming Languages
Introduction to Software Process Models
User Interface Design and Evaluation
Introduction Chapter 1 S. Dandamudi. Outline  A user’s view of computer systems  What is assembly language?  Relationship to machine language  Advantages.
PROGRAMMING IN HASKELL
MIT AI Lab: B. Williams, H. Shrobe, R. Laddaga
Software Development Cycle
What is Programming Language
Type Topic in here! Created by Educational Technology Network
What is Software Engineering?
From Use Cases to Implementation
INTRODUCTION OF REQUIREMENT ENGINEERING Chapter- one.
Presentation transcript:

Is “Higher Level” Better? A programming language can be viewed as an interface to an abstract machine. Assembly language is just the right abstraction for a CPU. Why do some languages better match some applications than others?

We Need Domain Specificity A domain-specific language (or DSL) is a language that precisely captures a domain semantics; no more, and no less. We also need domain specific: specifications (starting point!) optimizations and transformations software tools type systems, aspects, constraints, etc.

Advantages of DSL Approach Programs in the target domain are: more concise quicker to write easier to maintain easier to reason about can often be written by non-programmers Contribute to higher programmer productivity Dominant cost in large SW systems Verification, transform- ation, optimization These are the same arguments in favor of any high-level language. But in addition: Helps bridge gap between developer and user

The Bottom Line

DSL’s Allow Faster Prototyping Using the “Spiral Model” of Software Development design specify design specify build test build test Without DSL With DSL