viernes, 30 de noviembre de 2007

Tarea... Model Driven Programming

Investigacion:

Model-driven programming is a software development paradigm that strives to bring out the abstract model manipulation that we're trying to achieve through a body of programming language code. This approach focuses first on what is being achieved in a computing system and then on how it's being achieved. It's the responsibility of a software subsystem to translate the what to how.
Typically, the purpose of the software subsystem is to generate a concrete implementation from declarative models. This could be viewed as an extension of MVC (Model-View-Controller) architecture by incorporating a generator component (i.e., MVCG).
Adopting a generative approach in software development is a goal cherished by many application developers. Why write repetitive code when a single source of specification can generate the needed variations? Generic programming partially addresses this by allowing us to write template-based code in which the variability is expressed in the template parameter. For example, in C++ Standard Template Library (STL), the concepts of collections, iterators, and algorithms operating over iterators are all implemented in terms of parametric types Ti. When we use STL with a concrete type such as a C++ class, the code is generated by a C++ compiler/linker. In software development projects it's desirable to replace repetitive coding with some form of automation, and many times we see a need to achieve this. Custom program generators could replace the volume of manually written code by generating code from domain-specific models. Less manually written code is a good thing.

Model-Driven Programming involves creation of a high level interface for editing a model that represents the user's ideas, and can be translated to program code and alternative visualisations. Model-Driven Programming and the Semantic Web are explained in Frankel et al (2004). Model-Driven Programming and avionics is examined by Gray et al (2004). Model-Driven Programming and Visualisation is examined by the University of Victoria, Computer-Human Interaction and Software Engineering lab (CHISEL) (University of Victoria, 2006), (Storey et al, 2004) and (Elenius, 2005). Meta-programming (Dmitriev, 2006) is a useful way of allowing for language independent software development, and can aid in providing a high level front-end to programming languages. Model-Driven Programming and Meta-Programming together with Semantic Web and end-user programming techniques are vital ingredients of the User Driven Programming approach used in this research. Horrocks (2002) explains the use of meta-data annotations and how they can make resources accessible to agents.

Explicacion:

Model Driving Programming es un software que contiene una interfaz de muy alto nivel para editar un modelo que contenga las ideas del cliente o usuario, este programa tambien nos permite ahorrarnos escribir repetitivamente un codigo porque este almacena variaciones de estos, este software tambien incluye dos tecnicas de transformación; estas pueden ser usadas para traducir un modelo con la representación de un problema puede ser traducida directamente a codigo de programa.
Basicamente este programa nos ayudara a crear mas efectivamente los modelos de los programas y más rapido esto nos ahorrara tiempo y aparte es de mayor recursos, con esto es mas facil la resolucion de problemas que se puedan presentar.



Referencias
http://xml.sys-con.com/read/40452.htm
http://www.cems.uwe.ac.uk/amrc/seeds/softwareengineering.htm#ModelDrivenProgramming
http://www.cems.uwe.ac.uk/amrc/seeds/softwareengineering.htm#SoftwareEngineeringandModelDrivenProgramming

No hay comentarios: