Title: Lic. Patricia Scalzone patricias@vemn.com.ar
1Lic. Patricia Scalzonepatricias_at_vemn.com.ar
Innovaciones de Modelado en una Software Factory
2Temario
- Antecedentes
- Lenguaje de Especificación de Dominio (DSL)
- Pasos para la definición de un DSL
- Ejemplos
3Antecedentes
- La evolución del modelado y desarrollo de
Software - Automatización
- Generación de Código
- Testing
- Documentación
- Integración de equipos
- Escenarios
- Software Factories
- Calidad del Software
- Grandes Proyectos
- Áreas de Empresas
4Lenguajes de Especificación de Dominio
- Lenguajes de propósito general
- UML
- Otros
- DSL
- Permite especificar la solución en un alto nivel
de abstracción utilizando conceptos de dominio. - Un lenguaje de especificación de dominio es un
lenguaje específico para un dominio.
5Pasos para definir un DSL
- Identificar las abstracciones y cómo trabajan
juntas - Especificar los conceptos del lenguaje y sus
reglas (Metamodelo) - Crear una representación visual del lenguaje
(Notación) - Definir los generadores para la verificación del
modelo, generación de código, documentación, etc.
6Abstracciones
- Lo más importante
- Mapea conceptos al problema del dominio
- Previene errores tempranos en la fase de diseño
- Minimiza el trabajo de especificación
- Hace al lenguaje más adecuado para la generación
- Permite describir cosas en términos de los
problemas del dominio, en vez de conceptos de
implementación, es también un buen resguardo para
el futuro. - Lo importante es lo que la aplicación hace, no
cómo lo hace, o qué lenguaje o framework la usa.
7Definición del Lenguaje
- Reglas, Propiedades y Restricciones del modelo
- Mapeo de los conceptos principales a los objetos
de modelado - Conceptos secundarios
- Propiedades
- Conexiones
- Sub-Modelos
- Links a otros modelos en otros lenguajes
8Notación
- Diagramas
- Matrices
- Tablas
- Texto plano
- No rectángulos iguales de UML para los diferentes
conceptos
9Generación
- Mapeo de los conceptos a código
- Lenguajes y Frameworks
- .NET (C, C, Phyton, Haskell, etc.)
- J2EE (Java)
- XML
10Ejemplos - Modelado de Seguros
11Ejemplos - Menú por Voz
12Ejemplos
13Ejemplos Sistema Distribuido
14(No Transcript)
15(No Transcript)
16(No Transcript)
17(No Transcript)
18Modelado de Colaboración de Ports
19Modelado de Sistema Distribuidos
20Ejemplo de Workflow de Kepler
21Modelado de Workflow
22Modelando en términos de dominio vs. modelando su
código
Idea de Dominio
Producto Terminado
Solucionar Problemas en términos de dominio
23Sistemas Embebidos
24Resumen
- Antecedentes
- Domain Specific Language
- Pasos para la definición de un DSL
- En un futuro
25Referencias
- Microsoft Domain-Specific Language Tools
- http//msdn.microsoft.com/vstudio/DSLTools
- DOME
- http// www.htc.honeywell.com/dome
- GME
- http// www.isis.vanderbilt.edu/projects/gme
- MetaEdit
- http// www.metacase.com
- OOPSLA Domain Specific Visualization Workshop
(2002) - http// www.cis.uab.edu/info/OOPSLA-DSVL2
- Meta-Modeling Resources
- http// www.metamodel.com
- Program-Transformation.Org
- http// www.program-transformation.org
- DSM Forum
- http// www.dsmforum.org
26Lic. Patricia Scalzonepatricias_at_vemn.com.ar
Muchas Gracias !!