"I'm with Politecnico di Milano, Italy, researching on the application of model driven development (MDE/MDD/MDA = MD*) techniques to all the software field, including: web engineering and modeling of web applications (WebML, WebRatio), multimedia & multidomain search engines (Search Computing), business processes (BPMN), and web services."
" I am Johan den Haan, working for Mendix as CTO. This blog is personal, all opinions are mine and should be taken with a pinch of salt. I write about topics in the field of enterprise architecture and software engineering, like SOA, SOBA, MDE, MDA, MDD, DSL, etc. Johan den Haan on Twitter "
Knowledge Discovery Metamodel (KDM) is publicly available specification from the Object Management Group (OMG). KDM is a common intermediate representation for existing software systems and their operating environments, that defines common metadata required for deep semantic integration of Application Lifecycle Management tools. KDM was designed as the OMG's foundation for software modernization, IT portfolio management and software assurance. KDM uses OMG's Meta-Object Facility to define an XMI interchange format between tools that work with existing software as well as an abstract interface (API) for the next-generation assurance and modernization tools. KDM standardizes existing approaches to knowledge discovery in software engineering artifacts, also known as software mining.
"
The Web Modelling Language is a visual notation for specifying the content, composition, and navigation features of hypertext applications, building on ER and UML."
Modeling is supposed to be one of the most important activities in any software development process. At least this is the general understanding within the software engineering research community. However, in the day-to-day practice, modeling is usually regarded as, basically, a waste of time.
"
Xtext has been released as a part of the Eclipse Galileo release train on June 24th, 2009. Xtext is a framework for building DLSs (domain specific languages). In fact, it can be seen as a DSL for defining DSLs.
In this article, we will develop a small DSL for defining entities."
"Let's imagine we want to create an application for orders. People can sign in to the system, place orders for various items, check out and have them sent to their address. Very simple, but we can show a lot of things here.
As we expect to be writing more than one application of this type and as we also would like to be able to express the structure of the application on a business level (one of the major drivers for DSLs and MDSD for that matter), we come up with the idea of using a DSL to describe what the application does. Defining the DSL is what we did last week. This week, we need to map the concepts of the DSL to some code and some APIs we're going to program against.
So, we're going to create a set of code templates for a code generator that can then read our DSL models and create persistence code for us."