Markus Völter

Size: px
Start display at page:

Download "Markus Völter"

Transcription

1 of Markus Völter

2

3 Examples 1

4 Healthcare

5 Context & Motivation Mobile Apps that help patients w/ treatments Monitor side-effects and recommend actions Manage dosage of medications

6 Context & Motivation Mobile Apps that help patients w/ treatments Monitor side-effects and recommend actions Manage dosage of medications Algorithms for recommendations and dosage at the core of these apps. Safety-critical, since they could hurt patients. Customer develops many different apps/algos like this, efficiency of algo development is key.

7 Context & Motivation Health care professionals directly code algos, using a suitable language. typical DSL-based devapproach. Avoids indirections through requirements docs. Speed up dev significantly.}pretty

8 Some Language Impressions I

9 Some Language Impressions II

10 Some Language Impressions III

11 Safety-Critical

12 Read More! Recently Accepted. Detailed Case Study will be published soon. Sneak Peek:

13 Insurance

14 Context & Motivation Specify/Program Insurance Programs Write formal code in a DSL mixed with tables and text No tool support whatsoever No testing (except inspection) No reuse No modularity No varibility

15 Context & Motivation Specify/Program Insurance Programs Write formal code in a DSL mixed with tables and text No tool support whatsoever No testing (except inspection) No reuse No modularity No varibility

16 A real Example: Legacy Specify/Program Debug Debugging directly in C Search-for-use by text search Don t trust the documents may be outdated! Insurance Programs Pixelcrap Implement C Code Write formal code in a DSL mixed with tables and text No tool support whatsoever No testing (except inspection) No reuse No modularity No varibility Printed, PDF Developer reads spec Very idiomatic implementation Dev acts as a human compiler and implements it in C

17 Solution Approach Specify/Program/Test/Debug Insurance Programs Write formal code in a DSL mixed with tables and text Now with IDE support and executable tests The same notation!

18 A real Example: Future Specify/Program/Test/Debug Insurance Programs Generate C Code Still exactly the same C code, or improved as needed. Incremental Refinement/Refactoring of languages: Partially automated migration of models Add model natural notations (insurance-specific, math) Add Support for modularity, reuse, variants

19 Salary

20 Context & Motivation Calculate Salaries + Taxes for Employees Various deployment platforms Complex Business Logic Variability over 16 States Based on evolving Law Dates & Currencies Temporal Data + Arithmetics Reactive Rules

21 Currencies and Dates

22 Temporal Data

23 Result Data and Rules

24 Approach in a Nutshell 2

25 Integration of Fachler

26 [Fachlichkeit] It s what makes a business tick. Distinguishes the business. Business Rules (Financial) Calculations Data Structures Mappings or Queries Validations Scientific Processes Contracts Processes UIs}

27 Reality

28 Goal!

29 Separation from Technology

30 Outdated Technology Fachlichkeit burried Non-Understandable Logic in implementation code. Expensive to Evolve

31 Technology & Business Logic now have connected lifecycles.

32 Goal: Separate the Lifecycles Fachlichkeit Technology

33 Lessons Learned 3

34 Notation Notation Notation

35 Math Insurance Math

36 Security Analysis Fahrtenschreiber-Regeln

37 Feature Models Component Architectures

38 Dataflow Diagrams

39 Form Style

40 Precision vs. Programming

41 {Formulas, Rules Data Structures Tables Values Precision!= Programming Performance Scalability Robustness Deployment }

42

43 A Language is not Enough

44 Language Design::More than Lang GOOD Language Abstractions Notations Great IDE Syntax Coloring Code Completion Goto Definition Analyses Relevant Good Errors GREAT Refactorings Aligned with Processes Testing Write Tests Run them Report Back Debuggers Animate Execution Simulators

45 Testing

46 Inspector Tracing the values of expressions.

47 Debugger

48 Influences on the Language

49 Language Design::Influences Domain Structure Non Functionals Permissions, IP, Sharing User Skills Sep. of Concerns Different Views Get a better tool :-) Educate, Put results in context Refactor towards Structure Model Purpose Analyze, Generate Tool Capabilities Notations, Editing, Scale Software Engineering Practices

