Modelos, lenguajes y abstracción
Fecha
2008
Autores
Sánchez, José Aurelio
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Nacional (Costa Rica)
Resumen
Todo proceso de construcción (ya sea de edificaciones, de máquinas, de software, etc.) requiere previamente construir un modelo del artefacto a fabricar. Este modelo tendrá como base o punto de partida un paradigma o metamodelo elegido: cuáles son los elementos básicos de modelaje, qué conceptos del mundo permiten representar o modelar, qué tipos de interrelaciones pueden establecerse entre ellos, etc. También deberá existir un lenguaje que nos permita expresar o representar el modelo, manipularlo de diversas formas y sacar conclusiones o pruebas de las características y desempeño del artefacto a construir. Necesariamente, el modelo que hagamos será solo una abstracción del artefacto real a construir, por ello, tanto el paradigma que elijamos como el lenguaje que utilicemos deben tener la capacidad de expresar dicha abstracción, concentrándose en elementos esenciales y relegando detalles accidentales. Además, muy deseablemente, ambos, el paradigma y el lenguaje, deberán permitir hacer construcciones con mayores niveles de abstracción a partir de otras más elementales. En este artículo se caracteriza la interrelación que existe entre estos tres conceptos, modelo-lenguaje-abstracción, también, se ubican en este enfoque varios modelos históricamente utilizados y se da una perspectiva más general para visualizar futuras propuestas.
Every construction process (whatever buildings, machines, software, etc.) requires first to make a model of the artifact that is going to be buil. This model should be based on a paradigm or meta-model, which defines the basic modeling elements: which real world concepts can be represented, which relationships can be established among them, and son on. There also should be a language to represent, manipulate and think about that model. Usually this model should be redefined at various levels of abstraction. So both, the paradigm an the language, must have abstraction capacity. In this paper I characterize the relationships that exist between these concepts: model, language and abstraction. I also analyze some historical models, like the relational model for databases, the imperative programming model and the object oriented model. Finally, I remark the need to teach that model-driven approach to students, and even go further to higher level models, like component models o business models.
Every construction process (whatever buildings, machines, software, etc.) requires first to make a model of the artifact that is going to be buil. This model should be based on a paradigm or meta-model, which defines the basic modeling elements: which real world concepts can be represented, which relationships can be established among them, and son on. There also should be a language to represent, manipulate and think about that model. Usually this model should be redefined at various levels of abstraction. So both, the paradigm an the language, must have abstraction capacity. In this paper I characterize the relationships that exist between these concepts: model, language and abstraction. I also analyze some historical models, like the relational model for databases, the imperative programming model and the object oriented model. Finally, I remark the need to teach that model-driven approach to students, and even go further to higher level models, like component models o business models.
Descripción
Palabras clave
LENGUAJES DE PROGRAMACIÓN, PROGRAMAS COMPUTACIONALES, INGENIERÍA DE SISTEMAS, SYSTEMS ENGINEER, PROGRAMMING LANGUAGES