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

Size: px
Start display at page:

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

Transcription

1 Let s build like they build Markus Völter voelter@acm.org Bernd Kolb kolb@itemis.de

2 B 0 Motivation

3

4 Examples 1

5 M Healthcare

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

7 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.

8 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

9 Some Language Impressions I

10 Some Language Impressions II

11 Some Language Impressions III

12 B Insurance

13 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

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 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

16 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!

17 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

18 M Salary

19 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

20 Currencies and Dates

21 Temporal Data

22 Result Data and Rules

23 Result Data and Rules

24 IDE Support

25 B 2 Approach in a Nutshell

26 Integration of Fachler

27 [Business Knowledge] 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}

28 [Business Knowledge] It s what makes a business tick. Distinguishes the business. Contributed not by developers... but typically implemented in software

29 [Business Knowledge] SO HOW DOES IT GET INTO THE SOFTWARE? Contributed not by developers... but typically implemented in software

30 Reality

31 Goal!?

32 Let Business/Domain people contribute directly! Give them expressive, productive tools to do so!

33 Expressivity for Core Domain Knowledge User-Friendly Notation Great Tool/IDE Testing Meaningful Analyses Synthesis of Software

34 B Separation from Technology

35 Outdated Technology Obscure Business Logic

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

37 Technology & Business Logic now have connected lifecycles.

38 Goal: Separate the Lifecycles Fachlichkeit Technology

39 M 3 Technical

40

41 Business Logic Outdated Technology Non-Understandable Logic Expensive to Evolve

42 Metamodel for Business Logic Clearly defined data structure to express all business-relevant structures, behaviors and non-functional concerns.

43 Metamodel for Business Logic {Data Structures Behavioral Rules Expressions Validations Special Types (eg. temporal)...

44 Metamodel for Business Logic {Data Structures Behavioral Rules Expressions Validations Special Types (eg. temporal)... Domains often have a rich language/vocabulary anyway; it just needs to be formalized. (DDD: Ubiquituous Languge)

45 Metamodel for Business Logic Semantics Clearly defined data structure to express all business-relevant structures, behaviors and non-functional concerns. Well-defined meaning of this data structure

46 Metamodel for Business Logic Semantics Clearly defined data structure to express all business-relevant structures, behaviors and non-functional concerns. Well-defined meaning of this data structure IDE Support is possible Evolution is possible Portability is possible Type Checking Solver-Integration Model Checking Contracts

47 Metamodel for Business Logic Semantics Clearly defined data structure to express all business-relevant structures, behaviors and non-functional concerns. Well-defined meaning of this data structure Execution Engine Tech Infrastructure Technical Platform for correct, efficient and scalable execution

48 Metamodel for Business Logic Semantics Clearly defined data structure to express all business-relevant structures, behaviors and non-functional concerns. Well-defined meaning of this data structure generate code, deploy generate code, deploy transfer data, interpret transfer data, interpret Tech Infrastructure Technical Platform for correct, efficient and scalable execution

49 Metamodel for Business Logic Semantics generate code, deploy transfer data, interpret Tech Infrastructure

50 Metamodel for Business Logic Syntax Semantics L a n g u a g e generate code, deploy transfer data, interpret Tech Infrastructure

51 Metamodel for Business Logic Syntax Semantics generate code, deploy transfer data, interpret L a n g u a g e Syntax is critically important for Productivity Communication and Review Domain Expert Integration Only Buttons and Forms don t work! Tech Infrastructure

52 Metamodel for Business Logic Syntax Semantics L a n g u a g e generate code, deploy transfer data, interpret Tech Infrastructure

53 Metamodel for Business Logic Syntax Semantics generate code, deploy transfer data, interpret L a n g u a g e L a n g u a g e W o r b e n c h Tech Infrastructure

54 A Language Workbench a tool for defining, composing and using ecosystems of languages.

55 Other Language Workbenches TU Delft itemis/typefox Rascal CWI Amsterdam The Whole Platform Solmi/Persiani

56

57 Lessons Learned 4

58 B A Language is not Enough

59 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

60 B Notation Notation Notation

61 Math Insurance Math

62 Feature Models Component Architectures

63 Dataflow Diagrams

64 Form Style

65 Form Style Fixed DS

66 M Influences on the Language

67 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

68 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

69 M How to make People precise?

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

71 B Does this scale?

72 Does the approach scale? If structure, formalization, and tool support don t scale, then what will?? What are the alternatives? Excel? Wikis? Prose Documents?

73 Do the tools scale? In terms of overall system size? Yes, the system has to be broken down into models of manageable size, as usual. This requires some thought. In terms of team size? Yes, since we rely on established version control systems (git) to deal with groupware aspects; and yes, diff/merge works as expected. In terms of language complexity? Yes, in particular, since you can modularize the language definitions.

74 Can I find the people to do this? Yes, but it is a significant change, so: - it may be a significant education/training effort. - a few people might not get it - a few people may not want to do it.

75 B This is a threat!

76 Precision and Formality Different Processes Higher Efficiency -> New Skills -> Role Change -> Job Loss Automation Focus on Engineering Empower Business Ppl -> Job Loss -> Role Change -> Less Importance

77 Some people are afraid of this. Take them seriously.

78 A change of that must be managed!

79 M Is this the next legacy system?

80 Today s software is tomorrow s legacy system. Or is it?

81 Today s software is tomorrow s legacy system. Business change is hard Technology change is hard Separation of Concerns Keep BL free of technology Make it portable

82 Language Tech 1 V1 Generator 1 Runtime T 1

83 Language Tech 1 V1 V2 V3... Generator 1 Evolution Runtime T 1 Existing models become incompatble with new language Þ Language Versions Migration Scripts

84 Language Tech 1 V1 V2 V3... Evolution Generator 1 Runtime T 1 Generator 2 Runtime T 2 Retargetting Runtime Tech outdated, uncool or slow Þ Keep Lang Technology Keep Models Build new Generator

85 Migration Language Tech 1 Language Tech 2 V1 V2 V3... V4 V5 V Generator 1 Runtime T 1 Evolution Generator 2 Generator 3 Runtime T 2 Evolution Retargetting Language Tech outdated, uncool Þ Build new Tool Migrate Data Simple, because it well-defined domain semantics and free from technology stuff

86 Today s software is tomorrow s legacy system. No, it is not.

87 M In conflict with Agile?

88 MD* 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

89 MD* 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!

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

91 MD* 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

92 MD* 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]

93 MD* 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] Analyz e Build 1 hour Try out Cleanu p Stabiliz e Validat e 1 to 3 days

