Java Development News:

Discussing Eclipse Modeling Framework at EclipseCon

Software is playing a growing role in the fate of the modern enterprise, even outside of
technology-centric organizations. Industries like manufacturing, automotive and consumer products
are starting to struggle with the growing technical debt incurred by ad hoc software development.
Modeling techniques promise to help business managers running these companies make sense of their
existing service-oriented architecture systems. Unfortunately, this type of analysis is being done
as an afterthought -- if at all.

Keeping up with complexity

It is a huge part of the eclipse community, and the Eclipse Modeling Framework (EMF)
is leveraged by many Eclipse software projects. This technology is being used to guide the
development of embedded systems software that is used to control and ensure safety in cars,
airplanes and consumer electronics. Better modeling tools are also being used by business managers
to understand the technology underneath their business systems and to ensure regulatory compliance
regarding medical information and financial transactions.

Part of the problem might just be that business managers might not recognize the importance of
software in the modern enterprise. But the amount of software being baked into modern systems is
growing exponentially. For example, Milinkovich pointed out that the amount of software in new Airbus airplanes has grown about 10,000-fold in
three years.

As the amount of software grows, traditional processes for managing business specifications and
transforming them into code can break catastrophically. "These are companies that don't think about
software as a core competency," Milinkovich explained. "There is a bad thing that happens when
software hits 100 million lines of code."

Reduce manual coding

Many organizations are turning to modeling tools like EMF to automate many of the boring coding
tasks associated with developing large software systems. For example, Régent L'Archevêque, lead
software engineer with the Canadian Space Agency, has been using EMF since 2004 to improve the
development, speed and quality for robotic rovers and their control systems for space missions. He
said that using this kind of framework eliminates about 80% of the manual coding in new
projects.

Furthermore, the quality of the code base can improve over time. The open source and
community-oriented nature of EMF allows L'Archevêque's software architecture to leverage the bug
fixes and performance enhancements committed by other EMF developers in the software community.

Bringing EMF to the enterprise

Generating code is not so much the main focus of modeling, said Eike Stepper, CEO of ES -
Computersysteme, a software consultancy in Germany, and leader of the CDO Model Repository Project for the Eclipse
Foundation. It is more about the long-term preservation of knowledge. For example, Stepper has been
working with one large Swiss banking institution to create tools for understanding their complex
software.

In the wake of the financial crisis and the new regulations that resulted from it, the bank was
having difficulties in understanding how its underlying technology related to its business
processes. It needed to find a way to enforce architectural rules to ensure compliance. They also
needed to make it easy to shed unprofitable businesses and the SOA services that supported these
without impacting other business units or customers.

So the bank turned to EMF to help automatically generate models of these systems. However, the
underlying service architecture was incredibly complex, spanning legacy Common Business-Oriented
Language (COBOL) applications, various middleware technologies and front-end applications. They
developed special tools for parsing the applications and database schemas used by the bank to
automatically generate new models of how the pieces fit together on a regular basis.

Scaling the models

This kind of approach allowed them to quickly determine whether existing software violated
architectural and new regulatory rules. For example back-end COBOL applications were only
supposed to talk to other back-end applications through the services framework. But many developers
had simply coded direct connections between them, which resulted in architectural rules violations.
The automated scans made it easier to see where these violations occurred and to detect new
applications that violated the rules.

As a result, the EMF models for making sense of these systems quickly grew beyond 30 GB.

Such large-scale models were difficult to manage with a basic EMF framework, so they turned to
work being carried out by the CDO project for shared EMF models to help scale. This made it easier to allow
shared access, collaboration, better security and controls, auditing of changes in the underlying
services, and improved performance.

Steppe noted that modeling is widely used in Europe, but not so common in the U.S. In the U.S.,
there is a tendency to get things out quickly, rather than spending a lot of time to do it right.
In Europe, you get it out when it's done right. Before you invest in the expense of coding, you
need to create models of the things you plan to implement.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.