Model Driven Architecture
- 06 September, 2006 15:20
- Comments
Model Driven Architecture (MDA) is an approach to translating real-world algorithms into computer code. It focuses on representing algorithms in a modelling language, followed by a possibly automatic translation of the models into computer code. Doing justice to the definition of MDA's innovation requires a short, potted history of computers.
Without instructions, or code, computers are just expensive heaters. One of the main problems of the Computer Age has been how to give computers instructions to translate human desire into outputs.
For about 50 years, the answer has been to code in text-based languages, all of which try to aid programming. The first of these text-based languages was assembly, which is more human-readable than machine code, though it still requires a formidable understanding of how registers, memories and, sometimes, pipelined instruction fetches work.
Fortran, which stands for "formula translator" and dates from the 1950s, was the next step in divorcing programmers from a required knowledge of hardware. It hides the computer architecture of registers and presents a syntax that allows humans to concentrate on creating algorithms. Fortran incidentally fortifies the notion of free-floating subroutines and functions.
Other third-generation languages have offered varieties of abstraction from computer hardware, imposing rules and providing new ways for organizing algorithms and data. Type-safe languages have taken a stab at preventing programmers from making certain mistakes. Permissive languages, which allow easy casting of pointers, have enabled programmers to do all kinds of marvelous thing -- including stringing up their own coding nooses.
Different approaches to managing algorithms, such as structured programming and object-oriented programming, have been developed. Programming languages that facilitate these paradigms have been created, and libraries of code have been published.
A culture of best practices, which includes requirements analysis, peer reviews and modeling, has arisen to help create software that contains fewer errors and is more efficient, reusable and portable.
Unified Modelling Language (UML) has been promoted by Object Management Group (OMG), a Needham, standards body that's maintained by a consortium of interested companies. It has become the language for modelling algorithms and has been adopted by the software community at large. Originally, an algorithm was expressed in UML before it was manually translated into a text-based language, which was then automatically compiled into assembly language and machine code.
But that raised the question of whether the models themselves could be compiled into machine code, thus improving ways to think about algorithms and to produce software. Efforts to make the process simple and universal were the genesis of the paradigm shift that has led to MDA.
- Bookmark this page
- Share this article
- Got more on this story? Email Computerworld
- Follow Computerworld on twitter
-
Spotify music streaming hits Australian shores
-
Don't use Emacs, says Java's father
-
Brain drain: Where Cobol systems go from here
-
Spotify music streaming hits Australian shores
-
Change My Password logs 10 millionth account
-
Excel 2007 All-In-One Desk Reference for Dummies
-
Teach Yourself Visually Windows 7
-
Computers for Seniors for Dummies, 2nd Edition
-
Microsoft Office
-
Windows 7 for Dummies®
-
Windows 7 for Seniors for Dummies®
-
MYOB Software for Dummies 6E Australian Edition
-
Office 2007 All-In-One Desk Reference for Dummies
-
Windows 7 for Dummies® Dvd+book Bundle









Comments
Post new comment