Programming‎ > ‎


 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?