There are many possible tools that need to be integrated to make a complete development environment. In this book alone, we have suggested the need for model builders, mapping function tools, model compilers, and so forth. With the right standards, one can envision tools that do the following:
We can imagine a developer receiving a model from a vendor or colleague; turning that model into a comfy notation or format; making a change with a model builder; verifying that the behavior is correct by analysis and by running test cases; marking the models and deploying them; analyzing performance; debugging the resulting system, and so forth. Note that this list of tool ideas sounds exactly like what we have with modern source code IDEs. None of this is necessarily specific to MDA. The needs we know from the 3GL tool world, by the same rationale, also apply to the MDA world. Models can capture design information that's normally lost in the code, so that tools, such as analyzers, test generation tools, and so forth can be more effective than they are today with 3GL tools. When developers have the ability to provide specification tidbits at varying levels of abstraction and then link them all together, MDA will face additional tool challenges regarding smooth integration between different specification levels, such as consistency checking, constraint propagation, and incremental mapping function execution. This will, admittedly, be trickier than it is in a 3GL world. |