50 Language Design::Influences Domain Structure Non Functionals Permissions, IP, Sharing User Skills Sep. of Concerns Different Views Get a better tool :-) Educate, Put results in context Refactor towards Structure Model Purpose Analyze, Generate Tool Capabilities Notations, Editing, Scale Software Engineering Practices

51 In conflict with Agile?

52 DSLs and Agile is in Conflict. 1 Project Language Development Depend on, use System Development Later: 2 Project 1 Language Development Dep d on, use Project 2 System Development Project N

53 DSLs and Agile is in Conflict. 1 Project Language Development Depend on, use System Development Framework Library Platform Manage like any other intra-project dependency. Evolution of client code is easier than for F/L/P because of migration support!

54 DSLs and Agile is in Conflict. Later: 2 Project 1 Language Development Framework Library Platform Dep d on, use Project 2 System Development Manage like any other 3rd party depencency: Development Roadmap Issue Tracker Release Notes...

55 DSLs and Agile is in Conflict. 3 Project 2 System Development Models and DSLs are an Enabler for Agility: Integration of Domain Experts Living Requirements Decoupled Fachlichkeit & Technik

56 DSLs and Agile is in Conflict. 4 Project 1 Language Development Leading LWBs are so productive, you can literally sit with the domain experts and interactively prototype languages (and then clean up later) I ve looked at the implementation of the language in MPS, but I didn t find much. Is this all there is? Where s the magic? [Customer]

57 DSLs and Agile is in Conflict. 4 Project 1 Language Development Leading LWBs are so productive, you can literally sit with the domain experts and interactively prototype languages (and then clean up later) I ve looked at the implementation of the language in MPS, but I didn t find much. Is this all there is? Where s the magic? [Customer] Analyze Build Try out Cleanup Stabilize 1 hour Validate 1 to 3 days

58 Skills?

59 Organizations do not have the necessary skills. True. But... Big AI Data R E S T

60 Organizations do not have the necessary skills. True. But... Big AI Data R E S T So built it. Evolve. Hire. Buy.

61 Separation of concerns is key to avoid the legacy trap DSLs can isolate business logic completely from technical concerns DSLs can help integrate domain experts with communication/review or even coding Language Workbenches enable DSLs and MPS is by far the best one! Migrating to a new LWB is feasible b/c semantics of all models are known, by definition.

Let s build. like they build. Markus Völter Bernd Kolb

Let s build. like they build. Markus Völter Bernd Kolb Let s build like they build Markus Völter voelter@acm.org www.voelter.de @markusvoelter Bernd Kolb kolb@itemis.de www.itemis.de @berndkolb B 0 Motivation Examples 1 M Healthcare Context & Motivation Mobile

More information

DESIGN, EVOLUTION AND USE

DESIGN, EVOLUTION AND USE DESIGN, EVOLUTION AND USE of KernelF voelter@acm.org www.voelter.de @markusvoelter Markus Völter Check out the paper! http://voelter.de/data /pub/kernelf-icmt.pdf EXAMPLE 1 Healthcare 1 Context Mobile

More information

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES

More information

10 Thoughts 2 Demos * Discussions

10 Thoughts 2 Demos * Discussions Developing Embedded software with Language Workbenches Stuttgart, 20.09.2011 Markus Voelter Independent/itemis voelter@acm.org 10 Thoughts 2 Demos * Discussions 1 1 Embedded Development Two Classes in

More information

Declarative. Contracts

Declarative. Contracts Declarative Smart Contracts Markus Völter voelter@acm.org www.voelter.de @markusvoelter 1 Context SMART An actual contract, executed automatically. CONTRACT Any Turing Complete Program running on a Blockchain.

More information

Domain Specific Languages. Requirements (Engineering)

Domain Specific Languages. Requirements (Engineering) Domain Specific Languages and Requirements (Engineering) Andreas Graf Andreas.graf@itemis.de Markus Voelter www.voelter.de voelter@acm.org What are Requirements? a requirement is a singular documented

