Why CASE tools from the 80s failed? The problem was that whenever you came up with an expensive CASE tool, the modeling language for that tool was decided by the vendor. The code gen also by vendor. The modeling lang might not fit their application. The beginning was in MetAPHOR project CASE tools were mostly like structured modeling methods like DFDs, ER diags which are even used them. The OOP languages came after that. What is most interesting about MDE? not much repetition in MDE, a lot of hand written code in java, c# or xml configs is repetition in one way or the other and wastes time and errors even with wonderful re-factoring tools, so the app is at the level of abstraction much higher than the code level, i.e at the level at which a user thinks- not how the code accomplishes it, but how it does it the whole world isn't doing it and its not mainstream. most people haven't done it yet that also shows that things happen slowly in the software technology industry advantages of MDE end users vs people who have to introduce paradigms like this in an organization What is the toughest part of MDSD for people currently using it? people have spent too much time writing textual code managers want UML diagrams for the code to be documented value addition for UML diagrams are really low any UML tool that comes with a code generator or a CASE tool hasn't have had a good experience with the auto-generated code because its done by a vendor somewhere a lot of the changes which comes from coding to modeling is a discontinuous change. the activities for the software developer is modeling and not coding and therefore will be significant because SEs will now have to learn a new modeling language. this is a new paradigm and has particular significance during deployment The initial investment on MDSD is too high and companies are reluctant? then what is that initial investment dependent on the model based approach you take and the tools you use if you take the OMG standards or organization, use UML to build models, then the problem is back to what was present in the early 80s and 90s with the CASE tools. Vendors of those tools quote about 20% productivity increase. 5 to 10 times increase is a huge ROI Marin Fowler on Dr Dobbs said he has not seen any validated productivity gains on using DSL tools and mostly companies cite it for marketing reasons only LOCs are not good measure of productivity you can't prove this like physics which can be repeated and the experimental error can show the productivity gain, but what can be done is observe the productivity gains by organizations using it measuring productivity for DSL tools build the same application with same developers with code and DSL tools scientific empirical case studies-5 to 6 on productivity increase in Kelly's blog measuring productivity gains on own lang or a standard language which language workbench or meta-modeling tool are you using Is this approach a big step away from agile dev? you don't need a big design investment upfront its not a new world in in DSL. most companies work in the same problem space if not in the same solution space. industry verticals like embedded or healthcare have well understood problem domains. this is not really an agile world like internal IT apps where agile is very useful. that is where DSM is very beneficial. The ability to build your own modeling language is Agile not a big design upfront category? MDSD is too hard for our s/w developers!! it will take some time to make the move and look at people who have made the move how much time it takes the modelers to learn the lang and depends if the concepts of the language come from the same org or an external standard or commercial vendor. because if it comes from within their work, the tool will speak their lang and will be easy to learn. People with abstract thinking skills can learn the lang and will be productive How can DSM deal with architectural factories? base the dsl on the problem domain not the solution domain. don't have info about the component you are going to be using in the models or the lang you are going to generate..the aim of DSM is to get rid of that app. Barbara Liskov Subs principle and ACM Turing award winner part of the ppt said, young s/w engineers know too little about Comp Sci or Information Sys history as a result of which they do repetitive work which are risky. e.g is dynamic typing Metaedit could have only one lang at a time Tools for MDSD now are doing what Metaedit did MDD is not just model to code, it can be model to for example a security policy Models at runtime or executable models? |
Programming >