Design-Driven Software Development: A Programming Language-Inspired Approach Charles Consel University of Bordeaux / Inria

Size: px
Start display at page:

Download "Design-Driven Software Development: A Programming Language-Inspired Approach Charles Consel University of Bordeaux / Inria"

Transcription

1 Design-Driven Software Development: A Programming Language-Inspired Approach Charles Consel University of Bordeaux / Inria Joint work with members of the Phoenix Research Group

2 Orchestrating Networked Entities Cooker Alert TV Turnoff Notify RemoteTurnOff Alert

3 Domain-Specific Languages Spec. Generator Program Specification Declaration DSL program Preprocessor DSL compiler Domain-specific Concepts, notations, semantics Interpreter or compiler Benefits Software development: conciseness, abstraction Software verification: critical properties Software execution: performance, robustness Areas: OS, networking, multimedia, etc. è Still, little impact on mainstream PL

4 Gap between DSL and GPL The Silo Effect Syntax Semantics APIs Non-standard concepts, learning curve, narrow scope Programming-intensive task Development environment Another major development project è Getting the best of both worlds

5 Combining The DSL and GPL Approaches Designing raising the level of abstraction complementing GPLs Paradigm retaining DSL benefits not general purpose Design Paradigm Language defining paradigm-specific syntax and semantics an actual language Compilation generating customized GPL programming frameworks beyond contemplative approach and general-purpose programming support Verification leveraging specificities of paradigm Compiler based on well-defined semantics Programming conforming to the programming framework driven by the design Support leveraging the programming framework and host support blending in Program GPL Programming framework GPL

6 The DiaSuite Approach Designing Declarations Paradigm Sense-Compute-Control Language DiaSpec Compilation Java programming framework w.r.t. a design Verification Design time, compile time, run time Programming Java type system Support Eclipse, APIs, etc. Design SCC Compiler Program Java Programming framework Java

7 The SCC Paradigm orders Control controller context data context actions entities sources External Environment Compute raw data Sense

8 The SCC Paradigm: Wide Range of Application Areas orders controller actions entities context data sources context raw data

