EMF


Book Description

EMF: Eclipse Modeling Framework Dave Steinberg Frank Budinsky Marcelo Paternostro Ed Merks Series Editors: Erich Gamma • Lee Nackman • John Wiegand The Authoritative Guide to EMF Modeling and Code Generation The Eclipse Modeling Framework enables developers to rapidly construct robust applications based on surprisingly simple models. Now, in this thoroughly revised Second Edition, the project’s developers offer expert guidance, insight, and examples for solving real-world problems with EMF, accelerating development processes, and improving software quality. This edition contains more than 40% new material, plus updates throughout to make it even more useful and practical. The authors illuminate the key concepts and techniques of EMF modeling, analyze EMF’s most important framework classes and generator patterns, guide you through choosing optimal designs, and introduce powerful framework customizations and programming techniques. Coverage includes • Defining models with Java, UML, XML Schema, and Ecore • NEW: Using extended Ecore modeling to fully unify XML with UML and Java • Generating high-quality code to implement models and editors • Understanding and customizing generated code • Complete documentation of @model Javadoc tags, generator model properties, and resource save and load options • NEW: Leveraging the latest EMF features, including extended metadata, feature maps, EStore, cross-reference adapters, copiers, and content types • NEW: Chapters on change recording, validation, and utilizing EMF in stand-alone and Eclipse RCP applications • NEW: Modeling generics with Ecore and generating Java 5 code About the Authors Dave Steinberg is a software developer in IBM Software Group. He has worked with Eclipse and modeling technologies since joining the company, and has been a committer on the EMF project since its debut in 2002. Frank Budinsky, a senior architect in IBM Software Group, is an original coinventor of EMF and a founding member of the EMF project at Eclipse. He is currently cochair of the Service Data Objects (SDO) specification technical committee at OASIS and lead SDO architect for IBM. Marcelo Paternostro is a software architect and engineer in IBM Software Group. He is an EMF committer and has been an active contributor to several other Eclipse projects. Before joining IBM, Marcelo managed, designed, and implemented numerous projects using Rational's tools and processes. Ed Merks is the project lead of EMF and a colead of the top-level Modeling project at Eclipse. He holds a Ph.D. in Computing Science and has many years of in-depth experience in the design and implementation of languages, frameworks, and application development environments. Ed works as a software consultant in partnership with itemis AG.




Eclipse Modeling Framework


Book Description

bull; Shows how EMF unifies three important technologies: Java, XML, and UML bull; Provides a comprehensive overview of the EMF classes including a complete quick reference for all the classes and methods in the EMF 1.1 API bull; Includes examples of many common framework customizations and programming techniques




Applications of Graph Transformations with Industrial Relevance


Book Description

This book constitutes the thoroughly refereed post-conference proceedings of the Third International Symposium on Applications of Graph Transformations, AGTIVE 2007, held in Kassel, Germany, in October 2007. The 30 revised full papers presented together with 2 invited papers were carefully selected from numerous submissions during two rounds of reviewing and improvement. The papers are organized in topical sections on graph transformation applications, meta-modeling and domain-specific language, new graph transformation approaches, program transformation applications, dynamic system modeling, model driven software development applications, queries, views, and model transformations, as well as new pattern matching and rewriting concepts. The volume moreover contains 4 papers resulting from the adjacent graph transformation tool contest and concludes with 9 papers summarizing the state of the art of today's available graph transformation environments.




Implementing Domain-Specific Languages with Xtext and Xtend


Book Description

A step-by-step guide that enables you to quickly implement a DSL with Xtext and Xtend in a test-driven way with the aid of simplified examples.This book is for programmers who want to learn about Xtext and how to use it to implement a DSL (or a programming language) together with Eclipse IDE tooling. It assumes that the user is familiar with Eclipse and its functionality. Existing basic knowledge of a compiler implementation would be useful, though not strictly required, since the book will explain all the stages of the development of a DSL.




Model-Driven Software Engineering in Practice


Book Description

