Case Study: OC Rosetta®

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 models.

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.

OC Rosetta

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.