94 B Skills?

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

96 M Rockets????

97

98 Further domain-specific extensions to C. Developed by end-user lang engineer.

99 Infrastructure Specifics in C

100 Infrastructure Specifics in C

101 Generated Documentation

102 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 by reducing effort to build, compose and maintain them Migrating to a new LWB is feasible b/c semantics of all models are known, by definition.

Markus Völter

Markus Völter of Markus Völter voelter@acm.org www.voelter.de @markusvoelter Examples 1 Healthcare Context & Motivation Mobile Apps that help patients w/ treatments Monitor side-effects and recommend actions Manage

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

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

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

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

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

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 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

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

The SD-WAN security guide

The SD-WAN security guide The SD-WAN security guide How a flexible, software-defined WAN can help protect your network, people and data SD-WAN security: Separating fact from fiction For many companies, the benefits of SD-WAN are

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

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

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

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

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

iserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate

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

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

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

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

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

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

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

DELL POWERVAULT MD FAMILY MODULAR STORAGE THE DELL POWERVAULT MD STORAGE FAMILY

DELL POWERVAULT MD FAMILY MODULAR STORAGE THE DELL POWERVAULT MD STORAGE FAMILY DELL MD FAMILY MODULAR STORAGE THE DELL MD STORAGE FAMILY Simplifying IT The Dell PowerVault MD family can simplify IT by optimizing your data storage architecture and ensuring the availability of your

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) Let s see it in action (demo) Kickstarting a project using

More information

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology ArchiMate Core Structural Concepts Behavioral Concepts Informational Concepts interaction Technology Application Layer Concept Description Notation Concept Description Notation Actor An organizational

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

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

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

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

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

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

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

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

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer http://ewolff.com Why Microservices? Why Microservices? Strong modularization Replaceability Small units Sustainable Development

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

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

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

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc. The Model Driven (R)evolution Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc. Modeling Changes Everything! Throw out those pesky objects! Toss away your silly compilers! No more

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

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

<Insert Picture Here> Oracle Policy Automation Connector For Siebel Features and Benefits

<Insert Picture Here> Oracle Policy Automation Connector For Siebel Features and Benefits Oracle Policy Automation Connector For Siebel 10.3.0 Features and Benefits September 2011 Using OPA with Siebel Why? Keep business logic separate from Siebel: Make rule changes while

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

Healthcare IT Optimization: 6 Mistakes to Avoid Along the Way

Healthcare IT Optimization: 6 Mistakes to Avoid Along the Way Healthcare IT Optimization: 6 Mistakes to Avoid Along the Way Healthcare IT: Transforming for tomorrow s needs Healthcare organizations face a sea of change in what will soon be required of them. Great

More information

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications By, Janakiram MSV Executive Summary Application development has gone through a fundamental shift in the recent past.

More information

Expert Guidance on Migrating from Magento 1 to Magento 2