This book discusses how model-based approaches can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE). MDSE practices have proved to increase efficiency and effectiveness in software development, as demonstrated by various quantitative and qualitative studies. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis. The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away. The book is organized into two main parts. The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios, and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDSE in existing development processes. The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects. The second edition of the book features: a set of completely new topics, including: full example of the creation of a new modeling language (IFML), discussion of modeling issues and approaches in specific domains, like business process modeling, user interaction modeling, and enterprise architecture complete revision of examples, figures, and text, for improving readability, understandability, and coherence better formulation of definitions, dependencies between concepts and ideas addition of a complete index of book content In addition to the contents of the book, more resources are provided on the book's website http://www.mdse-book.com, including the examples presented in the book.




Eclipse Rich Client Platform


Book Description

This book gives a detailed introduction into the Eclipse platform and covers all relevant aspects of Eclipse RCP development. Every topic in this book has a content section in which the topic is explained and afterwards you have several exercises to practice your learning. You will be guided through all relevant aspects of Eclipse 4 development using an comprehensive example which you continue to extend in the exercises. You will learn about the new programming concepts of Eclipse 4, e.g. the application model, dependency injection, CSS styling, the renderer framework, the event system and much more. Proven Eclipse technologies like SWT, JFace viewers, OSGi modularity and services, data binding, etc. are also covered in detail. This book requires a working knowledge of Java and assumes that you are familiar in using the Eclipse IDE for standard Java development. It assumes no previous experience of Eclipse plug-in and Eclipse RCP development.




Theory and Practice of Model Transformations


Book Description

Model transformations are the glue that tie modelling activities together. If you’ve used modelling in anger then, whether you know it or not, you’ve used model transformations. They come in all shapes and sizes from moving models between di?erent tools to generating implementations. Model transformations have humble beginnings—at one point, not long ago, it was said by many ‘in the know’ that the way forward in model transformations was to use XSLT. That this idea now raises a wry smile shows how far the model transformation community has come in a short time. Where once model transformations were hacked together in a variety of unsuitable languages, we now have a number of powerful, dedicated languages and theories at our disposal. Since 2008, the ICMT conference series has played a huge part in advancing the subject, and this third edition was no di?erent. The theories and languages presented at ICMT have allowed principled model transformations to play an ever greater part in real systems. Of course there is still much more to do: we need our model transformations, languages, and theories to scale further, allow greater expressivity, be more ?exible, and aid reusability; and we lack empirically backed studies of model transformations in use. Doubtless you can think of other gaps. Yet, though some real-world challenges lie just beyond our reach,eachyearseesonce-dauntingproblemsconquered.Muchofthatprogressis nowdriven byICMT, andthis year’sedition showedhow model transformations are increasingly being used in previously unfamiliar areas.




Programming Language Design Concepts


Book Description

Explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major paradigms: imperative, OO, concurrent, functional, logic and with recent scripting languages. It gives greatest prominence to the OO paradigm. Includes numerous examples using C, Java and C++ as exmplar languages Additional case-study languages: Python, Haskell, Prolog and Ada Extensive end-of-chapter exercises with sample solutions on the companion Web site Deepens study by examining the motivation of programming languages not just their features




Model-Driven Software Development


Book Description

Model-Driven Software Development (MDSD) is currently a highly regarded development paradigm among developers and researchers. With the advent of OMG's MDA and Microsoft's Software Factories, the MDSD approach has moved to the centre of the programmer's attention, becoming the focus of conferences such as OOPSLA, JAOO and OOP. MDSD is about using domain-specific languages to create models that express application structure or behaviour in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations. This practical guide for software architects and developers is peppered with practical examples and extensive case studies. International experts deliver: * A comprehensive overview of MDSD and how it relates to industry standards such as MDA and Software Factories. * Technical details on meta modeling, DSL construction, model-to-model and model-to-code transformations, and software architecture. * Invaluable insight into the software development process, plus engineering issues such as versioning, testing and product line engineering. * Essential management knowledge covering economic and organizational topics, from a global perspective. Get started and benefit from some practical support along the way!




Fundamentals of Algebraic Graph Transformation


Book Description

This is the first textbook treatment of the algebraic approach to graph transformation, based on algebraic structures and category theory. It contains an introduction to classical graphs. Basic and advanced results are first shown for an abstract form of replacement systems and are then instantiated to several forms of graph and Petri net transformation systems. The book develops typed attributed graph transformation and contains a practical case study.