JastEMF: Reference Attribute Grammars for EMF-based DSLs
|
|
|
- Raymond Sherman
- 10 years ago
- Views:
Transcription
1 Fakultät Informatik Institut Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie JastEMF: Reference Attribute Grammars for EMF-based DSLs Sven Karol, Christoff Bürger ACSE
2 What s in a DSL? DSL Meta Model Concrete Syntax Semantics Domain concepts, relations, attributes Symbols, shapes, text Code analysis, behavior, meaning, intepretation
3 Benefits of Metamodelling Metamodelling is a standardisation process with the following benefits: MM 1 Metamodelling Abstraction MM 2 Metamodelling Consistency MM 3 Metamodel Implementation Generators MM 4 Metamodel/Model Compatibility MM 5 Tooling Compatibility However, metamodelling leaks convenient mechanisms for semantics specification. 3
4 Benefits of Attribute Grammars (AGs) AGs are very convenient to specify semantics for tree structure with the following benefits: AG 1: Declarative Semantics Abstraction AG 2: Semantics Consistency AG 3: Semantics Generators AG 4: Semantics Modularity Claim: A combination of MM and AGs enables semantics integrated metamodelling and leads to more successful and reliable tool implementations. 4
5 Attribute Grammars Formalism to compute static semantics over syntax trees [Knuth68] Basis: context-free grammars + attributes + semantic functions Evaluation by tree visitors with different visiting strategies o Static: ordered attribute grammars (OAGs) o Dynamic: demand-driven evaluation AGs are modular and extensible Improvements Higher order attribute grammars (HOAGs) [Vogt+89] Reference attributed grammars (RAGs) [Hedin00,Boyland05] 5
6 Formal Definition (Short) Definition (attribute grammar): An attribute grammar (AG) is an 8-tuple G=(G0,Syn,Inh,Synx,Inhx,Κ,Ω,Φ) with the following components o G0 = (N,Σ,P,S) a CFG, o Syn and Inh the finite, disjoint sets of synthesized and inherited attributes, o Synx : N P(Syn) a function that assigns a set of synthesized attributes to each nonterminal in G0, o Inhx : N P(Inh) a function that assigns a set of inherited attributes to each nonterminal in G0, o Κ a set of attribute types/sorts, o Ω : Inh Syn K a function assigning each attribute a κ ϵ K, o Φ a set of semantic functions φ(p,i,a) with p ϵ P, i ϵ {0,...,np}, a ϵ Synx(pi) Inhx(pi). 6
7 Formal Definition Kind of AG depends on Κ and Φ Standard AG Κ N = {} Higher Order AG (HOAG) Κ N {} all φ ϵ Φ only yield copied or fresh values Reference Attribute Grammar (RAG) Κ N {} φ ϵ Φ yield references (pointers) to nonterminals (or value copies) 7
8 Kinds of Attributes Inherited attributes (inh): Top-down value dataflow/computation Synthesized attributes (syn): Bottom-up value dataflow/computation Collection attributes (coll): Collect values freely distributed over the AST Reference attributes: Compute references to exisiting nodes in the AST 8
9 Basic Working Principle of RAG Tools Input AST (from parser/ editor/transformer) Tool: RAG Evaluator (generated or interpreted) AST with overlay graph var - var - DEC INT INT a DEC INT INT module TYPE + a INT 5.1 DEC a 3 INT inh decl = syn type = a INT 3 INT 9
10 How do (R)AGs Relate with Metamodeling? Models are graphs!? Ecore (EMOF) metamodels are commonly build around a tree-based abstract syntax used by o Tree iterators, tree editors, transformation tools, textual editors Syntax mappers like EMFText use the tree structure to compute all other information (e.g., resolving cross references) Graphical editors use the tree structure to manage user created object hierarchies, cross references and values therein and to compute readonly information (e.g., cross references, derived values) Ecore (EMOF) models are ASTs with cross-references (overlay graphs) and derived information! 10
11 Mapping Between Both Worlds [Bürger+11] Syntax in Ecore EClass EReference[containment] EAttribute[non-derived] Syntax in RAGs AST Node Type Non Terminal Terminal E Syn Semantics Interface in Ecore EAttribute[derived] EAttribute[derived,multiple] EReference[non-containment] EOperation[side-effect free] Semantics in RAGs [synthesized inherited] attribute collection attribute collection attribute, reference attribute [synthesized inherited] attribute E Sem 11
12 The JastEMF Tool EMF basic generation process Metamodel specs (.ecore) Generator model spec (.genmodel) EMF code generator Java classes and Eclipse plugins, semantic not implemented JastEMF meta integration JastAdd basic generation process JastAdd + EMF Mapping,API refactoring and Merge Java classes and Eclipse plugins, semantic implemented by demand drive AG evaluator AST specs Semantics specs (.jrag) JastAdd Implementation Java classes (AG evaluator), no metamodel implementation 12
13 The JastEMF Tool Semantic evaluation can start from (partly) reference-attributed models Non-containment references can have predefined values (e.g., specified by users using a diagram editor) Metamodel Metaclasses, Attributes Containment References Non-Containment References Derived Attributes, Operations Abstract Syntax Tree Reference-Attributed Model Full-Attributed Model Model Context-Free Grammar Direct Manipulation Textual Model Reference Attribute Grammar Graphical Model If a value is given: Use it instead of attribute equation 13
14 Examples 1. Graphical DSL [Bürger+11] Statecharts Syntax in GMF 2. Textual DSL [Heidenreich+12] Forms DSL (see ACSE tutorial of ) Syntax in EMFText 3. Imperative Programming Language [Bürger+11] SiPLE (Simple Programming Language Example) Syntax in xtext 14
15 Example 1: Statechart Metamodel E Syn E Sem (Ecore-based, extended version of Statemachine example in Hedin, G.: Generating Language Tools with JastAdd. In: GTTSE 09. LNCS,Springer (2010) ) 15
16 Example 1: Statechart Attributes AST specification (partial): abstract State:Declaration ::= <label:string>; NormalState:State; Transition:Declaration ::=<label:string> <sourcelabel:string><targetlabel:string>; Attribution example: R1 R2 syn lazy State Transition.source() = lookup(getsourcelabel()); // R1 syn lazy State Transition.target() = lookup(gettargetlabel()); // R2 inh State Declaration.lookup(String label); // R3 eq StateMachine.getDeclarations(int i).lookup(string label) { } // R4 syn State Declaration.localLookup(String label) = (label==getlabel())? this : null; // R5 (Ecore-based, extended version of Statemachine example in Hedin, G.: Generating Language Tools with JastAdd. In: GTTSE 09. LNCS,Springer (2010) ) 16
17 compute closure reuse of metamodels and semantics compute transition ends from labels 17
18 Example 2: Forms DSL Forms Specifications Forms Specifications references/uses Ecore Model CS Spec Ecore Model CS Spec implements Default Reference Resolver J EMFText AST (Syntactic Interface) Core (Semantic Interface) JastEMF provides/ derives Options Reference Resolver J Name Analysis 18
19 Example 2: Forms Metamodel E Syn E Sem 19
20 Example 2: Forms as AST Grammar Form ::= <caption:string> groups:group*; Terminal - EAttribute ASTNode - EClass Item ::= <text:string> <explanation:string> <dependentofname:string> itemtype:itemtype; abstract ItemType; FreeText:ItemType; Choice:ItemType ::= <multiple:boolean> options:option*; Date:ItemType; Number:ItemType; Decision:ItemType ::= options:option*; Nonterminal - EReference (Containment) Inheritance Option ::= <id:string> <text:string>; Group ::= <name:string> items:item*; 20
21 Example 2: Froms Attributes aspect NameAnalysis { inh Form ASTNode.form(); syn EList Item.dependentOf(); inh EList ASTNode.LookUpOption(String optionname); coll EList<Option> Form.Options() [new BasicEList()] with add; Option contributes this to Form.Options() for form(); eq Form.getgroups(int index).form() = this; eq Item.dependentOf() = LookUpOption(getdependentOfName()); } eq Form.getgroups(int index).lookupoption(string optionname){ EList result = new BasicEList(); for(option option:options()){ if(optionname.equals(option.getid())) result.add(option); } return result; } 21
22 22
23 Example 3: SiPLE Metamodel 23
24 Example 3: SiPLE Types (Excerpt from Semantic Interface) aspect TypeAnalysis { syn Type Declaration.Type(); syn Type VariableAssignment.Type(); syn Type ProcedureReturn.Type(); syn Type Write.Type(); syn Type Read.Type(); syn Type Expression.Type(); } aspect NameAnalysis { // Ordinary name space: inh LinkedList<Declaration> ASTNode.LookUp(String name); syn ProcedureDeclaration CompilationUnit.MainProcedure(); syn Declaration Reference.Declaration(); } 24
25 Example 3: SiPLE Types (Excerpt from Definitions) /** Expressions' Type **/ eq Constant.Type() { if (AsBoolean()!= null) return Type.Boolean; if (AsReal()!= null) return Type.Real; if (AsInteger()!= null) return Type.Integer; return Type.ERROR_TYPE; } 25
26 Example 3: SiPLE Types (Excerpt from Definitions) eq LogicExpression.Type() = getoperand1().type().isboolean() && getoperand2().type().isboolean()? Type.Boolean :Type.ERROR_TYPE; eq EqualityExpression.Type() = Type.bequals(getOperand1().Type(), getoperand2().type()) && (getoperand1().type().isreal() getoperand1().type().isinteger())? Type.Boolean : Type.ERROR_TYPE; eq Equal.Type() = Type.bequals(getOperand1().Type(), getoperand2().type())? Type.Boolean : Type.ERROR_TYPE; eq ArithmeticExpression.Type() = Type.bequals(getOperand1().Type(), getoperand2().type()) && (getoperand1().type().isreal() getoperand1().type().isinteger())? getoperand1().type() : Type.ERROR_TYPE; 26
27 27
28 Literature [Hedin00] Hedin, Görel Reference Attributed Grammars. Informatica (Slovenia) 24, Nr. 3: [Boyland05] Boyland, John T Remote attribute grammars. Journal of the ACM 52, Nr. 4 (July): [Bürger+11] Bürger, Christoff, Sven Karol, Christian Wende, und Uwe Aßmann Reference Attribute Grammars for Metamodel Semantics. In Software Language Engineering. Springer Berlin / Heidelberg. [Knuth68] Knuth, D. E Semantics of context-free languages. Theory of Computing Systems 2, Nr. 2: [Vogt+89] Vogt, Harald H, Doaitse Swierstra, und Matthijs F Kuiper Higher Order Attribute Grammars. In PLDI '89, ACM. [Ekman06] Ekman, Torbjörn Extensible Compiler Construction. University of Lund. [Hedin11] An Introductory Tutorial on JastAdd Attribute Grammars. In Generative and Transformational Techniques in Software Engineering III, 6491: Lecture Notes in Computer Science. Springer Berlin / Heidelberg. [Bürger+10] Bürger, Christoff, Sven Karol, und Christian Wende Applying attribute grammars for metamodel semantics. In Proceedings of the International Workshop on Formalization of Modeling Languages, 1:1 1:5. FML '10. New York, NY, USA: ACM. [Kühnemann+97] Kühnemann, Armin, und Heiko Vogler Attributgrammatiken -- Eine grundlegende Einführung. Braunschweig/Wiesbaden: Vieweg. [Heidenreich+12] Heidenreich, Florian, Jendrik Johannes, Sven Karol, Mirko Seifert, und Christian Wende Model-based Language Engineering with EMFText. In Generative and Transformational Techniques in Software Engineering, 7680:322ff. Lecture Notes in Computer Science. Springer Berlin / Heidelberg. 28
29 Thank you!
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,
Model-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge [email protected] www.efftinge.de Bernd Kolb [email protected] www.kolbware.de Markus Völter [email protected] www.voelter.de -1- Model Driven
Eindhoven University of Technology
Eindhoven University of Technology Department of Mathematics and Computer Science Software Engineering and Technology Group Master Thesis mlbnf A Syntax Formalism for Domain Specific Languages M.W. Manders
Lecture 2: Domain-Specific Logic Languages (DSLL) or Logic-based Domain-Specific Languages (LDSL)
Lecture 2: Domain-Specific Logic Languages (DSLL) or Logic-based Domain-Specific Languages (LDSL) Prof. Uwe Aßmann Christian Wende Technische Universität Dresden Software Engineering Group http://st.inf.tu-dresden.de
VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl
VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of
Towards Collaboration on Accessible UML Models
his is a draft version of the full paper to be presented at the AI4VIP workshop colocated with MuC'15. owards Collaboration on Accessible UML Models Stephan Seifermann, Henning roenda Software Engineering,
Development of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
Well-Formed and Scalable Invasive Software Composition
Well-Formed and Scalable Invasive Software Composition Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) vorgelegt an der Technischen Universität Dresden Fakultät Informatik
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1
Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda
Quality Assurance of Software Models within Eclipse using Java and OCL
Quality Assurance of Software Models within Eclipse using Java and OCL Dr. Thorsten Arendt Modellgetriebene Softwareentwicklung mobiler Anwendungen Wintersemester 2014/15 17. Dezember 2014 Outline Why
Course 4 27 October 2014. Adrian Iftene [email protected]
Course 4 27 October 2014 Adrian Iftene [email protected] They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can
Simplifying e Business Collaboration by providing a Semantic Mapping Platform
Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,
Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
Xtext Documentation. September 26, 2014
Xtext Documentation September 26, 2014 Contents I. Getting Started 9 1. 5 Minutes Tutorial 10 1.1. Creating A New Xtext Project........................ 10 1.2. Generating The Language Infrastructure...................
Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges
Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Heiko Kern and Stefan Kühne Business Information Systems, University of Leipzig Johannisgasse 26, 04103 Leipzig,
The Mjølner BETA system
FakePart I FakePartTitle Software development environments CHAPTER 2 The Mjølner BETA system Peter Andersen, Lars Bak, Søren Brandt, Jørgen Lindskov Knudsen, Ole Lehrmann Madsen, Kim Jensen Møller, Claus
Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework
Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework Fabio Filippelli 1, Steffen Kollosche 1, Michael Bauer 1, Markus Gerhart 1, Marko Boger 1, Karsten
Towards collaboration between sighted and visually impaired developers in the context of Model-Driven Engineering
Towards collaboration between sighted and visually impaired developers in the context of Model-Driven Engineering Filipe Del Nero Grillo, Renata Pontin de Mattos Fortes, and Daniel Lucrédio Computer Science
DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies
DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology 9-1-2012
Object-Oriented Software Specification in Programming Language Design and Implementation
Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama
A Common Metamodel for Code Generation
A Common Metamodel for Code Generation Michael PIEFEL Institut für Informatik, Humboldt-Universität zu Berlin Unter den Linden 6, 10099 Berlin, Germany [email protected] ABSTRACT Models can
Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala
Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala BX 14: 3rd International Workshop on Bidirectional Transformations @EDBT/ICDT 14, Athens, Greece Arif Wider Humboldt-University
A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software
A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software Luigi Pomante Sante Candia Emilio Incerto Università degli Studi dell Aquila Center of Excellence DEWS - ITALY [email protected]
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits
Efficient Editor Generation for Compositional DSLs in Eclipse
Efficient Editor Generation for Compositional DSLs in Eclipse Holger Krahn, Bernhard Rumpe, and Steven Völkel Institute for Software Systems Engineering Niedersächsische Technische Hochschule, Standort
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti
Implementation and Integration of a Domain Specific Language with oaw and Xtext
Implementation and Integration of a Domain Specific Language with oaw and Xtext by Volker Koster MT AG, Okt. 2007 www.mt-ag.com [email protected] Implementation and Integration of a Domain Specific Language
GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs
GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium Reiner Jung Christian-Albrechts-Universität zu Kiel Institut für Informatik 26.02.2014 Domain-specific Languages Motivation
25.1 Translational Frameworks (MDA with transformations)
Literature TU Dresden Fakultät für Informatik Institut für Software- und Multimediatechnik 25. From Code Frameworks to Model-Driven Architecture (MDA) and Component-Based Software Development (CBSD) Prof.
Jos Warmer, Independent [email protected] www.openmodeling.nl
Domain Specific Languages for Business Users Jos Warmer, Independent [email protected] www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern
Java Generation from UML Models specified with Alf Annotations
Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier
Using Eclipse CDT/PTP for Static Analysis
PTP User-Developer Workshop Sept 18-20, 2012 Using Eclipse CDT/PTP for Static Analysis Beth R. Tibbitts IBM STG [email protected] "This material is based upon work supported by the Defense Advanced Research
MQT, an Approach for Runtime Query Translation: From EOL to SQL
MQT, an Approach for Runtime Query Translation: From EOL to SQL Xabier De Carlos 1, Goiuria Sagardui 2, and Salvador Trujillo 1 1 IK4-Ikerlan Research Center, P. J.M. Arizmendiarrieta, 2 20500 Arrasate,
The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt
The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration
COCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
A Multi-layered Domain-specific Language for Stencil Computations
A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,
Advanced Functional Programming (9) Domain Specific Embedded Languages
Advanced Functional Programming (9) Domain Specific Embedded Languages Advanced Functional Programming (9) Domain Specific Embedded Languages, Universiteit Utrecht http://www.cs.uu.nl/groups/st/ February
A Framework for Extensible Languages
A Framework for Extensible Languages Sebastian Erdweg TU Darmstadt, Germany Felix Rieger TU Darmstadt, Germany Abstract Extensible programming languages such as SugarJ or Racket enable programmers to introduce
Integrating Content Assist into Textual Modelling Editors
Integrating Content Assist into Textual Modelling Editors Markus Scheidgen [email protected] Abstract: Intelligent, context sensitive content assist (also known as code completion) plays
CSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University
Introduction à EMF Eclipse Modeling Framework
Ingénierie Dirigée par les Modèles Introduction à Eclipse Modeling Framework Pierre Laforcade Master EIAH 2007 Sources du cours Tutoriaux et cours d' disponibles sur http://www.eclipse.org/modeling/emf/
Advanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz 2007 03 16
Advanced compiler construction Michel Schinz 2007 03 16 General course information Teacher & assistant Course goals Teacher: Michel Schinz [email protected] Assistant: Iulian Dragos INR 321, 368 64
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)
Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,
OpenEmbeDD basic demo
OpenEmbeDD basic demo A demonstration of the OpenEmbeDD platform metamodeling chain tool. Fabien Fillion [email protected] Vincent Mahe [email protected] Copyright 2007 OpenEmbeDD project (openembedd.org)
UML PROFILING AND DSL
UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced
Implementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
Intel Assembler. Project administration. Non-standard project. Project administration: Repository
Lecture 14 Project, Assembler and Exam Source code Compiler phases and program representations Frontend Lexical analysis (scanning) Backend Immediate code generation Today Project Emma Söderberg Revised
Designing, Implementing and Using Domain-Specific Languages
DSL Engineering Designing, Implementing and Using Domain-Specific Languages Intentional Software s Excerpt: Ch. 22, Business DSLs Health Workbench Markus Voelter with Sebastian Benz, Christian Dietrich,
Mbeddr and Software Documentation
Integrating Prose as First-Class Citizens with Models and Code Markus Voelter independent/itemis, [email protected] Abstract. In programming and modeling we strive to express structures and behaviors as
Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems
1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing
Integrating Prose as First-Class Citizens with Models and Code
Integrating Prose as First-Class Citizens with Models and Code Markus Voelter independent/itemis, [email protected] Abstract. In programming and modeling we strive to express structures and behaviors as
Toward Families of QVT DSL and Tool
Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com
Automatic Test Data Generation for TTCN-3 using CTE
Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee
Modern PL/SQL Code Checking and Dependency Analysis
Modern PL/SQL Code Checking and Dependency Analysis Philipp Salvisberg Senior Principal Consultant BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA
On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages
On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical
INSTITUT FÜR INFORMATIK
INSTITUT FÜR INFORMATIK On the Pragmatics of Model-Based Design Hauke Fuhrmann, Reinhard von Hanxleden Bericht Nr. 0913 Mai 2009 CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL Institut für Informatik der Christian-Albrechts-Universität
Scenario-driven Testing of Security-related Domain-specific Language Models
Scenario-driven Testing of Security-related Domain-specific Language Models Bernhard Hoisl June 25, 2013 Introduction, Definition, Motivation MDD: software engineering technique, abstracting problem domain
GU-DSL A Generic Domain-Specific Language for Data- and Image Processing
GU-DSL A Generic Domain-Specific Language for Data- and Image Processing Thomas Högg 1, Günther Fiedler 1, Christian Köhler 2, and Andreas Kolb 2 1 Christ-Elektronik GmbH, Alpenstr. 34, 87700 Memmingen,
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
A Framework for Creating Domain-specific Process Modeling Languages
A Framework for Creating Domain-specific Process Modeling Languages Henning Heitkötter Department of Information Systems, University of Münster, Münster, Germany [email protected] Keywords:
A Visual Language Based System for the Efficient Management of the Software Development Process.
A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università
Development of a Feature Modeling Tool using Microsoft DSL Tools.
Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer
Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More
Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)
Building a Flexible Software Factory Using Partial Domain Specific Models
Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands [email protected] 2 University Twente, Netherlands [email protected]
Knowledge Engineering for Business Rules in PROLOG
Knowledge Engineering for Business Rules in PROLOG Ludwig Ostermayer, Dietmar Seipel University of Würzburg, Department of Computer Science Am Hubland, D 97074 Würzburg, Germany {ludwig.ostermayer,dietmar.seipel}@uni-wuerzburg.de
