A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best
|
|
- Kory Richard
- 5 years ago
- Views:
Transcription
1 Domain Specific Languages Markus Voelter Independent/itemis
2 A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best Practices
3 A little History
4 programming started close to the hardware abstractions computing chips
5 abstractions computing bits
6 abstractions computing C
7 abstractions computing? Java
8 abstractions computing? SQL
9
10
11 ?
12
13 general purpose
14 domain specific
15 tailor made effective++ specialized, limited used by experts together with other specialized tools
16 Domain Specific Languages
17 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
18 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
19 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
20 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
21 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
22 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
23 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
24 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
25 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
26 execute?
27 map
28 DSL Program (aka Model) map automated! GPL Program
29 map Generation Transformation Compilation Interpretation
30
31 Activities Analysing Domains Defining Languages Adapting/Selecting Building Editors Transforming Models Building Generators Building Frameworks
32 Activities Analysing Domains Defining Languages Adapting/Selecting Building Editors Transforming Models Building Generators Building Frameworks and using all of that to build apps
33 internal vs. external
34 compiled vs. interpreted
35 customization vs. configuration
36 graphical vs. textual
37 Examples
38 Example 1: Embedded Protocol Handler
39 Component Specification SOLUTION
40 Message Format Definition SOLUTION
41 Testing refines tests SOLUTION
42 Eclipse Modeling Eclipse Xtext TOOLS
43 Example 2: Pension Fund Specification
44 Textual Documentation SOLUTION
45 Insurance Mathematics SOLUTION
46 Calculation Rules and Tests SOLUTION
47 Intentional Software s Domain Workbench TOOLS
48 Example 3: Radar Systems Engineering
49 Component Definition SOLUTION
50 Component Behavior Specification SOLUTION
51 Resulting System Behaviour SOLUTION
52 Analysis SOLUTION
53 Eclipse Modeling Eclipse Xtext Wolfram Mathematica Mathematica Workbench TOOLS
54 Example 4: Alarm System Menus
55 Menu Structure SOLUTION
56 Software Components SOLUTION
57 Eclipse Modeling Eclipse Xtext TOOLS
58 Example 5: Requirements Tracability
59 Imported Requirements SOLUTION
60 SOLUTION Program Code with Annotations (green)
61 Selecting from the Requirements Find Usages of Requirements SOLUTION
62 JetBrains MPS TOOLS
63 Example 5: OSGi-based System
64 Component Specification SOLUTION
65 Component Specification SOLUTION
66 Component Specification SOLUTION
67 Eclipse Modeling Eclipse Xtext TOOLS
68 Example 6: Math, Science and Java
69 SOLUTION
70 SOLUTION
71 SOLUTION
72 JetBrains MPS TOOLS
73 Example 7: Fountains
74 CONTEXT
75 Hardware Structure SOLUTION
76 Behaviour SOLUTION
77 Plus: In-IDE Simulator Unit Test Support SOLUTION
78 Eclipse Modeling Eclipse Xtext TOOLS
79 More Examples8: Miscellaneous
80 Hearing Aids DOMAIN
81 Refrigerators DOMAIN
82 BPEL Designer SOLUTION
83 Block Diagrams SOLUTION
84 PLC Programming SOLUTION
85 State Charts SOLUTION
86 TOOLS
87 Tools
88 Tooling!
89 Tooling! Editor
90 Tooling! Editor, Debugger
91 Tooling! Editor, Debugger, Testing
92 Tooling! Editor, Debugger, Testing, Groupware
93 Tooling! Editor, Debugger, Testing, Groupware, Scalable
94 Tooling! Editor, Debugger, Testing, Groupware, Scalable, All in Eclipse
95
96 Tools Tooling Language Definition Tools abstract syntax, concrete syntax, constraints Editor Frameworks Transformation Languages Code Generation Tools
97
98 Open Source (EPL) Eclipse-based, Eclipse Project Very flexible, very popular! Current Version 2.0: improved performance Xbase: expressions for reuse Xtend2: Better Java, with support for Xpand-like templates
99 Open Source (Apache 2.0) Projectional Editor Very good at lang. Composition Current Version 2.0: Improved performance Unified generate/compile/build Debug MPS in MPS Tables in the editor (Diagrams planned for 2.1)
100 Commercial Tool. Projectional Editor Very flexible notations Version 1.8 is current
101 Way More: Spoofax Rascal oomega The Whole Platform see also
102 Benefits
103 Automation faster, deterministic
104 Increased Quality well defined structures allthrough the system
105 Meaningful Validation more semantics in the model
106 Capture Domain Knowledge formalized into languages and models
107 Suitable Notations textual, graphical, tabular
108 Technology Independence generate technology glue code
109 Abstraction w/o Runtime Overhead generator optimizes away
110 Capture Implementation Strategy in the generators
111 Everything is a model including for example hardware (some) hardware
112 A more theoretical View
113 Domain Specific Languages A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.
114 What s the Problem here? Linguistic Abstraction
115 What s the Problem here? Linguistic Abstraction Much better with new linguistic abstraction No sophisticated analysis required to understand the semantics of a contruct and treat it correctly.
116 What s this? And what s the Problem? Linguistic Abstraction
117 Much better! Linguistic Abstraction
118 Much better! Linguistic Abstraction
119 Domains are Hierarchical
120 Creating Linguistic Abstractions
121 Creating Linguistic Abstractions
122 Domain Specific Languages A DSL is a language at D that provides linguistic abstractions for common patterns and idioms of a language at D-1 when used within the domain D.
123 Domain Specific Languages A DSL is a language at D that provides linguistic abstractions for common patterns and idioms of a language at D-1 when used within the domain D. A good DSL does not require the use of patterns and idioms to express semantically interesting concepts in D. Processing tools do not have to do semantic recovery on D programs.
124 Extension vs. Cascading
125 Extension vs. Cascading
126 Extension vs. Cascading
127 Programming and Modeling
128 Modeling Programming
129 Modeling Programming (Mostly) Textual Notations Concrete Syntax Storage (Fancy) ASCII Editors Read-Only Visualizations
130 Modeling Programming (Mostly) Graphical Notations Abstract Syntax Storage Projecting Editors Different editable views for model (Mostly) Textual Notations Concrete Syntax Storage (Fancy) ASCII Editors Read-Only Visualizations
131 Why the difference?
132 It is time for
133 a Different Perspective
134 Programming the way we do Modeling? Modeling the way we do Programming?
135 Modeling Programming == == Programming Modeling
136
137 We don t want to model, we want to program!
138 We don t want to model, we want to program! at different levels of abstaction from different viewpoints integrated!
139 We don t want to model, we want to program! with different degrees of domain-specificity with suitable notations with suitable expressiveness
140 We don t want to model, we want to program! And always: precise and tool processable
141
142 Programming Languages are not MODULAR enough.
143 Programming Languages are not COMPOSABLE enough.
144 Programming Languages are not CONFIGURABLE enough.
145 Programming Languages are not ADAPTABLE enough.
146 Programming Language Syntax i sn not FLEXIBLE enough.
147 Big Language? o a b n c m k L d e j f i h g with many first class concepts!
148 Small Language? L with a few, orthogonal and poweful concepts
149 Modular Language my L a b c d e f g h i j k l with many optional, composable concepts
150 Modular Language Like frameworks and libraries,
151 Modular Language Like frameworks and libraries, but with syntax and IDE support
152 Several Concerns in a Domain
153 Viewpoints
154 A: mixed B: separate Viewpoints Viewpoints
155 Langugae Combination When DSL (for several concerns) are developed from scratch, as a group, then dependencies between the concerns can be materialized as dependencies between the languages and the language concepts
156 Langugae Extension A language B extends another language A if B contains additional language concepts. This means that for programs written in B, all concepts from A are available, plus those defined in B.
157 Langugae Reuse A language has been developed to be used in contexts not known at the time of development. No dependencies allowed! The reusable language has to be extended so it can reference concepts from languages in that context.
158 Langugae Embedding Composition is a special case of reuse, where the reused language is syntactically embedded into languages from the context.
159 The LWES Project
160 LWES Language Workbenches for Embedded Systems
161 LWES Language Workbenches for Embedded Systems Incremental Extension of C with DSLs for Embedded Systems, integrated with Formal Methods and support for PLE and Requirements Tracing
162 LWES Language Workbenches for Embedded Systems
163 LWES Language Workbenches for Embedded Systems
164 EXAMPLE CASE
165 SOLUTION
166 SOLUTION
167 SOLUTION
168 JetBrains MPS TOOLS
169 mbeddr.com
170 Bonus: Best Practices
171 Limit Expressiveness
172 Notation, Notation, Notation
173 Graphical vs. Textual
174 Viewpoints
175 Teamwork Support
176 Interpretation vs. Generation
177 Rich Domain Specific Platform
178 Checks First and Separate
179 Cascading
180 Annotation Models
181 Don t forget Testing
182 Iterate!
183 Co-Evolve Language and Concepts
184 Domain Users Programming?
185 Compatible Organization
186 THE END..coordinates web twitter markusvoelter xing linkedin
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 informationWhat 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 informationDomain 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 informationDomain 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 informationProgramming 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 informationProgramming 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 informationLanguage 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 informationA 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 informationVariability 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 informationDomain-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 informationLanguage 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 informationTesting 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 informationDSL 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 informationMarkus 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 informationLet 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 informationDESIGN, 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 informationDomain Specific - a Binary Decision?
Domain Specific - a Binary Decision? Markus Voelter independent/itemis Ötztaler Strasse 38 70327 Stuttgart, Germany voelter@acm.org Bernhard Merkle SICK AG R&D Software Engineering Erwin-Sick-Str.1 79183
More informationwith openarchitectureware
Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,
More informationPlan. 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 informationGoals. Greater Geate Abstraction work on a higher level do more with less insulate from technology. Increase Value. Reduce lossiness.
MDD: the Good, the Bad and the Ugly Steven Kelly CTO, MetaCase www.metacase.com com stevek@metacase.com Markus Voelter Independent/itemis AG www.voelter.de voelter@acm.org Part 1 1 Goals Goals Greater
More informationLanguage 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 informationIntroduction to Dependable Systems: Meta-modeling and modeldriven
Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software
More informationLanguage 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 informationProjecting 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 informationDániel Darvas Domain-specific languages (DSLs): what, how and when?
Dániel Darvas Domain-specific languages (DSLs): what, how and when? ICE Tea 21/02/2014 Outline Theory Concept of DSLs Technology Support for DSLs Reality Some details of the ST Example DSL Theory / Concept
More informationchallenges in domain-specific modeling raphaël mannadiar august 27, 2009
challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing
More informationCompositional 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 informationWhole Platform Foundation. The Long Way Toward Language Oriented Programming
Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering
More information-Netzwerktreffen Embedded Systems. Modell-getriebene Entwicklung mit der YAKINDU-Workbench
-Netzwerktreffen Embedded Systems Modell-getriebene Entwicklung mit der YAKINDU-Workbench about me Axel Terfloth Head R&D Embedded Systems axel.terfloth@itemis.de! work at itemis AG, Germany! work on model
More informationA Survey on Domain-Specific Languages in Robotics
A Survey on Domain-Specific Languages in Robotics Arne Nordmann Nico Hochgeschwender Sebastian Wrede October 21st 2014 0 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific
More informationDeclarative. 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 informationFrustrated 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 informationDeveloping Web-Based Applications Using Model Driven Architecture and Domain Specific Languages
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain
More informationIntroduction to OpenArchitectureWare
Introduction to OpenArchitectureWare Dr. Neil Loughran Neil.Loughran@sintef.no 20 th April 2009 ICT 1 Objective To give some insights into an alternative model transformation approach i.e. OpenArchitectureWare
More informationSoftware Architecture
Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)
More informationLanguage Oriented Modularity: From Theory to Practice
Language Oriented Modularity: From Theory to Practice Arik Hadas Dept. of Mathematics and Computer Science The Open University of Israel Joint Work With: David H. Lorenz Language Oriented Modularity (LOM)
More informationABAP DSL Workbench SAP TechED 2016
ABAP DSL Workbench SAP TechED 2016 Barcelona, November 2016-0 - Hello. Hello. Example Asia Diner Yes? Number 77. Take away? No. Hello. Hello. Hello. Hello. As always? Yes. As always? Yes. Where are the
More informationAdvanced Topics in Software Engineering (02265) Ekkart Kindler
Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More informationAn Evaluation of Domain-Specific Language Technologies for Code Generation
An Evaluation of Domain-Specific Language Technologies for Code Generation Christian Schmitt, Sebastian Kuckuk, Harald Köstler, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, System Simulation,
More informationXtext. Introduction and Real World Samples. Hendrik Bünder, itemis AG. itemis AG
Xtext Introduction and Real World Samples Hendrik Bünder, itemis AG Who is this guy? Hendrik Bünder IT-Consultant Agenda Introduction to Xtext What, How, Why? Common DSLs DSLs that no longer impress anybody.
More informationIntroduction to Model Driven Engineering using Eclipse. Frameworks
Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model
More information3rd Lecture Languages for information modeling
3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture
More informationApplying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages
Applying Model Driven Technologies in the Creation Model Driven Development Language Editor Generator Abstraction Model Driven Development Refinement of Domain Specific Modeling Languages Bruce Trask Angel
More informationTowards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema
Towards Formalizing Domain-specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Outline! DSML overview! Framework for DSML design Syntax definition Semantic domain specification Semantic
More informationSIMPLIFYING 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 informationModeling 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 informationA Family of Languages for Architecture Description
A Family of Languages for Architecture Description Markus Voelter Independent Consultant, Grabenstrasse 4, 73033 Goeppingen, Germany voelter@acm.org, http://www.voelter.de Abstract In this paper I describe
More informationModel 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 informationModel Driven Engineering (MDE)
Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering
More informationPractical DSL Design. Groovy Sydney Meetup May 4th, Peter Bell CEO/CTO SystemsForge
Practical DSL Design Groovy Sydney Meetup May 4th, 2010 Peter Bell CEO/CTO SystemsForge Overview Before DSLs... What is a DSL? Creating a DSL Good DSL Design Key Concepts Implementing DSLs in Groovy Testing
More informationStatic analysis and testing of executable DSL specification
Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationopenarchitectureware 4.1 An introduction
openarchitectureware 4.1 An introduction Markus Voelter, www.voelter.de, openarchitectureware (oaw) is a suite of tools and components assisting with model driven software development, more precisely it
More informationModel driven Engineering & Model driven Architecture
Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software
More informationPEG-Based Language Workbench
PEG-Based Language Workbench Yuriy Korenkov, Ivan Loginov, Arthur Lazdin Saint Petersburg National Research University of Information Technologies, Mechanics and Optics Saint Petersburg, Russia ged.yuko,
More informationAutomated 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 informationbuilding DSLs with language workbenches
ThoughtWorks building DSLs with language workbenches NEAL FORD software architect / meme wrangler ThoughtWorks nford@thoughtworks.com 3003 Summit Boulevard, Atlanta, GA 30319 www.nealford.com www.thoughtworks.com
More informationCSSE 490 Model-Based Software Engineering: Software Factories
CSSE 490 Model-Based Software Engineering: Software Factories Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: MBE Discipline Relate Model-Based
More informationEclipse technology in IFMS Interface Management System
Eclipse Finance Day 2013 Eclipse technology in IFMS Interface Management System Marc Schlienger A story today about Eclipse and IFMS SOA at Credit Suisse The construction of a System MDD in the large Leveraging
More informationDomain-Specific Languages for Program Analysis
Domain-Specific Languages for Program Analysis Mark Hills OOPSLE 2015: Open and Original Problems in Software Language Engineering March 6, 2014 Montreal, Canada http://www.rascal-mpl.org 1 Overview A
More informationCoding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!
Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science
More informationDescribing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090
More informationPOLITECNICO DI TORINO Repository ISTITUZIONALE
POLITECNICO DI TORINO Repository ISTITUZIONALE Tool-automation for supporting the DSL learning process Original Tool-automation for supporting the DSL learning process / Tomassetti F.; Figueroa C.; Ratiu
More informationEclipse Support for Using Eli and Teaching Programming Languages
Electronic Notes in Theoretical Computer Science 141 (2005) 189 194 www.elsevier.com/locate/entcs Eclipse Support for Using Eli and Teaching Programming Languages Anthony M. Sloane 1,2 Department of Computing
More informationDiverSE s Seminar about Software Language Engineering
DiverSE s Seminar about Software Language Engineering May 28 th, 2015 Rennes, France http://people.irisa.fr/benoit.combemale/sleseminar2015 THE DIVERSE TEAM DiverSE s Seminar about SLE - May 28 th, 2015-2
More informationLessons learned from building Eclipse-based add-ons for commercial modeling tools
Lessons learned from building Eclipse-based add-ons for commercial modeling tools (from a technology perspective) István Ráth Ákos Horváth EclipseCon France June 14 2018 MagicDraw A popular modeling tool
More informationSemantic Modularization Techniques in Practice: A TAPL case study
1 Semantic Modularization Techniques in Practice: A TAPL case study Bruno C. d. S. Oliveira Joint work with Weixin Zhang, Haoyuan Zhang and Huang Li July 17, 2017 Text 2 EVF: An Extensible and Expressive
More informationIntroduction to MDE and Model Transformation
Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and
More informationCompuScholar, 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 informationSTEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS
STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for
More informationChapter 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 informationThe 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 informationMEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development
MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development Jens Gulden and Prof. Dr. Ulrich Frank University Duisburg-Essen, Universitaetsstr. 9,
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationComposition and concurrent execution of heterogeneous domain-specific models
Composition and concurrent execution of heterogeneous domain-specific models A work part of the GEMOC initiative Benoit Combemale Associate Professor, University of Rennes 1 Research Scientist, INRIA benoit.combemale@irisa.fr
More informationModel 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 informationMatrex Table of Contents
Matrex Table of Contents Matrex...1 What is the equivalent of a spreadsheet in Matrex?...2 Why I should use Matrex instead of a spreadsheet application?...3 Concepts...4 System architecture in the future
More informationExtending Java TM TM And Developing DSLs With JetBrains MPS Open- Source Language Workbench
Extending Java TM TM And Developing DSLs With JetBrains MPS Open- Source Language Workbench Konstantin Solomatov JetBrains Lead Developer for JetBrains MPS Project 1 Agenda > Extending languages. Why bother?
More informationExcel on the Java VM. Generating Fast Code from Spreadsheet Models. Peter Arrenbrecht codewise.ch / Abacus Research AG Submission ID: 30
Excel on the Java VM Generating Fast Code from Spreadsheet Models Peter Arrenbrecht codewise.ch / Abacus Research AG Submission ID: 30 AGENDA > Problem: Customization Is Hard > Idea: Let Users Use Spreadsheets
More informationDesign of Embedded Systems
Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1
More informationCSSE 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 informationMetaprogrammable Toolkit for Model-Integrated Computing
Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated
More informationWhat Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs
What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs EclipseCon Europe 2016 2016-10-26 Roman Mitin Avaloq Evolution AG Allmendstrasse 140 8027 Zurich Switzerland T +41 58 316
More informationGrammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary
Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)
More informationEclipse SOA Tools Platform Project
Eclipse SOA Tools Platform Project Oisín Hurley IONA Technologies http://www.iona.com 2007 by «Author»; made available under the EPL v1.0 Date Other Information, if necessary A Brief Introduction to SOA
More informationDeclaratively Defining Domain-Specific Language Debuggers
Declaratively Defining Domain-Specific Language Debuggers Version of July 19, 2013 Ricky T. Lindeman Declaratively Defining Domain-Specific Language Debuggers THESIS submitted in partial fulfillment of
More informationEnhancing Xtext for General Purpose Languages
Enhancing Xtext for General Purpose Languages Adolfo Sánchez-Barbudo Herrera Department of Computer Science, University of York, UK. asbh500@york.ac.uk Abstract. Xtext is a popular language workbench conceived
More informationIt s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu
It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation
More informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
More informationAn Information Model for High-Integrity Real Time Systems
An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,
More informationA Model-Driven Framework for Domain Specific Process Design and Governance
A Model-Driven Framework for Domain Specific Process Design and Governance Adrian Mos 1, Mario Cortes-Cornax 1, José Miguel Pérez-Álvarez1,2, María Teresa Gómez-López 2 1 Xerox Research Center, 6 Chemin
More informationComputing and compilers
Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program
More informationhttps://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl...
Page 1 of 13 Units: - All - Teacher: ProgIIIJavaI, CORE Course: ProgIIIJavaI Year: 2012-13 Intro to Java How is data stored by a computer system? What does a compiler do? What are the advantages of using
More informationCompile-Time Code Generation for Embedded Data-Intensive Query Languages
Compile-Time Code Generation for Embedded Data-Intensive Query Languages Leonidas Fegaras University of Texas at Arlington http://lambda.uta.edu/ Outline Emerging DISC (Data-Intensive Scalable Computing)
More informationProseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group
Proseminar Model-Driven Software Engineering (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1 Outline Basic Requirements Preliminary Dates
More informationJIVE: Dynamic Analysis for Java
JIVE: Dynamic Analysis for Java Overview, Architecture, and Implementation Demian Lessa Computer Science and Engineering State University of New York, Buffalo Dec. 01, 2010 Outline 1 Overview 2 Architecture
More informationHyperFrame - A Framework for Hypermedia Authoring
HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do
More informationOracle Fusion Middleware 11g: Build Applications with Oracle Forms
Oracle University Contact Us: 00 9714 390 9050 Oracle Fusion Middleware 11g: Build Applications with Oracle Forms Duration: 5 Days What you will learn This course is also suitable for customers using Forms
More informationApplications of Program analysis in Model-Based Design
Applications of Program analysis in Model-Based Design Prahlad Sampath (Prahlad.Sampath@mathworks.com) 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks,
More information