9 DiaSpec: A Paradigm-Specific Design Language actions entities Cooker Alert Taxonomy of entities device Cooker extends Actuator { action On; action Off; controller Turnoff Notify context RemoteTurnOff Alert entities sources device ElectricMeter extends Sensor { source currentelectricconsumption as Float;

10 DiaSpec: A Paradigm-Specific Design Language actions entities Cooker Alert Component declarations controller Turnoff Notify controller Notify { when provided Alert; do any AskQuestion on TvPrompter; context RemoteTurnOff Alert context Alert as Integer { when provided ticksecond from Clock; get currentelectricconsumption from ElectricMeter; maybe publish; entities sources

11 DiaSpec: A Paradigm-Specific Design Language actions entities Cooker Alert Component declarations controller Turnoff Notify controller TurnOff { when provided RemoteTurnOff; do any Off on Cooker; context RemoteTurnOff Alert context RemoteTurnOff as Boolean { when provided answer from TvPrompter; get currentelectricconsumption from ElectricMeter; maybe publish; entities sources

12 Generated Programming Framework context Alert as Integer { when provided ticksecond from Clock; get currentelectricconsumption from ElectricMeter; maybe publish; public class Alert extends AbstractAlert { Compiling declarations into Abstract public AlertValuePublishable onticksecondfromclock( TickSecondFromClock ticksecondfromclock, DiscoverForTickSecondFromClock discover) { // TODO Auto-generated method stub return null; Abstract methods Leveraging Type system IDE

13 Generated Programming Framework context Alert as Integer { when provided ticksecond from Clock; get currentelectricconsumption from ElectricMeter; maybe publish; Compiling declarations into Boilerplate code Customized code Restricted code public class Alert extends AbstractAlert public AlertValuePublishable onticksecondfromclock(ticksecondfromclock ticksecondfromclock, DiscoverForTickSecondFromClock discover) { if (++iteration == ITERATION_STEP) { iteration = 0; ElectricMeterProxyForTickSecondFromClock meter = discover.electricmeters().whereuser(configuration.cooker_name).anyone(); if (meter.getcurrentelectricconsumption() > 0) elapsedtime += ITERATION_STEP; else elapsedtime = 0; if (elapsedtime >= Configuration.TIME_ALLOWED) { elapsedtime = iteration = 0; return new AlertValuePublishable(elapsedTime, true); else return new AlertValuePublishable(0, false);

14 Design-driven development methodology: TSE 12 Covering The Development Lifecycle Avionics: PECS 13 Declaring QoS: FASE 11 Declaring Error Handling: OOSPLA 10 Simulation: Mobiquitous 09, SPE 12, IE 12 Generative programming approach: GPCE 09 Software Designer" Interaction Contracts: ICSE 11 DiaSuite: SCP 12 SIP: IPTComm 08 ICC 10

15 DiaSuite in Action Digital Space Access Control Controlling room access in a building Simulation of a digital building agents moving around Hybrid simulation (access permission module) Door Lock Access Controller Authenticated Access userdetected Identifer access Access Database

16

17 DiaSuiteBox: Technology Transfer (ongoing) Open-ended application catalog and platform Application portability across entities (H/S) Dedicated development environment Automatically verifying submitted applications

18 DiaSuite in Action Avionics Autopilot Real-size application Designed with domain experts Safety-critical Functional and non-functional requirements Realistic simulation: FlightGear Autopilot also developed for Drones

19 Aileron SetValue entities (action) Aileron Controller controller Target Aileron Target Roll context Target Heading HeadingTo CurrentWP roll Inertial Unit heading Inertial Unit rollmode targetheading Autopilot GUI position Inertial Unit currentwp Route Manager entities (source)

20 Aileron SetValue Autopilot Deactivate Aileron Controller Aileron Controller Target Aileron Error Handling Target Roll Dependability Strategy Target Heading HeadingTo CurrentWP Monitoring... roll Inertial Unit ElectricalSystem Excep0on heading Inertial Unit rollmode targetheading Autopilot GUI position Inertial Excep0on Unit ElectricalSystem currentwp Route Manager

21 emulation Aileron SetValue entities (action) Aileron Controller controller Target Aileron Hybrid simulation Target Roll Target Heading HeadingTo CurrentWP context roll Inertial Unit emulation heading Inertial Unit rollmode targetheading Autopilot GUI real position Inertial Unit emulation currentwp Route Manager real entities (source)

22 emulation Aileron SetValue Autopilot Deactivate Aileron Controller Aileron Controller Target Aileron Target Roll Hybrid simulation Fault Injection Dependability Strategy Target Heading HeadingTo CurrentWP Monitoring... roll heading rollmode targetheading position currentwp Inertial Unit Inertial Unit Autopilot GUI Inertial Unit Route Manager emulation real emulation real October April

23

24 Expanding the Research on The Design-Driven Approach Semantics of DiaSpec Programming frameworks across languages User evaluation of design-driven software development Scalability Design-driven certification Design-driven evolution Design-driven testing

25 Human-Centric Software Development ICSE 13 (NIER) Cognitive Approach User Model User Interaction Design Paradigm Functional Compiler Non Functional Cognitive requirements Deployments Experimental study Program GPL Programming framework GPL

Language Design Cross-fertilizing with other areas. Charles Consel Phoenix Research Group Inria / University of Bordeaux phoenix.inria.fr!

Language Design Cross-fertilizing with other areas. Charles Consel Phoenix Research Group Inria / University of Bordeaux phoenix.inria.fr! Language Cross-fertilizing with other areas Charles Consel Phoenix Research Group Inria / University of Bordeaux phoenix.inria.fr! Programming Language Mentoring Workshop (PLMW 2012) January 2012 Language

More information

The Way to SOA Concept, Architectural Components and Organization

The Way to SOA Concept, Architectural Components and Organization The Way to SOA Concept, Architectural Components and Organization Eric Scholz Director Product Management Software AG Seite 1 Goals of business and IT Business Goals Increase business agility Support new

More information

Ikasan ESB Reference Architecture Review

Ikasan ESB Reference Architecture Review Ikasan ESB Reference Architecture Review EXECUTIVE SUMMARY This paper reviews the Ikasan Enterprise Integration Platform within the construct of a typical ESB Reference Architecture model showing Ikasan

More information

Convergent services in the service oriented architecture Natalya Yashenkova

Convergent services in the service oriented architecture Natalya Yashenkova Convergent services in the service oriented architecture Natalya Yashenkova The article describes how service oriented architecture and the standard OSS solutions can close the gap between the process

More information

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014 KURA M2M/IoT Gateway reducing the distance between embedded and enterprise technologies Tiziano Modotti, October 28 th, 2014 IoT Architecture @ M2M/IoT Integration Platform on Cloud Business Applications

More information

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris

More information

CREDENTIALS & CERTIFICATIONS 2015

CREDENTIALS & CERTIFICATIONS 2015 THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design

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

Test-Driven Approach for Safety-Critical Software Development

Test-Driven Approach for Safety-Critical Software Development Test-Driven Approach for Safety-Critical Software Development Onur Özçelik 1,2*, D. Turgay Altilar2 1 Scientific 2 and Technological Research Council of Turkey, 41470 Kocaeli, Turkey. Department of Computer

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

CREDENTIALS & CERTIFICATIONS 2016

CREDENTIALS & CERTIFICATIONS 2016 THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2016 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 5 Software Design

More information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

More information

IBM Cloud Security Draft for Discussion September 12, 2011. 2011 IBM Corporation

IBM Cloud Security Draft for Discussion September 12, 2011. 2011 IBM Corporation IBM Cloud Security Draft for Discussion September 12, 2011 IBM Point of View: Cloud can be made secure for business As with most new technology paradigms, security concerns surrounding cloud computing

More information

Flexible Engineering Process Automation Process: Continuous Integration & Test

Flexible Engineering Process Automation Process: Continuous Integration & Test Flexible Engineering Process Automation Process: Continuous Integration & Test Alexander Schatten Andreas Pieber Michael Handler Stefan Biffl Christian Doppler Laboratory SE-Flex-AS Institute of Software

More information

A Versatile and Scalable Testing Solution

A Versatile and Scalable Testing Solution A Versatile and Scalable Testing Solution to Meet the Challenges of Testing WebRTC Services By: Chao Zhao Software Engineer at Valid8.com 1 The Nature of WebRTC How WebRTC integrates into IMS Four Stages

More information

Sybase Unwired Platform 2.0

Sybase Unwired Platform 2.0 white paper Sybase Unwired Platform 2.0 Development Paradigm www.sybase.com TABLE OF CONTENTS 1 Sybase Unwired Platform 1 Mobile Application Development 2 Mobile Business Object (MBO) Development 4 Mobile

More information

What is a programming language?

What is a programming language? Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there

More information

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734 City of Dublin Education & Training Board Programme Module for Mobile Technologies leading to Level 6 FETAC Version 3 1 Introduction This programme module may be delivered as a standalone module leading

More information

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh Amit Sheth & Ajith Ranabahu, 2010 Presented by Mohammad Hossein Danesh 1 Agenda Introduction to Cloud Computing Research Motivation Semantic Modeling Can Help Use of DSLs Solution Conclusion 2 3 Motivation

More information

Difference Between Model-Driven and Traditional Iterative Software Development

Difference Between Model-Driven and Traditional Iterative Software Development Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

The Design Maintenance System (DMS ) A Tool for Automating Software Quality Enhancement

The Design Maintenance System (DMS ) A Tool for Automating Software Quality Enhancement The Design Maintenance System (DMS ) A Tool for Automating Software Quality Enhancement Ira D. Baxter, Ph.D. Semantic Designs, Inc. www.semdesigns.com Keywords software quality, design capture, knowledge

More information

Mind The Gap! Setting Up A Code Structure Building Bridges

Mind The Gap! Setting Up A Code Structure Building Bridges Mind The Gap! Setting Up A Code Structure Building Bridges Representation Of Architectural Concepts In Code Structures Why do we need architecture? Complex business problems too many details to keep overview

More information

Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics

Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics Software maintenance Software Maintenance Key problems/issues Historical models and data Program Defined in IEEE Standard 1219 as: The modification of a software product after delivery to correct faults,

More information

BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON

BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON Overview * Introduction * Multiple faces of Big Data * Challenges of Big Data * Cloud Computing

More information

An Oracle White Paper June, 2013. Enterprise Manager 12c Cloud Control Application Performance Management

An Oracle White Paper June, 2013. Enterprise Manager 12c Cloud Control Application Performance Management An Oracle White Paper June, 2013 Enterprise Manager 12c Cloud Control Executive Overview... 2 Introduction... 2 Business Application Performance Monitoring... 3 Business Application... 4 User Experience

More information

A Case Study in DSL Development

A Case Study in DSL Development A Case Study in DSL Development An Experiment with Python and Scala Klaus Havelund Michel Ingham David Wagner Jet Propulsion Laboratory, California Institute of Technology klaus.havelund, michel.d.ingham,

More information

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands)

More information

Self Testing and Product Qualification Processes

Self Testing and Product Qualification Processes GlobalPlatform Self Testing and Product Qualification Processes Version 1.2.1 Public Release May 2013 Document Reference: GPC_PRO_042 Recipients of this document are invited to submit, with their comments,

More information

HP ALM Masters 2014 Connected, collaborative mobile application development for the enterprise HP Anywhere

HP ALM Masters 2014 Connected, collaborative mobile application development for the enterprise HP Anywhere HP ALM Masters 2014 Connected, collaborative mobile application development for the enterprise HP Anywhere A radically different kind of user Mainframe Client/Server Web Devices System-centric User-centric

More information

Chap 1. Software Quality Management

Chap 1. Software Quality Management Chap 1. Software Quality Management Part 1.1 Quality Assurance and Standards Part 1.2 Software Review and Inspection Part 1.3 Software Measurement and Metrics 1 Part 1.1 Quality Assurance and Standards

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

Drupal Survey. Software Requirements Specification 1.0 29/10/2009. Chris Pryor Principal Project Manager

Drupal Survey. Software Requirements Specification 1.0 29/10/2009. Chris Pryor Principal Project Manager Software Requirements Specification 1.0 29/10/2009 Chris Pryor Principal Project Manager Software Requirements Specification Survey Module Revision History Date Description Author Comments 5/11/2009 Version

More information

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Shyam Kumar Doddavula, Sandeep Karamongikar Abstract This article is an attempt to present an approach for transforming

More information

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction Title: Appium Automation for Mac OS X Created By: Prithivirajan M Abstract This document aims at providing the necessary information required for setting up mobile testing environment in Mac OS X for testing

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

App Development with Talkamatic Dialogue Manager

App Development with Talkamatic Dialogue Manager App Development with Talkamatic Dialogue Manager Dialogue Systems II September 7, 2015 Alex Berman alex@talkamatic.se Staffan Larsson Outline! Introduction to TDM! Technical architecture! App development

More information

Resource Management and Containment for Active Services

Resource Management and Containment for Active Services Resource Management and Containment for Active Services M. Ranganathan, Doug Montgomery, Kevin Mills Advanced Networking Technologies Division National Inst. Of Standards and Technology Gaithersburg, MD

More information

SOA @ ebay : How is it a hit

SOA @ ebay : How is it a hit SOA @ ebay : How is it a hit Sastry Malladi Distinguished Architect. ebay, Inc. Agenda The context : SOA @ebay Brief recap of SOA concepts and benefits Challenges encountered in large scale SOA deployments

More information

Controlling the Smart Home from the VSDL Home Gateway: opportunities and lack of standards

Controlling the Smart Home from the VSDL Home Gateway: opportunities and lack of standards TELECOM ITALIA GROUP Controlling the Smart Home from the VSDL Home Gateway: opportunities and lack of standards claudio.venezia@telecomitalia.it W3Ctrack @www2016 Smart objects and Smart Home: application

More information

Domain specific language on automata: Design and Implementation problems. Loïc Fosse

Domain specific language on automata: Design and Implementation problems. Loïc Fosse Domain specific language on automata: Design and Implementation problems Loïc Fosse Technical Report n o 0305, revision 0.20, 2nd November 2003 Even if Domain Specific Languages (DSL) are not well-known,

More information

Java technology trends offer renewed promise for portable embedded applications

Java technology trends offer renewed promise for portable embedded applications Java technology trends offer renewed promise for portable embedded applications By Dave Wood Because of the promise of increased productivity and reduced error incidence, achieving program portability

More information

Automated testing and continuous integration

Automated testing and continuous integration Technical white paper Automated testing and continuous integration Build and test your software at the same time Table of contents Introduction 2 Who should read this document? 2 Build managers 2 Developers

More information

Business Process Analysis & Management. Corporate Synergy

Business Process Analysis & Management. Corporate Synergy Business Process Analysis & Management Corporate Synergy The simple and effective way to implement, execute and monitor business workflow applications From Design to Execution With the increasing need

More information

Building Web Applications, Servlets, JSP and JDBC

Building Web Applications, Servlets, JSP and JDBC Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing

More information

Distribution transparency. Degree of transparency. Openness of distributed systems

Distribution transparency. Degree of transparency. Openness of distributed systems Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 01: Version: August 27, 2012 1 / 28 Distributed System: Definition A distributed

More information

Building Home Monitoring Applications: From Design to Implementation into The Amigo Middleware

Building Home Monitoring Applications: From Design to Implementation into The Amigo Middleware Building Home Monitoring Applications: From Design to Implementation into The Amigo Middleware W. Jouve 1, N. Ibrahim 2, L. Réveillère 1, F. Le Mouël 2, C. Consel 1 1 INRIA / LaBRI Phoenix Group 2 INRIA

More information

Language Technology for Internet-Telephony Service Creation

Language Technology for Internet-Telephony Service Creation Language Technology for Internet-Telephony Service Creation Laurent Burgy Charles Consel Fabien Latry Julia Lawall Nicolas Palix Laurent Réveillère Department of Telecommunications LaBRI - INRIA, France

More information

A Step-by-Step Guide to Defining Your Cloud Services Catalog

A Step-by-Step Guide to Defining Your Cloud Services Catalog A Step-by-Step Guide to Defining Your Cloud Services Catalog Table of Contents Introduction Chapter 1 Defining the Services Catalog Chapter 2 Building a Services Catalog Chapter 3 Choosing the Right Solution

More information

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

More information

TATJA: A Test Automation Tool for Java Applets

TATJA: A Test Automation Tool for Java Applets TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann mxue0001@um.edu.mt Abstract Although there are some very good tools to test Web Applications, such tools neglect

More information

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

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

Federation Computing: A pragmatic approach for the Future Internet

Federation Computing: A pragmatic approach for the Future Internet Federation Computing: A pragmatic approach for the Future Internet Christos Tranoris and Spyros Denazis Electrical and Computing Engineering dept. Univeristy of Patras Patras, Greece tranoris@ece.upatras.gr,

More information

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Presented by : Ajay Budhraja, Chief, Enterprise Services ME (Engg), MS (Mgmt), PMP, CICM, CSM,

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

How To Write Software

How To Write Software Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of

More information

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40 SOFTWARE DEVELOPMENT, 15.1200.40 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods and considerations for prioritizing and scheduling software development

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

ODROID Multithreading in Android

ODROID Multithreading in Android Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading

More information

Java Technology in the Design and Implementation of Web Applications

Java Technology in the Design and Implementation of Web Applications Java Technology in the Design and Implementation of Web Applications Kavindra Kumar Singh School of Computer and Systems Sciences Jaipur National University Jaipur Abstract: This paper reviews the development

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009

STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009 STORM Simulation TOol for Real-time Multiprocessor scheduling Designer Guide V3.3.1 September 2009 Richard Urunuela, Anne-Marie Déplanche, Yvon Trinquet This work is part of the project PHERMA supported

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

.NET and J2EE Intro to Software Engineering

.NET and J2EE Intro to Software Engineering .NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies

More information

CS346: Database Programming. http://warwick.ac.uk/cs346

CS346: Database Programming. http://warwick.ac.uk/cs346 CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)

More information

A Multi-layered Domain-specific Language for Stencil Computations

A Multi-layered Domain-specific Language for Stencil Computations A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,

More information

Formal Verification for Software-Defined Networking

Formal Verification for Software-Defined Networking Formal Verification for Software-Defined Networking Myung-Ki Shin ETRI mkshin@etri.re.kr SDN RG Meeting@IETF 87 Berlin, Germany 1 Compiler-based SDN NBAPIs Apps (High-level Programming + Compiler + Debugger)

More information

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

Developing Google Android Mobile Clients for Web Services: a Case Study

Developing Google Android Mobile Clients for Web Services: a Case Study tesi di laurea Developing Google Android Mobile Clients for Web Services: a Case Study Anno Accademico 2007/2008 relatore Ch.mo prof. Stefano Russo correlatore Ing. Marcello Cinque candidato Vito Daniele

More information

TECHNICAL SPECIFICATION: FEDERATED CERTIFIED SERVICE BROKERAGE OF EU PUBLIC ADMINISTRATION CLOUD

TECHNICAL SPECIFICATION: FEDERATED CERTIFIED SERVICE BROKERAGE OF EU PUBLIC ADMINISTRATION CLOUD REALIZATION OF A RESEARCH AND DEVELOPMENT PROJECT (PRE-COMMERCIAL PROCUREMENT) ON CLOUD FOR EUROPE TECHNICAL SPECIFICATION: FEDERATED CERTIFIED SERVICE BROKERAGE OF EU PUBLIC ADMINISTRATION CLOUD ANNEX

More information

The programming language C. sws1 1

The programming language C. sws1 1 The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan

More information

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna SDK and initial setup: Outline Ø Today: How

More information

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system. Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

More information

Designing and Developing Microsoft SharePoint Server 2010 Applications Course Outline

Designing and Developing Microsoft SharePoint Server 2010 Applications Course Outline Designing and Developing Microsoft SharePoint Server 2010 Applications Course Outline Course Overview: This five-day instructor-led course is intended for SharePoint Development professionals who are responsible

More information

Sybase Unwired Platform 2.1.x

Sybase Unwired Platform 2.1.x white paper Sybase Unwired Platform 2.1.x Development Paradigm www.sybase.com Table of Contents 1 Sybase Unwired Platform 2 Mobile Application Development 3 Mobile Business Object (MBO) Development 5 Mobile

More information

Pulsar Realtime Analytics At Scale. Tony Ng April 14, 2015

Pulsar Realtime Analytics At Scale. Tony Ng April 14, 2015 Pulsar Realtime Analytics At Scale Tony Ng April 14, 2015 Big Data Trends Bigger data volumes More data sources DBs, logs, behavioral & business event streams, sensors Faster analysis Next day to hours

More information

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

Towards Integrating Modeling and Programming Languages: The Case of UML and Java Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria

More information

Anno Accademico 2009/2010

Anno Accademico 2009/2010 tesi di laurea specialistica Analisi sperimentale di strumenti per la fault injection su sistemi Anno Accademico 2009/2010 relatore Ch.mo prof. Domenico Cotroneo Correlatori Ing. Roberto Natella Ing. Ricardo

More information

Formal Specification and Verification of Avionics Software

Formal Specification and Verification of Avionics Software Formal Specification and Verification of Avionics Software June 7th, 2006 Outline 1 Introduction Software in the avionics domain Certification requirements Object-oriented technologies 2 Specification

More information

Getting started with API testing

Getting started with API testing Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...

More information

10 Gbps Line Speed Programmable Hardware for Open Source Network Applications*

10 Gbps Line Speed Programmable Hardware for Open Source Network Applications* 10 Gbps Line Speed Programmable Hardware for Open Source Network Applications* Livio Ricciulli livio@metanetworks.org (408) 399-2284 http://www.metanetworks.org *Supported by the Division of Design Manufacturing

More information

Software quality improvement via pattern matching

Software quality improvement via pattern matching Software quality improvement via pattern matching Radu Kopetz and Pierre-Etienne Moreau INRIA & LORIA {Radu.Kopetz, Pierre-Etienne.Moreau@loria.fr Abstract. Nested if-then-else statements is the most common

More information

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process 1 2 3 What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process modeling, and for more generalized modeling purposes.

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

INF5140: Specification and Verification of Parallel Systems

INF5140: Specification and Verification of Parallel Systems Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline

More information

SOA GOVERNANCE MODEL

SOA GOVERNANCE MODEL SOA GOVERNANCE MODEL Matjaz B. Juric University of Ljubljana, Slovenia matjaz.juric@fri.uni-lj.si Eva Zupancic University of Ljubljana, Slovenia Abstract: Service Oriented Architecture (SOA) has become

More information

MS-10232 - PRO: Designing Applications for Microsoft SharePoint 2010

MS-10232 - PRO: Designing Applications for Microsoft SharePoint 2010 MS-10232 - PRO: Designing Applications for Microsoft SharePoint 2010 Table of Contents Introduction Audience At Course Completion Prerequisites Microsoft Certified Professional Exams Student Materials

More information

A Vision for Operational Analytics as the Enabler for Business Focused Hybrid Cloud Operations

A Vision for Operational Analytics as the Enabler for Business Focused Hybrid Cloud Operations A Vision for Operational Analytics as the Enabler for Focused Hybrid Cloud Operations As infrastructure and applications have evolved from legacy to modern technologies with the evolution of Hybrid Cloud

More information

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Dimitrios Kourtesis, Iraklis Paraskakis SEERC South East European Research Centre, Greece Research centre of the University

More information

Dynamic Bluetooth File Sharing With Cellular Devices. Project Goals

Dynamic Bluetooth File Sharing With Cellular Devices. Project Goals Dynamic Bluetooth File Sharing With Cellular Devices Steve Brar George Chen Michael Hair Jon Wagoner Project Goals Establishing a Bluetooth connection Download application software to client Look up existing

More information

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson andreas.henriksson@ericsson.com

More information

A very short history of networking

A very short history of networking A New vision for network architecture David Clark M.I.T. Laboratory for Computer Science September, 2002 V3.0 Abstract This is a proposal for a long-term program in network research, consistent with the

More information

PROTOTYPE IMPLEMENTATION OF A DEMAND DRIVEN NETWORK MONITORING ARCHITECTURE

PROTOTYPE IMPLEMENTATION OF A DEMAND DRIVEN NETWORK MONITORING ARCHITECTURE PROTOTYPE IMPLEMENTATION OF A DEMAND DRIVEN NETWORK MONITORING ARCHITECTURE Augusto Ciuffoletti, Yari Marchetti INFN-CNAF (Italy) Antonis Papadogiannakis, Michalis Polychronakis FORTH (Greece) Summary

More information

Certification of a Scade 6 compiler

Certification of a Scade 6 compiler Certification of a Scade 6 compiler F-X Fornari Esterel Technologies 1 Introduction Topic : What does mean developping a certified software? In particular, using embedded sofware development rules! What

More information

Avio BPM Solutions and Frameworks

Avio BPM Solutions and Frameworks Avio BPM Solutions and Frameworks Avio BPM Solutions and Frameworks Avio BPM Frameworks increase the value of OracleBPM (formerly AquaLogic BPM) investments by leveraging our unmatched experience in implementation

More information

IBM Watson Ecosystem. Getting Started Guide

IBM Watson Ecosystem. Getting Started Guide IBM Watson Ecosystem Getting Started Guide Version 1.1 July 2014 1 Table of Contents: I. Prefix Overview II. Getting Started A. Prerequisite Learning III. Watson Experience Manager A. Assign User Roles

More information

SOA Best Practices (from monolithic to service-oriented)

SOA Best Practices (from monolithic to service-oriented) SOA Best Practices (from monolithic to service-oriented) Clemens Utschig - Utschig Consulting Product Manager, Oracle SOA Suite & Integration clemens.utschig@oracle.com The following

More information