Ads
Links
Model-based Engineering vs Model-Driven Engineering
With this post, I'm trying to clarify the relationship between these "model-driven" concepts and the notion of model-based engineering (MBE).
I use "model-based engineering" (or "model-based development") to refer to a softer version of MDE. That is, to me, a MBE process is a process in which software models play an important role although they are not necessarily the key artifacts of the development (i.e. they do not "drive" the process as in MDD). An example would be a development process where, in the analysis phase, designers specify the platform-independent models of the system but then these models are directly handed out to the programmers to manually write the code (no automatic code-generation involved and no explicit definition of any platform-specific model). In this process, models still play an important role but are not the basis of the development process.
Therefore, I see MBE as a superset of MDE. All model-driven processes are model-based but not the other way round.
From the previous post it was clear that there is no general agreement on the meaning of all these MDA,MDE, MDD... concepts so I don't expect to convince you with this one either. If you have a better proposal feel free to share it here!
If you enjoyed this post you can subscribe to this Software Modeling blog and/or follow me on twitter or through the portal's mailing list . And if you really liked it help me pass it on to others by bookmarking and sharing the post using the links below:

Delicious
Digg
StumbleUpon
Reddit
Facebook
Google
Yahoo
Technorati
Is there any software develpment that is not MBE?
I wonder whether there is any software development that is non-MBE.
From my point of view, a textual requirements specification is actually a model. Then, only a software development in which the software source code is typed without any prior specification of the user needs could be considered non-MBE.
Furthermore, even a mental conception of the domain (a.k.a. universe of discourse) is a model, although it is not specified with visual signs. This is more restrictive: only a software development in which the software source code is typed without any prior knowledge acquisition could be considered non-MBE.
Well, reached this point, my stance is that there is nothing outside the MBE set.
Probably I have ended up with this conclusion because you have not defined the term model and I took the broader meaning ;)
Any software develpoment not MBE?
My answer is "it depends". If we accept mental models as models then my answer is NO. Since I agree that there is always a mental model of the domain in the designers' heads(regardless this is made explicit or not during the development process, see this previous post on the topic ) then all processes would be MBE. However, if to be MBE we require the development process use explicit models I would then say that not all development process are MBE (YES answer).
For sure, the models do not need to be graphic models. I'd accept as a (explicit) model a textual specification providing that this specification follows a defined grammar/metamodel/schema.