More information

Domain Specific Languages. Product Line Engineering

Domain Specific Languages. Product Line Engineering Using Domain Specific Languages in the context of Product Line Engineering Markus Voelter Independent/itemis voelter@acm.org Using Domain Specific Languages in the context of Product Line Engineering DSLs

More information

Language Shapes (Architectural) Thought Markus Völter

Language Shapes (Architectural) Thought Markus Völter Language Shapes (Architectural) Thought Markus Völter voelter@acm.org www.voelter.de @markusvoelter Language Shapes (Architectural) Thought Sapir Whorf hypothesis aka Whorfianism The principle of linguis;c

More information

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

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

More information

Language Extension and Composition with Language Workbenches

Language Extension and Composition with Language Workbenches Language Extension and Composition with Language Workbenches Eelco Visser TU Delft E.Visser@tudelft.nl Markus Voelter Independent/itemis voelter@acm.org Different Worlds Programming Tools!= Modeling Tools

More information

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

A conceptual framework for building good DSLs. Markus Voelter independent/itemis DSL Design A conceptual framework for building good DSLs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter based on material from a

More information

Frustrated by all the hype?

Frustrated by all the hype? Fundamentals of Software Architecture Looking beyond the hype Markus Völter (voelter@acm.org) Introduction Frustrated by all the hype? If so this presentation is for you. Otherwise you should leave People

More information

What are Requirements?

What are Requirements? Domain Specific Languages and Requirements (Engineering) Markus Voelter www.voelter.de voelter@acm.org What are Requirements? 1 a requirement is a singular documented need of what a particular product

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Model Driven Development with xtuml and BridgePoint

Model Driven Development with xtuml and BridgePoint Model Driven Development with xtuml and BridgePoint xtuml Executable and Translatable UML Unified Modeling Language Industry standard notation Family of languages Executable UML Defines a method, including:

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Automated Testing of DSL Implementations

Automated Testing of DSL Implementations Software Quality Journal manuscript No. (will be inserted by the editor) Automated Testing of DSL Implementations Experiences from Building mbeddr Daniel Ratiu Markus Voelter Domenik Pavletic Received:

More information

Better Stories, Better Languages

Better Stories, Better Languages Better Stories, Better Languages What Would Alyssa P. Hacker Do? François-René Rideau, TUNES Project Bay Area Lispers, 2009-12-29 http://fare.tunes.org/computing/bal2009.pdf 1 The Take Home Points Software

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

The PISA Project A Model Driven Development case study

The PISA Project A Model Driven Development case study In collaboration with The PISA Project A Model Driven Development case study Pedro J. Molina, PhD. May 19 th, 2007 Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found

More information

THE USE OF APL IN SIMCORP DIMENSION

THE USE OF APL IN SIMCORP DIMENSION THE USE OF APL IN SIMCORP DIMENSION NIELS HALLENBERG RELEASE TRAIN ENGINEER, DIRECTOR DYALOG 16, GLASGOW OUTLINE DYALOG 16 2016-10-12 SimCorp at a Glance People in Development Current Technology Stack

More information

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering PPL 2009 Keynote Markus Voelter Indepenent/itemis voelter@acm.org http://www.voelter.de Language Workbenches in Product Line Engineering Variability in PLE Language Workbenches in Domain Specific Languages

More information

Programming Languages

Programming Languages Trends in Programming Languages ICALEPCS 2011 Markus Voelter Independent/itemis voelter@acm.org A single language to rule them all An ecosystem of languages An ecosystem of languages The Pendulum Swings

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Language Workbenches, Embedded Software and Formal Verification

Language Workbenches, Embedded Software and Formal Verification Language Workbenches, Embedded Software and Formal Verification Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter Daniel Ratiu ForTISS

More information

Chapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science

Chapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science Chapter 9 Introduction to High-Level Language Programming INVITATION TO Computer Science 1 Objectives After studying this chapter, students will be able to: Explain the advantages of high-level programming

