Do you agree with the author that moving programming abstraction up a level to generate entire applications by translating them from an Executable UML representation to a Virtual Execution Environment (VEE) is the probable future of software development? Is it a viable idea now? Is it a good idea? How would such a capability affect you, as a developer? Let us know in the design.architecture discussion group.
Executable UML marries an abstract program model with a platform-specific model compiler that outputs an executable application. If successful, this combination holds the potential for a major shift in development tasks.
by Gerry Boyd
February 5, 2003
"The entire history of software engineering is that of the rise in levels of abstraction" said Grady Booch in his talk "The Limits of Software." Today, we're at the beginning stages of the next level. Executable UML is the next logical, and perhaps inevitable, evolutionary step in the ever-rising level of abstraction at which programmers express software solutions. Rather than elaborate an analysis product into a design product and then write code, application developers of the future will use tools to translate abstract application constructs into executable entities. Someday soon, the idea of writing an application in Java or C++ will seem as absurd as writing an application in assembler does today. And the code generated from an Executable UML model will be as uninteresting and typically unexamined as the assembler pass of a third generation language compile is today.
This shift is made possible by the confluence of four factors:
The development of the Model Driven Architecture (MDA) standards by the Object Management Group (OMG)
The adoption of the Precise Action Semantics for the Unified Modeling Language specification by the OMG in November of 2001
A proposed profile of UMLExecutable UMLsupports creating a complete and implementation-neutral self-contained expression of application functionality. Steven J. Mellor and Marc J. Balcer define this profile in their book Executable UML: A Foundation for Model-Driven Architecture
The availability of high-quality Model Compilers and Virtual Execution Environments (VEEs) that provide "out of the box" platforms upon which Executable UML models can execute. These VEEs, which exist today in a somewhat incipient stage, will someday soon reduce low-level system architectures to near-commodity status.
This article reviews these four factors in greater detail and discusses the implications of them relative to the future of software development.
It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com. Already a member?
To become a member of DevX.com create your Member Profile by completing the form below. Membership is free!