Expert Guidance on Migrating from Magento 1 to Magento 2 Expert Guidance on Migrating from Magento 1 to Magento 2 Gordon Knoppe Business Solutions Architect, ECG James Cowie Technical Architect, ECG Expert Consulting Group ECG Charter: To provide expert insight,

More information

Shift Left Testing: are you ready? Live Webinar, Sept 19

Shift Left Testing: are you ready? Live Webinar, Sept 19 Shift Left Testing: are you ready? Live Webinar, Sept 19 Guy Arieli CTO, Experitest 01 What exactly is Shift Left? Agenda 02 03 How Shift Left affects application development & testing organizational structures

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

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

10 Cloud Myths Demystified

10 Cloud Myths Demystified 10 Cloud s Demystified The Realities for Digital Healthcare Transformation It s a challenging time for the healthcare industry, with changing regulations, consolidation and the consumerization of healthcare

More information

Why is Office 365 the right choice?

Why is Office 365 the right choice? Why is Office 365 the right choice? People today want to be productive wherever they go. They want to work faster and smarter across their favorite devices, while staying current and connected. Simply

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

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

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

Maturing agile teams and driving quality through architecture principles

Maturing agile teams and driving quality through architecture principles Maturing agile teams and driving quality through architecture principles Amine Chigani & Yun Freund GE Software San Ramon, CA Imagination at work Introducing the GE Software Center Igniting the next industrial

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

Projecting a Modular Future

Projecting a Modular Future Projecting a Modular Future Markus Voelter 1, Jos Warmer 2, and Bernd Kolb 3 1 independent/itemis, voelter@acm.org 2 independent, jos.warmer@openmodeling.nl 3 itemis, bernd.kolb@itemis.de Abstract. We

More information

SUSE s vision for agile software development and deployment in the Software Defined Datacenter

SUSE s vision for agile software development and deployment in the Software Defined Datacenter From Git to Cloud SUSE s vision for agile software development and deployment in the Software Defined Datacenter Joachim Werner Senior Product Manager joe@suse.com Peter Chadwick Director Product Management

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

1. Introduction to the Common Language Infrastructure

1. Introduction to the Common Language Infrastructure Miller-CHP1.fm Page 1 Wednesday, September 24, 2003 1:50 PM to the Common Language Infrastructure The Common Language Infrastructure (CLI) is an International Standard that is the basis for creating execution

More information

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases Cisco CloudCenter Solution with Cisco ACI: Common Use Cases Cisco ACI increases network security, automates communication policies based on business-relevant application requirements, and decreases developer

More information

Evolution For Enterprises In A Cloud World

Evolution For Enterprises In A Cloud World Evolution For Enterprises In A Cloud World Foreword Cloud is no longer an unseen, futuristic technology that proves unattainable for enterprises. Rather, it s become the norm; a necessity for realizing

More information

Think like an Elm developer

Think like an Elm developer Think like an Elm developer Piper Niehaus Denver, CO, USA Backpacker / skier Nonprofit board chair Software Engineer at Pivotal Pivotal Tracker team Elm in Production since 2016 Internal Products and Services

More information

Networking for a dynamic infrastructure: getting it right.

Networking for a dynamic infrastructure: getting it right. IBM Global Technology Services Networking for a dynamic infrastructure: getting it right. A guide for realizing the full potential of virtualization June 2009 Executive summary June 2009 Networking for

More information

Medical Device Cybersecurity: FDA Perspective

Medical Device Cybersecurity: FDA Perspective Medical Device Cybersecurity: FDA Perspective Suzanne B. Schwartz MD, MBA Associate Director for Science and Strategic Partnerships Office of the Center Director (OCD) Center for Devices and Radiological

More information

Lenovo Data Center Group. Define a different future

Lenovo Data Center Group. Define a different future Lenovo Data Center Group Define a different future Think change is hard? We don t. Concerned about the risks and complexities of transformation We see new ways to seize opportunity. Wrestling with inflexible

More information

Sales Presentation Case 2018 Dell EMC

Sales Presentation Case 2018 Dell EMC Sales Presentation Case 2018 Dell EMC Introduction: As a member of the Dell Technologies unique family of businesses, Dell EMC serves a key role in providing the essential infrastructure for organizations

More information

FOSDEM Sylvestre Ledru / February 2nd, Professional Services & Support for Scilab, Free Open Source Software for Numerical Computation

FOSDEM Sylvestre Ledru / February 2nd, Professional Services & Support for Scilab, Free Open Source Software for Numerical Computation FOSDEM Sylvestre Ledru / February 2nd, 2013 Professional Services & Support for Scilab, Free Open Source Software for Numerical Computation Sylvestre Ledru Operation manager at Scilab Enterprises Responsible

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

API Best Practices. Managing APIs holistically across the enterprise