More information

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

Product. e ss. P roc. so get the right requirements. Garbage in garbage out, If software is simply for automation, what would a washing machine be like? 1 RE Process Lawrence Chung Department of Computer Science The University of Texas at Dallas 2 RE Process: What is a Process?

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 7: Software Processes. Refresher: Software Always Evolves Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)

More information

Modeling pilot project at Ericsson Expert Analytics

Modeling pilot project at Ericsson Expert Analytics Modeling pilot project at Ericsson Expert Analytics Gábor Ferenc Kovács, Gergely Dévai ELTE-Soft, ELTE University, Ericsson Ericsson Modeling Days, Stockholm, 13-14 September 2016 Overview Background of

More information

FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION

FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION The process of planning and executing SQL Server migrations can be complex and risk-prone. This is a case where the right approach and

More information

Business Rules-Based Test Automation: A novel approach for accelerated testing

Business Rules-Based Test Automation: A novel approach for accelerated testing Business Rules-Based Test Automation: A novel approach for accelerated testing Traditional ways of test automation are giving ways to newer paradigms - Bharath Anand R., Harish Krishnankutty, Kaushik Ramakrishnan,

More information

Augmented Reality App Helps Customers Choose The Right Product

Augmented Reality App Helps Customers Choose The Right Product Augmented Reality App Helps Customers Choose The Right Product Using augmented reality, Globant is helping consumers find various first-aid products through smart connected devices that help users locate

More information

Software Maintenance. Maintenance is Inevitable. Types of Maintenance. Managing the processes of system change

Software Maintenance. Maintenance is Inevitable. Types of Maintenance. Managing the processes of system change Software Maintenance Managing the processes of system change Maintenance is Inevitable The system requirements are likely to change while the system is being developed because the environment is changing.

More information

Enterprise)Cloud) Computing)Unlocks)Deep) Strategic)Value)Through) Increased)Business)Agility:) LEADING ADOPTERS REAP MORE BENEFITS

Enterprise)Cloud) Computing)Unlocks)Deep) Strategic)Value)Through) Increased)Business)Agility:) LEADING ADOPTERS REAP MORE BENEFITS Enterprise)Cloud) Computing)Unlocks)Deep) Strategic)Value)Through) Increased)Business)Agility:) LEADING ADOPTERS REAP MORE BENEFITS Business Benefits of Public Cloud More Cloud, More Business Value 79%

More information

Testing DSLs How to test DSLs, their IDEs and Programs

Testing DSLs How to test DSLs, their IDEs and Programs Testing DSLs How to test DSLs, their IDEs and Programs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter A DSL is a focussed, processable

More information

EU mhealth Working Group

EU mhealth Working Group EU mhealth Working Group 500 million users 45000 publishers 5% of total app market 3bn downloads Status Guidelines for assessing reliability & validity Lots of work on Scope, Target Group & Criteria https://ec.europa.eu/digital-single-market/en/mhealth

More information

Software re-engineering

Software re-engineering Software re-engineering Reorganising and modifying existing software systems to make them more maintainable Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 28 Slide 1 Objectives To explain

More information

Accelerate your Azure Hybrid Cloud Business with HPE. Ken Won, HPE Director, Cloud Product Marketing

Accelerate your Azure Hybrid Cloud Business with HPE. Ken Won, HPE Director, Cloud Product Marketing Accelerate your Azure Hybrid Cloud Business with HPE Ken Won, HPE Director, Cloud Product Marketing Mega trend: Customers are increasingly buying cloud services from external service providers Speed of

More information

DSL Implementation. ... with language Workbenches. v1.1 Jan 16, Markus Voelter independent/itemis

DSL Implementation. ... with language Workbenches. v1.1 Jan 16, Markus Voelter independent/itemis DSL Implementation... with language Workbenches. v1.1 Jan 16, 2013 Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter Last Year s Talk

More information

SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR

SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR 29.10.2013 SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR Stefan Schmierer Markus Völter, Bernd Kolb CONTEXT. WHAT IS MBEDDR? An extensible set of integrated languages for embedded so3ware

More information

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice CATCH ERRORS BEFORE THEY HAPPEN Lessons for a mature data governance practice A guide to working with cross-departmental teams to establish proactive data governance for your website or mobile app. 2 Robust

More information

Model Driven Engineering in High Tech Industry

Model Driven Engineering in High Tech Industry Model Driven Engineering in High Tech Industry Mark van den Brand LUCAS-dagen, Lund, October 2016 Short introduction of myself 1992-1997: Assistant professor at UvA (NL) 1997-2005: Senior researcher at

More information

Domain-Specific Languages Language Workbenches

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

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

YBS ORACLE FORMS APPLICATION STRATEGY IN A SOA WORLD

YBS ORACLE FORMS APPLICATION STRATEGY IN A SOA WORLD 07/05/2015 YBS ORACLE FORMS APPLICATION STRATEGY IN A SOA WORLD Created by: Graham Brown, Application Architecture Manager Public AGENDA Background to Yorkshire Building Society History of YBS Oracle Forms

More information

Requirements Management Made Simple - 5 Easy Steps

Requirements Management Made Simple - 5 Easy Steps w i t h Requirements Management Made Simple - 5 Easy Steps Jiri Walek VP Product Management 1 Poor Requirements Management 2 nd main cause for project failures. PMI: Pulse of Profession 2015 48% Overall

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

1Copyright 2012, Oracle and/or its affiliates. All rights reserved.

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Patterns of SaaS: Database refactoring Leonid Igolnik, Marcin Burlinski Insert Picture Here The following is intended to outline our

