Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Taller 16 Nov - Ingeniería Dirigida Por Modelos
Taller 16 Nov - Ingeniería Dirigida Por Modelos
TALLER 16
INGENIERIA DIRIGIDA POR MODELOS
ÁREA
METODOLOGIA, DESARROLLO Y CALIDAD EN
INGENIERIA EN SOFTWARE
TEMA
“INGENIERIA DIRIGIDA POR MODELOS”
GRUPO
LSI. CARLOS MARIN SANTANA
LSI. ANDRES GOMEZ CEDEÑO
2020
GUAYAQUIL - ECUADOR
ÍNDICE
6. BIBLIOGRAFIA ........................................................................... 52
1. INGENIERIA DIRIGIDA POR MODELOS
Las tecnologías de ingeniería impulsadas por modelos ofrecen un
enfoque prometedor para abordar la incapacidad de la tercera generación
de lenguajes para aliviar la complejidad de las plataformas y expresar
conceptos de dominio de forma eficaz.
En las últimas cinco décadas, los investigadores y desarrolladores de
software han estado creando abstracciones que les ayuda programa en
términos de su intención de diseño en lugar del entorno informático
subyacente, por ejemplo, CPU, memoria, y dispositivos de red y
protegerlos de las complejidades de estos entornos.
Desde los primeros días de la informática, estas abstracciones incluían
tecnologías tanto de lenguaje como de plataforma. Por ejemplo, los
primeros lenguajes de programación, como ensamblador y Fortran,
protegían a los desarrolladores de las complejidades de la programación
con código de máquina. Asimismo, las primeras plataformas de sistemas
operativos, como OS / 360 y Unix, protegían a los desarrolladores de
complejidades de la programación directamente al hardware. Aunque
estos lenguajes y plataformas tempranos elevaron el nivel de abstracción,
todavía tenían un distintivo "orientado a la computación" atención. En
particular, proporcionaron abstracciones del espacio de la solución, es
decir, el dominio de las tecnologías informáticas. en sí mismos, en
lugar de abstracciones del espacio de problemas que expresan diseños
en términos de conceptos en aplicación dominios, como
telecomunicaciones, aeroespacial, salud, seguros y biología.
LECCIONES DE INGENIERÍA DE SOFTWARE ASISTIDA POR
COMPUTADORA
Varios esfuerzos anteriores han creado tecnologías que elevaron aún más
el nivel de abstracción utilizado para desarrollar software. Un esfuerzo
destacado iniciado en la década de 1980 fue la ingeniería de software
asistida por computadora (CASE), que se centró en desarrollar métodos y
herramientas de software que permitieron a los desarrolladores expresar
sus diseños en términos de gráficos de propósito general
representaciones de programación, como máquinas de estado, diagramas
de estructura y diagramas de flujo de datos. Uno de los objetivos de
CASE era para permitir un análisis más completo de programas gráficos
que incurren en menos complejidad que los de propósito general
convencionales lenguajes de programación, por ejemplo, al evitar la
corrupción de la memoria y las fugas asociadas con lenguajes como C.
Otro objetivo era sintetizar artefactos de implementación a partir de
representaciones gráficas para reducir el esfuerzo de manualmente
programas de codificación, depuración y portabilidad. Aunque CASE
atrajo una atención considerable en la literatura de investigación y
comercio, no fue ampliamente adoptado en la práctica. Un problema que
enfrentó fue que las representaciones de lenguaje gráfico de propósito
general para programas de escritura en herramientas CASE mal mapeado
en las plataformas subyacentes, que eran en gran parte sistemas
operativos de un solo nodo, como DOS, OS / 2 o Windows: que
carecía de soporte para propiedades importantes de calidad de servicio
(QoS), como distribución transparente, fallas tolerancia y seguridad. La
cantidad y complejidad del código generado necesario para compensar la
escasez de plataformas subyacentes estaba más allá del alcance
de las tecnologías de traducción disponibles en ese momento, lo que
dificultaba desarrollar, depurar y desarrollar herramientas y aplicaciones
CASE creadas con estas herramientas.
Otro problema con CASE fue su incapacidad de escalar para manejar
sistemas complejos a escala de producción en una amplia gama de
dominios de aplicación. En general, las herramientas CASE no admitían
ingeniería concurrente, por lo que se limitaban a programas escrito
por una sola persona o por un equipo que serializó su acceso a los
archivos utilizados por estas herramientas. Además, debido a la falta de
potentes plataformas de middleware comunes, las herramientas CASE se
dirigían a entornos de ejecución propietarios, lo que dificultaba la integrar
el código que generaron con otros lenguajes de software y tecnologías de
plataforma. Las herramientas CASE tampoco eran compatibles muchos
dominios de aplicación de forma eficaz porque sus representaciones
gráficas de "talla única" eran demasiado genéricas y no personalizable.
En la medida en que las herramientas CASE se aplicaron en la
práctica, se limitaron en gran medida a un subconjunto de herramientas
que permitían a los diseñadores dibujar diagramas de arquitecturas
de software y decisiones de diseño de documentos, que los
programadores luego utilizaron para ayudar a guiar el creación y
evolución de sus implementaciones artesanales. Dado que no hubo una
relación directa entre los diagramas y las implementaciones, sin embargo,
los desarrolladores tendieron a no poner mucho énfasis en la precisión de
los diagramas, ya que rara vez estaban sincronizados con el código
durante las etapas posteriores de los proyectos.
Según OMG (del inglés, Object Managment Group) (OMG, 2006), OCL
puede ser usado con distintos propósitos:
Para especificar características estáticas sobre clases y tipos en
un modelo de clases.
Para especificar características estáticas de tipo para Estereotipos.
Para especificar pre y post-condiciones sobre Operaciones y
Métodos. Como lenguaje de navegación.
Para especificar restricciones sobre operaciones.
context Persona
inv: padre.FechaN < self.FechaN
and mother.FechaN < self.FechaN
Según las definiciones de RI vistas anteriormente esta se podría clasificar
como; de fuente empírica, alcance estático y la causa de la violación es
evento-violable.
5. TRANSFORMACIONES DE MODELOS
https://www.youtube.com/watch?v=vhSoren2bJA
http://di002.edv.uniovi.es/~cueva/asignaturas/masters/2008/MDE_udistritl.
pdf
http://www.scielo.org.co/pdf/dyna/v78n169/a05v78n169.pdf
https://www.youtube.com/watch?v=idDfo126BOk
https://www.youtube.com/watch?v=bNUwOUEYphk
https://modeling-languages.com/ocl-tutorial/
https://modelinglanguages.com/wpcontent/uploads/2012/03/OCLChapter.
pdf
https://www.omg.org/spec/OCL/2.4/PDF