Java Reference
In-Depth Information
tooling with extensibility points and open application programming interfaces
(APIs), which typically were not powerful enough or stable enough to meet a
wide range of customer requests.
Instead of developing large, complex APIs for client customization needs,
consider the alternative approach of software factories. Give your clients, or per-
haps your services organization, a core set of models, transformations, and code-
generation templates to target a stable underlying application framework such as
Eclipse or Java EE. Developing the domain models to suit clients—or, in the case
of the sample applications here, the process methodology used—means that the
application delivered is designed up front to meet their needs. Selecting variation
points is complemented by customizing the underlying generation facilities to
provide the required functionality. In the case of a true product line, in which the
functionality is largely the same from client to client, the richness of the genera-
tor improves over time to the point that setting top-level parameters (instead of
low-level framework modifications) achieves greater customization. This is where
the promise of model-driven software development lies: a reduced cost of appli-
cation development through domain-specific models or generative techniques.
Today there's still a long way to go before this vision can be realized. This
topic focuses on what is available today and, specifically, what is available to
enable DSL development using the Eclipse Modeling Project, which we cover
next.
1.5 The Eclipse Modeling Project
The Eclipse Modeling Project is a relatively new top-level project at Eclipse. In
contrast, the core of the project, EMF, has been in existence for as long as the
Eclipse platform itself. Today the Modeling project is largely a collection of proj-
ects related to modeling and MDSD technologies. This collection was formed to
coordinate and focus model-driven software development capabilities within
Eclipse. The introduction of the Amalgamation project ushered in the beginnings
of a DSL-focused development environment, although it has a long way to go
before mainstream developers can use it. Documentation certainly lags behind
implementation within Modeling—hence, the need for this topic.
The Modeling project is organized logically into projects that provide the fol-
lowing capabilities: abstract syntax development, concrete syntax development,
model-to-model transformation, and model-to-text transformation. A single
project, the Model Development Tools (MDT) project, is dedicated to the sup-
port of industry-standard models. Another project within the Modeling project
focuses on research in generative modeling technologies. These are outside the
scope of this topic, except where explicitly referenced.
 
Search WWH ::




Custom Search