By Víctor Roldán Betancort,
Software developer/researcher at Open Canarias S.L.
Since almost a decade, software engineering has shown a
growing interest in model-driven engineering technologies,
although related specifications, standards and tooling has been
in the scene for a while, it wasn't until the birth of the MOF
Specification when the research and development of techniques
and tools for model-driven engineering have become widespread.
The Eclipse turned out to be a natural meeting point where all
these techniques and tools are developed, specially due to
their own implementation of MOF, the Eclipse Modeling Framework
(EMF) project, which is now the center of this technological
revolution and the cornerstone of a plentiful amount of
modeling technologies and a growing community. A wide spectrum
of commercial and open-source tools for software engineering
that use these technologies is starting to emerge.
The model turns into a fundamental asset in the development
process. In several scenarios, models and model transformations
used by the tool to automate development tasks need to be
protected in the same way we used to protect the source-code of
our products. Models usually take the shape of a binary file,
or more commonly, an XML/XMI file, which might become exposed
and therefore reveal critical information of the inner
mechanisms of the tool. Protection of these assets is therefore
a priority requirement in almost any product nourished by
Open Canarias has several years of experience in the
development of software engineering tools built over modeling
technologies in the Eclipse platform. To be highlighted is OC
Rosetta ®, a tool for modernization driven by legacy system
models, built on top of the Eclipse RCP framework and EMF.
This product implements bleeding-edge techniques in the
field of model-driven engineering to allow the exploration,
analysis, knowledge recovery and documentation of legacy
systems. In the heart of this tool a COBOL CICS parser converts
source code into models that conforms to a EMF/MOF meta-model.
Much of these functionality is implemented by model
transformations, executed through Open Canaria's ATC/VTE
open-source transformation engine. These transformations, as
well the used models and meta-models, suppose a great extent of
the development effort, and it implied years of research and
investment which represent an important part of the value of
the product. With more than 22,000 Java classes (not counting
Eclipse's and EMF's), 371 bundles and managing big-sized
models, OC Rosetta ® represents a complex Java application
and quite a challenge for any protection scheme.
It is then when Excelsior JET comes into play, representing
the best (and possibly only available) solution, capable to
protect not only Eclipse RCP and OSGi based applications, but
also those that rely on the modeling technologies available in
the platform. Commercial distribution of OC Rosetta ®
wouldn't have been possible without the usage of Excelsior's
technology, since the value of the product would have become
immediately exposed and putting its competitive advantage at
risk. The string encryption feature offered by JET solved the
problematic of distributing bundles (eclipse plugins)
containing models and transformations in the shape of XML/ XMI
files. The result is a native application, properly packaged
for its distribution in the Internet and offering the same
robustness as the original product.
Excelsior JET has dramatically improved our software
protection necessities and enabled the global distribution of
our Eclipse-based solutions in a safe manner.