A model is a representation or a simulation of some real-world entity. People create models in order to view, manipulate, or test the thing they represent without having to build the real thing. Modeling help to maximize compatibility between systems, simplify the process of design, and promote communication between individuals and teams working on the system, thereby greatly increasing the productivity. Such idea also applies to software development, resulting in a new software development methodology, Model-driven engineering (MDE), which “focuses on creating models, or abstractions, more close to some particular domain concepts rather than computing (or algorithmic) concepts.”( http://en.wikipedia.org/wiki/Model-driven_engineering). Many big companies have invested a lot to develop their own modeling technologies.
“I think one of the biggest trends in application development that I talked about… is modeling, and we’re making a big investment in that. We have what’s been code named Oslo, and talked a little bit about it on our Web sites and our blogs, which is this model-driven development platform.” Bill Gates, Chairman, Microsoft (Watch video by Bill Gates discussing the future of application development.)
“Oslo” is the code name for a set of future Microsoft modeling technologies that aim to provide significant productivity gains across the lifecycle of .NET applications by enabling developers, architects, and IT professionals to work together more effectively. (Watch video, “A Lap around ‘’Oslo”)
In simplicity, “Oslo” contains three basic elements: “A tool that helps people define and interact with models in a rich and visual manner; A language that helps people create and use textual domain-specific languages and data models; A relational repository that makes models available to both tools and platform components” (What is Oslo?)
Introduced first on September 2007, “Oslo” developed very quick, becoming one of the most strategically important technology for Microsoft. “The modeling platform is aligned in a deep and fundamental way with the data programmability stack (ADO.NET , EF/EDM, Astoria, etc.).”( On Oslo?)
In the long run, “Oslo” will merge into the whole .NET technology family, acting as a set of modeling capabilities for an already-existing .NET platform instead of an isolated development platform. In other words, “instead of ‘Oslo’ introducing new capabilities for applications to use, it’s introducing a new and hopefully more powerful means of authoring .NET applications.”(What Exactly Does One Do With ‘Oslo’?)