During the past decade, model-driven software engineering has matured through the standards developed by the OMG (Object Management Group). Model-driven architectures (commonly known as MDA) and model-driven applications are complementary approaches to developing new IT solutions. Business level enterprise models serve as an excellent starting point for conventional software application development. The main objective of model-driven applications however, is not to increase the amount of software code, but rather to create a new kind of software platform that can be configured and repurposed through modeling, rather than programming. There are therefore some clear differences between MDA and model-driven applications: Read the rest of this entry »

Based on 10-15 years of experience in research and development of model-driven applications, I here propose some design principles for active modeling platforms. The objective is to provide end users with a modeling framework that is simple enough for their use, yet powerful enough to define complete executable applications. While most of these principles are known to modeling experts, few are fully supported by the modeling tools currently on the market. The principles deal with modeling language, openness and evolution, reuse and inheritance, multiple views, modeling tools and methodologies. Read the rest of this entry »