More information

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools e-pg Pathshala Subject : Computer Science Paper : Software Quality Management Module : CASE Tools Module No: Quadrant 1: CS/SQM/26 e-text An increasing variety of specialized computerized tools (actually

More information

Java Programming Unit 3: Variables and Arithmetic Operations

Java Programming Unit 3: Variables and Arithmetic Operations Java Programming Unit 3: Variables and Arithmetic Operations Bensalem Township School District Standards Link: PA State Standards for Business Education: http://www.pdesas.org/standard/views#114,115,116,117

More information

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization WHITEPAPER Embracing Containers & Microservices for future-proof application modernization The need for application modernization: Legacy applications are typically based on a monolithic design, which

More information

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas 1 RE Process Lawrence Chung Department of Computer Science The University of Texas at Dallas 2 RE Process: What is a Process? Given input, transforms it into output Consist of a set of activities Process

More information

Verification and Validation

Verification and Validation Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation

More information

The Future of Testing: Continuous Enterprise Testing

The Future of Testing: Continuous Enterprise Testing The Future of Testing: Continuous Enterprise Testing ANZTB Test Conference, Canberra, 1 June 2018 Thomas Hadorn. Dev Ops Years Months Months Weeks Delivery Cycle Time Weeks Days Perceived Disruption Software

More information

Testing and Debugging

Testing and Debugging Testing and Debugging (Reminder) Zuul Assignment Two deliverables: Code (to your submission folder by 23:59) Report (to your submission folder or hard copy to the CAS office by 4pm) Deadline is Tuesday,

More information

SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING

SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING Martin Sturm, Sylke Rosenplaenter SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING From Concept to Deployment Vehicle Design Operations & System Development GM Europe Engineering Adam Opel AG www.opel.com

More information

COURSE LISTING. Courses Listed. with ABAP Dialog Programming. 25 December 2017 (08:57 GMT) NW001 - SAP NetWeaver - Overview

COURSE LISTING. Courses Listed. with ABAP Dialog Programming. 25 December 2017 (08:57 GMT) NW001 - SAP NetWeaver - Overview with ABAP Dialog Programming Courses Listed NW001 - SAP NetWeaver - Overview SAPTEC - SAP NetWeaver Application Server Fundamentals BC100 - ( ABAP) BC100E - Introduction to Programming with ABAP BC400

More information

Please give me your feedback

Please give me your feedback #HPEDiscover Please give me your feedback Session ID: B4385 Speaker: Aaron Spurlock Use the mobile app to complete a session survey 1. Access My schedule 2. Click on the session detail page 3. Scroll down

More information

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Copyright Khronos Group Page 1. Vulkan Overview. June 2015 Copyright Khronos Group 2015 - Page 1 Vulkan Overview June 2015 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon Open Consortium creating OPEN STANDARD APIs for hardware acceleration

More information

Systems Engineering for Software-Defined Network Virtualisation. John Risson, Solutions Engineering Manager IP and Transport Engineering, Telstra

Systems Engineering for Software-Defined Network Virtualisation. John Risson, Solutions Engineering Manager IP and Transport Engineering, Telstra Systems Engineering for Software-Defined Network Virtualisation John Risson, Solutions Engineering Manager IP and Transport Engineering, Telstra Agenda Motivation Case Studies Opportunities and Challenges

More information

Test-driven development

Test-driven development Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects

More information

A Better Approach to Leveraging an OpenStack Private Cloud. David Linthicum

A Better Approach to Leveraging an OpenStack Private Cloud. David Linthicum A Better Approach to Leveraging an OpenStack Private Cloud David Linthicum A Better Approach to Leveraging an OpenStack Private Cloud 1 Executive Summary The latest bi-annual survey data of OpenStack users

More information

Key Ideas. OO Analysis and Design Foundation. Objectives. Adapted from slides 2005 John Wiley & Sons, Inc.

Key Ideas. OO Analysis and Design Foundation. Objectives. Adapted from slides 2005 John Wiley & Sons, Inc. Slide 1 Information Systems Development COMM005 (CSM03) Autumn Semester 2009 Dr. Jonathan Y. Clark Email: j.y.clark@surrey.ac.uk Course Website: www.computing.surrey.ac.uk/courses/csm03/isdmain.htm Course

More information

Using C Language Extensions for Developing Embedded So:ware - A Case Study

Using C Language Extensions for Developing Embedded So:ware - A Case Study Using C Language Extensions for Developing Embedded So:ware - A Case Study Markus Völter Arie van Deursen Stephan Eberle Bernd Kolb voelter@acm.org Arie.vanDeursen@tudel:.nl stephan.eberle@itemis.com Bernd.kolb@itemis.de

More information

SOA = Same Old Architecture?

SOA = Same Old Architecture? SOA = Same Old Architecture? Gregor Hohpe Software Engineer www.eaipatterns.com Could It Be So Easy? WSDL SOAP WS-* Int MyMethod(String text) { } WebMethod Cut Copy Paste Buzzword compliant, but not a

More information

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering

More information

COURSE LISTING. Courses Listed. Training for Database & Technology with Development in ABAP Dialog Programming. Beginner. Intermediate.

COURSE LISTING. Courses Listed. Training for Database & Technology with Development in ABAP Dialog Programming. Beginner. Intermediate. Training for Database & Technology with Development in ABAP Dialog Programming Courses Listed Beginner NW001 - SAP NetWeaver - Overview Intermediate SAPTEC - Technology Fundamentals for SAP S/4HANA and

More information

Requirements Validation and Negotiation

Requirements Validation and Negotiation REQUIREMENTS ENGINEERING LECTURE 2015/2016 Eddy Groen Requirements Validation and Negotiation AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

Reengineering II. Transforming the System

Reengineering II. Transforming the System Reengineering II Transforming the System Recap: Reverse Engineering We have a detailed impression of the current state We identified the important parts We identified reengineering opportunities We have

More information

Network File System (NFS)

Network File System (NFS) Network File System (NFS) Brad Karp UCL Computer Science CS GZ03 / M030 19 th October, 2009 NFS Is Relevant Original paper from 1985 Very successful, still widely used today Early result; much subsequent

More information

CASE STUDY INSIGHTS: MICRO-SEGMENTATION TRANSFORMS SECURITY. How Organizations Around the World Are Protecting Critical Data

CASE STUDY INSIGHTS: MICRO-SEGMENTATION TRANSFORMS SECURITY. How Organizations Around the World Are Protecting Critical Data CASE STUDY INSIGHTS: MICRO-SEGMENTATION TRANSFORMS SECURITY How Organizations Around the World Are Protecting Critical Data The Growing Risk of Security Breaches Data center breaches are nothing new but

More information

Amyyon customers can t wait to get their hands on it s new application, developed in Uniface.

Amyyon customers can t wait to get their hands on it s new application, developed in Uniface. customers can t wait to get their hands on it s new application, developed in Uniface. 1 CUSTOMER SECTOR Information Technology COUNTRY Netherlands CHALLENGE Migrate the rich functionality of a client/server

More information

Network File System (NFS)

Network File System (NFS) Network File System (NFS) Brad Karp UCL Computer Science CS GZ03 / M030 14 th October 2015 NFS Is Relevant Original paper from 1985 Very successful, still widely used today Early result; much subsequent

More information

Runtime code generation techniques in real life scenarios

Runtime code generation techniques in real life scenarios Runtime code generation techniques in real life scenarios Raffaele Rialdi Senior Software Architect Microsoft MVP @raffaeler https://github.com/raffaeler http://iamraf.net Abstract The runtime code generation

More information

The Emerging Data Lake IT Strategy

The Emerging Data Lake IT Strategy The Emerging Data Lake IT Strategy An Evolving Approach for Dealing with Big Data & Changing Environments bit.ly/datalake SPEAKERS: Thomas Kelly, Practice Director Cognizant Technology Solutions Sean Martin,

More information

21ST century enterprise. HCL Technologies Presents. Roadmap for Data Center Transformation

21ST century enterprise. HCL Technologies Presents. Roadmap for Data Center Transformation 21ST century enterprise HCL Technologies Presents Roadmap for Data Center Transformation june 2016 21st Century Impact on Data Centers The rising wave of digitalization has changed the way IT impacts business.

More information

Accelerate Digital Transformation

Accelerate Digital Transformation Accelerate Digital Transformation 2018 Vilnius Darius Spaičys 2017 VMware Inc. All rights reserved. EMEA Public Sector IT Market EMEA North Central Southern 158 Bio Euros 52 % 24 % 24 % USA : 186 Bio

More information

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Plan for the Day Introduction

More information

Working with JavaScript

Working with JavaScript Working with JavaScript Creating a Programmable Web Page for North Pole Novelties 1 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page 2 Objectives

More information

Software Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Week 5 Refactoring What is Refactoring? Code Smells Why Refactoring? Techniques IDEs What is Refactoring? Art of improving the design of existing code

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 INFORMATION TECHNOLOGY COURSE DESCRIPTION FORM Course Title Course Code Regulation Course Structure Course Coordinator SOFTWARE

More information

UPGRADING DEVELOPMENT SKILLS

UPGRADING DEVELOPMENT SKILLS RSM TECHNOLOGY ACADEMY Syllabus and Agenda UPGRADING DEVELOPMENT SKILLS FOR MICROSOFT DYNAMICS 365 FOR OPERATIONS Course Details 3 Audience 3 At Course Completion 3 Course Cancellation Policy 4 Guaranteed

More information

SALESFORCE CERTIFIED PLATFORM DEVELOPER I

SALESFORCE CERTIFIED PLATFORM DEVELOPER I Certification Exam Guide SALESFORCE CERTIFIED PLATFORM DEVELOPER I Winter 18 2017 Salesforce.com, inc. All rights reserved. S ALESFORCE CERTIFIED PLATFORM DEVELOPER I CONTENTS About the Salesforce Certified

More information

A software modularity metric Joost Zonneveld Bram Schoenmakers

A software modularity metric Joost Zonneveld Bram Schoenmakers A software modularity metric Joost Zonneveld Bram Schoenmakers 2016-02-02 ASML In 40 Seconds Slide 2 New devices, new applications Slide 3 Wearable sensors (Holst Centre) Imaging drone to monitor crop

More information

MODERNIZE YOUR DATA CENTER. With Cisco Nexus Switches

MODERNIZE YOUR DATA CENTER. With Cisco Nexus Switches MODERNIZE YOUR DATA CENTER With Cisco Nexus Switches TABLE OF CONTENTS TABLE OF CONTENTS Data Center Needs are Changing Cisco Nexus Switches Lead the Transition to a Next Generation Data Center Outcomes

More information

Ohio Living Experiences Superior Security & Support with Zix

Ohio Living Experiences Superior Security & Support with Zix / CASE STUDY Ohio Living Experiences Superior Security & Support with Zix Learn how Ohio Living uses the full Zix solution suite to meet all of its email security needs Ohio Living Ohio Living serves more

More information

Testing. Topics. Types of Testing. Types of Testing

Testing. Topics. Types of Testing. Types of Testing Topics 1) What are common types of testing? a) Testing like a user: through the UI. b) Testing like a dev: through the code. 2) What makes a good bug report? 3) How can we write code to test code (via

More information

REALIZE YOUR. DIGITAL VISION with Digital Private Cloud from Atos and VMware

REALIZE YOUR. DIGITAL VISION with Digital Private Cloud from Atos and VMware REALIZE YOUR DIGITAL VISION with Digital Private Cloud from Atos and VMware Today s critical business challenges and their IT impact Business challenges Maximizing agility to accelerate time to market

More information

Windows Azure Solutions with Microsoft Visual Studio 2010

Windows Azure Solutions with Microsoft Visual Studio 2010 Windows Azure Solutions with Microsoft Visual Studio 2010 Course No. 50466 3 Days Instructor-led, Hands-on Introduction This class is an introduction to cloud computing and specifically Microsoft's public

More information

Software Engineering

Software Engineering CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang : Introduction Wednesday, January 18 th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Software Engineering Software

More information

Product Quality Engineering. RIT Software Engineering

Product Quality Engineering. RIT Software Engineering Product Quality Engineering Q vs q Quality includes many more attributes than just absence of defects Features Performance Availability Safety Security Reusability Extensibility Modifiability Portability

More information

Microsoft SharePoint Online for Administrators

Microsoft SharePoint Online for Administrators 1800 ULEARN (853 276) www.ddls.com.au Microsoft 55238 - SharePoint Online for Administrators Length 3 days Price $2750.00 (inc GST) Version A Overview This course will introduce the audience to SharePoint

More information

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

CompuScholar, Inc. Alignment to Nevada Computer Science Course Standards CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards Nevada Course Details: Course Name: Computer Science Primary Cluster: Information and Media Technologies Standards Course Code(s):

More information

Towards collaborative Blender design through annotation sharing

Towards collaborative Blender design through annotation sharing Towards collaborative Blender design through annotation sharing Thierry Jacquin, Jean-Pierre Chanod Document Structure Xerox Research Centre Europe Presentation Overview Introduction Creative intent in

More information

SALESFORCE CERTIFIED PLATFORM DEVELOPER I

SALESFORCE CERTIFIED PLATFORM DEVELOPER I Certification Exam Guide SALESFORCE CERTIFIED PLATFORM DEVELOPER I Winter 19 2018 Salesforce.com, inc. All rights reserved. S ALESFORCE CERTIFIED PLATFORM DEVELOPER I CONTENTS About the Salesforce Certified

More information

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do? Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.

More information

GENERAL DATA PROTECTION REGULATION (GDPR) CLIENT INFORMATION GENERAL DATA PROTECTION REGULATION CLIENT INFORMATION

GENERAL DATA PROTECTION REGULATION (GDPR) CLIENT INFORMATION GENERAL DATA PROTECTION REGULATION CLIENT INFORMATION GENERAL DATA PROTECTION REGULATION (GDPR) CLIENT INFORMATION GENERAL DATA PROTECTION REGULATION CLIENT INFORMATION Compliant since 2017 Effective communication is based on relevancy and respect We see

More information