API Best Practices. Managing APIs holistically across the enterprise API Best Practices Managing APIs holistically across the enterprise APIs are critical to evolving application architectures Public clouds Microservices Distributed apps μservice μservice μservice μservice

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

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

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion. Please note Copyright 2018 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM IBM s statements

More information

Education Brochure. Education. Accelerate your path to business discovery. qlik.com

Education Brochure. Education. Accelerate your path to business discovery. qlik.com Education Education Brochure Accelerate your path to business discovery Qlik Education Services offers expertly designed coursework, tools, and programs to give your organization the knowledge and skills

More information

Dell PowerVault MD Family. Modular storage. The Dell PowerVault MD storage family

Dell PowerVault MD Family. Modular storage. The Dell PowerVault MD storage family Dell MD Family Modular storage The Dell MD storage family Dell MD Family Simplifying IT The Dell MD Family simplifies IT by optimizing your data storage architecture and ensuring the availability of your

More information

You Bet Your Life. Playing The Automation Tool Selection Game. Paul Grizzaffi

You Bet Your Life. Playing The Automation Tool Selection Game. Paul Grizzaffi You Bet Your Life Playing The Automation Tool Selection Game Paul Grizzaffi Who Is This Guy?» Paul Grizzaffi» Principal Automation Architect at Magenic» Software Pediatrician» Career focused on automation»

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

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA Kubernetes made easy with Docker EE Patrick van der Bleek Sr. Solutions Engineer NEMEA Docker Enterprise Edition is More than Containers + Orchestration... DOCKER ENTERPRISE EDITION Kubernetes integration

More information

F5 Reference Architecture for Cisco ACI

F5 Reference Architecture for Cisco ACI F5 Reference Architecture for Cisco ACI Today s businesses face complex challenges to stay efficient and competitive. Together, F5 and Cisco enable organizations to dramatically reduce time to value on

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

5 Challenges for Public Sector Data Centre Modernisation. And how to address them

5 Challenges for Public Sector Data Centre Modernisation. And how to address them 5 Challenges for Public Sector Data Centre Modernisation And how to address them Contents Time for a new approach 3 5 challenges of an on premise data centre: 1. Infrastructure investments 2. Resourcing

More information

Introduction. A Brief Description of Our Journey

Introduction. A Brief Description of Our Journey Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the

More information

M365 Powered Device Proof of Concept Overview

M365 Powered Device Proof of Concept Overview M365 Powered Device Proof of Concept Overview Describe how modern desktop will support your business Explore the latest devices Learn about privacy and diagnostic data Challenges Modern Desktop Devices

More information

Cambridge TECHNICALS LEVEL 3

Cambridge TECHNICALS LEVEL 3 Cambridge TECHNICALS LEVEL 3 IT GUIDE Version ocr.org.uk/it CONTENTS Introduction 3 Communication and employability skills for IT 4 2 Information systems 5 3 Computer systems 6 4 Managing networks 7 5

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

Sequence 8.2 Release Notes. Date: 13 th November 2016

Sequence 8.2 Release Notes. Date: 13 th November 2016 Sequence 8.2 Release Notes Date: 13 th November 2016 2016 PNMsoft All Rights Reserved No part of this document may be reproduced in any form by any means without the prior authorization of PNMsoft. PNMsoft

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

VMworld 2018 Call for Papers

VMworld 2018 Call for Papers VMworld 2018 Call for Papers Submission Template Session Information *Which VMworld event are you submitting for? - US - Both events - Europe *Session Title A compelling title that clearly and concisely

More information

Object-Oriented Principles and Practice / C++

Object-Oriented Principles and Practice / C++ Object-Oriented Principles and Practice / C++ Alice E. Fischer January 23, 2018 OOPP / C++ Lecture 1... 1/16 OOPP / C++ Mechanics Programming Context Course Goals Course Goals OOPP / C++ Lecture 1... 2/16

More information

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc. Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 8 Behind the Scenes: Software Programming 2 Topics Understanding Software Programming The Importance

More information

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot JenkinsPipelineUnit Test your Continuous Delivery Pipeline Ozan Gunalp - Emmanuel Quincerot Who we are Ozan Günalp Emmanuel Quincerot Developer at LesFurets Developer at LesFurets PhD in Computer Science

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

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

Building a Data Strategy for a Digital World

Building a Data Strategy for a Digital World Building a Data Strategy for a Digital World Jason Hunter, CTO, APAC Data Challenge: Pushing the Limits of What's Possible The Art of the Possible Multiple Government Agencies Data Hub 100 s of Service

More information

Defining Domain-Specific Modeling Languages

Defining Domain-Specific Modeling Languages Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often

More information

Professional Services for Cloud Management Solutions

Professional Services for Cloud Management Solutions Professional Services for Cloud Management Solutions Accelerating Your Cloud Management Capabilities CEOs need people both internal staff and thirdparty providers who can help them think through their

More information