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
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.
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.
the first end-to-end guide to Domain-Specific Language (DSL) and Model-Driven Development (MDD) with Eclipse. • • Shows software developers how to leverage the Eclipse open source platform to gain the state-of-the-art productivity and quality benefits of DSLs and MDD. • Thoroughly covers the Eclipse Modeling Framework (EMF), As well as Eclipse projects covered in no other book, including GMF and QVT. • Includes comprehensive examples and code readers can learn from -- and apply in their own projects. Domain-Specific Languages (DSLs) and model-driven development (MDD) offer software engineers powerful new ways to improve productivity, enhance quality, and insulate systems from rapid technological change. Now, For the first time, there's a pragmatic, start-to-finish guide to creating DSLs and using MDD techniques with Eclipse. In Eclipse Modeling Project, Richard Gronback illuminates both the principles and techniques software professionals need to master - offering insights that will be invaluable to developers working with any tool or platform. As co-leader of Eclipse's Modeling project, and project lead for Eclipse's Graphical Modeling Framework (GMF), Gronback is singularly well-positioned to demonstrate DSLs and MDD at work in Eclipse. Gronback systematically introduces each of the Eclipse technologies that can be used in DSL and MDD development, including Eclipse Modeling Framework (EMF), Model-to-Text Transformation (M2T), and many more. In particular, he presents new best practices for using the Graphical Modeling Framework (GMF), and neverbefore- published techniques for Model-to-Model Transformation (M2M) utilizing the Eclipse Query/View/Transformation component. Throughout, Gronback introduces key concepts and technologies in the context of a start-to-finish worked example. The result is a book that any software practitioner can use to explore the remarkable potential of DSLs and MDD - and to start using these approaches in real-world projects.
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.
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.
The Definitive Guide to Eclipse Rich Client Development In Eclipse Rich Client Platform, Second Edition, three Eclipse Rich Client Platform (RCP) project leaders show how to use Eclipse 3.5 (“Galileo”) to rapidly deliver cross-platform applications with rich, native-feel GUIs. The authors fully reveal the power of Eclipse as a desktop application development platform; introduce important new improvements in Eclipse 3.5; and walk through developing a full-featured, branded RCP application for Windows, Linux, Mac, and other platforms—including handheld devices and kiosks. Drawing on their extensive experience, the authors cover building, refining, and refactoring prototypes; customizing user interfaces; adding help and software management features; and building, branding, testing, and shipping finished software. They demonstrate current best practices for developing modular and dynamically extensible systems, using third-party code libraries, packaging applications for diverse environments, and much more. For Java programmers at all levels of experience, this book Introduces important new RCP features such as p2, Commands, and Databinding Thoroughly covers key RCP-related technologies such as Equinox, SWT, JFace, and OSGi Shows how to effectively brand and customize RCP application look-and-feel Walks through user interface testing for RCP applications with SWTBot Illuminates key similarities and differences between RCP and conventional plug-in development Hands-on, pragmatic, and comprehensive, this book offers all the real-world, nontrivial code examples working developers need—as well as “deep dives” into key technical areas that are essential to your success.
This book presents an in-depth description of the Arrowhead Framework and how it fosters interoperability between IoT devices at service level, specifically addressing application. The Arrowhead Framework utilizes SOA technology and the concepts of local clouds to provide required automation capabilities such as: real time control, security, scalability, and engineering simplicity. Arrowhead Framework supports the realization of collaborative automation; it is the only IoT Framework that addresses global interoperability across multiplet SOA technologies. With these features, the Arrowhead Framework enables the design, engineering, and operation of large automation systems for a wide range of applications utilizing IoT and CPS technologies. The book provides application examples from a wide number of industrial fields e.g. airline maintenance, mining maintenance, smart production, electro-mobility, automative test, smart cities—all in response to EU societal challenges. Features Covers the design and implementation of IoT based automation systems. Industrial usage of Internet of Things and Cyber Physical Systems made feasible through Arrowhead Framework. Functions as a design cookbook for building automation systems using IoT/CPS and Arrowhead Framework. Tools, templates, code etc. described in the book will be accessible through open sources project Arrowhead Framework Wiki at forge.soa4d.org/ Written by the leading experts in the European Union and around the globe.
Written by two world class programmers and software designers, this guide explains how to extend Eclipse for software projects and how to use Eclipse to create software tools that improve development time.
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.