Home > Innovations 2013 > GENERIC MODELING ENVIRONMENT: BUILDING TOOLS THAT BUILD TOOLS

GENERIC MODELING ENVIRONMENT: BUILDING TOOLS THAT BUILD TOOLS

The motto of model-integrated computing and its main tool—the Generic Modeling Environment (GME) could be the old saying: "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." Instead of providing a point solution to a given engineering or scientific problem, ISIS engineers typically create model-based frameworks built around GME that make it easier to solve not only the original problem, but a whole class of related problems.

building tools

While model-integrated computing is the overall scientific and engineering approach to building such integrated systems, GME is a modeling toolkit that implements that approach, explained Akos Ledeczi, associate professor of computer engineering and senior research scientist at ISIS.

GME is a model-integrated, program synthesis tool for creating domain-specific models, which support higher-level abstractions than general purpose programming languages (such as C++/C and Java) and general-purpose modeling languages (such as UML), so they require less effort and fewer low-level details to develop a given system. GME also allows users to define new modeling languages using metamodels, which describe the rules, constraints, and concepts applicable and useful for modeling a class of problems.

The main advantage of the model-integrated computing approach is that it supports application evolution in a seamless manner. End users of a GME-based environment need not be software engineers/programmers. They can simply modify the models as requirements change and regenerate the application without having to write a single line of lower-level code. Model-integrated computing aids in building a wide range of engineered systems, including computational and physical components, as well as addressing problems of integration with surrounding systems (including middleware infrastructure), while allowing the system to evolve. Related tools can also analyze how well a design will work and often synthesize and/or configure large portions of the application code and supporting software infrastructure.

"The general idea behind model-integrated computing is that we just don't sit down and write software to solve a particular problem," Ledeczi said. "We look at that problem and a set of related problems and try to abstract out what can be generalized. We model the system, and we generate part of the software and other design and manufacturing artifacts from these models. It's easier to change the models and regenerate the software using the GME tools, rather than having programmers write new code manually."

The entire model-integrated computing program was initially developed at ISIS under the leadership of Janos Sztipanovits, ISIS director and E. Bronson Ingram Professor of Engineering, and Gabor Karsai, professor of electrical engineering and computer science and ISIS associate director. Ledeczi became involved with the GME tool as a graduate student under Sztipanovits' tutelage.

The original GME toolkit was written for Microsoft computers using the Component Object Model (COM) for integration. GME is easily extensible, and external components can be written in any language that supports COM (including C++, Visual Basic, C#, Python, etc.). The upcoming Web-based GME is a key part of the new, rapidly evolving generation of technology that will make model-integrated computing accessible to anyone with a Web browser. This new tool will be a significant step forward, as it will run on any platform, including Windows, Mac, Linux, and even tablets, without the need to install any software. It will also support online collaboration, similar to Google Docs.

The computer models created with the ISIS model-integrated computing tools allow projects to move forward more rapidly and at a lower cost by discovering potential problems earlier. In each project, the modeling language is adapted to fit the thinking and tools of the practitioner. Moreover, ISIS engineers often don't use just one modeling language, but instead create different languages within domains or individual disciplines. "It's not one size fits all," Ledeczi explained.

building toolsGME is the most popular model-integrated computing toolkit for current projects at ISIS. "Whenever you see model-based design at ISIS, ninety percent of the time we are using GME in one way or another," Ledeczi said, "GME is well regarded for its adaptability and is easy to extend. Anybody can add software tools in many different programming languages to expand its functionality. What we have created are baseline tools for many actual and possible projects."

Earlier projects using GME included the development of a complex system for General Motor Corp.'s former Saturn plant in Spring Hill, Tennessee, to produce a production flow monitoring application. The modeling reflected how production was supposed to work, allowing the system to quickly locate problems even before the human operators realized problems existed. Porting the application to a different plant involved only building models. No lower-level software changes were needed.

Boeing used previous versions of model-integrated computing technology and tools when designing and building the International Space Station, including its fault detection, isolation, and recovery system. There are medical applications of GME as well. This technology helped model the treatment protocols for a clinical decision support system currently used in multiple intensive care units, a joint project between the Vanderbilt University Medical Center and ISIS.

Current projects include the META portion of the extensive Adaptive Vehicle Make (AVM) project centered at ISIS (see page 22), as well as tools used by the Future Airborne Capability Environment (FACE) (see page 10) to test conformance to the FACE standard reference architecture. Likewise, the Component-Integrated ACE ORB (CIAO) project at ISIS (see page 30) uses GME to generate the XML-based descriptor files it uses for deploying and configuring application components for the System F6 project (see page 8).

"GME is not only one of our flagship research tools at ISIS, but it is also used worldwide, in industry and academia," says Karsai. "It represents a paradigm shift that has far-reaching impact on software professionals and domain experts alike."