SlideShare una empresa de Scribd logo
1 de 14
Mmm…Quélenguagehablan en Oslo? Diego Ferreyra Core Technologies Manager Huddle Group S.A.
Agenda Modelos y Oslo MSchema MGrammar ¿Para qué nos sirve Oslo?  Conclusiones
Modelos de aplicaciones Ejemplo de un modelo: HTML Ya trabajamos orientados a modelos: Configuración de un archivo XML Frameworksdinámicos Abstracción Lenguaje común
Oslo OSLO == Plataforma de modelado Simple, 3 conceptos: Repositorio de modelos Lenguaje de modelado Quadrant, herramienta gráfica para modelado
Arquitectura de Oslo
¿Qué es M? Lenguaje funcional para definir modelos de dominios Definen esquemas y consultas Meta-Meta-Data Lenguaje para definición de DSLs MGrammar Qué NO ES: Lenguaje orientado a Objetos Tecnología de acceso a datos Reemplazo de T-SQL No representa comportamiento, representa MODELO No actualiza datos, pero asume que pueden cambiar externamente
DemoMSchema
Domain SpecificLanguages(DSL) Focalizado en un área o dominio Optimizado para ese dominio Hasta ahora: Dificultad para crear la gramática del lenguaje Parser para ese lenguaje MGrammarapunta resolver esto,  además de brindarherramietnasparatrabajarlo. MGrammarpermite crear DSLs M esun DSL, de hechosugramáticaestádefinida en MGrammar
DemoMGrammar
¿Para qué nos sirve Oslo? Generar lenguajes fácilmente En este momento, no mucho más, pero.. Mentity Mservice Mweb
Conclusiones Oslo es una plataforma de MODELADO M no es un lenguaje más de construcción de aplicaciones Esta en CTP y le falta un toque de horno. Empezar a pensar en modelos
¿Preguntas?
Referencias Oslo Development Center: http://msdn.microsoft.com/en-us/oslo/default.aspx Microsoft "Oslo" - May 2009 CTP: http://tinyurl.com/OsloMayCTP NHModeller: http://nhmodeller.selfip.com/

Más contenido relacionado

Destacado

Les sacrements et le pere laval 1
Les sacrements et le pere laval 1Les sacrements et le pere laval 1
Les sacrements et le pere laval 1
VirginieJulien
 
AL_Ress. documentaires 2013
AL_Ress. documentaires 2013AL_Ress. documentaires 2013
AL_Ress. documentaires 2013
Audrey Leblanc
 
DARVAZA, LA PUERTA DEL INFIERNO
DARVAZA, LA PUERTA DEL INFIERNODARVAZA, LA PUERTA DEL INFIERNO
DARVAZA, LA PUERTA DEL INFIERNO
Colegio Cervantes
 
Les ateliers créatifs version du 18 mars 2013
Les ateliers créatifs version du 18 mars 2013Les ateliers créatifs version du 18 mars 2013
Les ateliers créatifs version du 18 mars 2013
Martine Lizotte
 
Boostez vos actions pour manager, vendre et accompagner
Boostez vos actions pour manager, vendre et accompagnerBoostez vos actions pour manager, vendre et accompagner
Boostez vos actions pour manager, vendre et accompagner
Joseph SZCZYGIEL
 
Les sacrements et le pere laval 4
Les sacrements et le pere laval 4Les sacrements et le pere laval 4
Les sacrements et le pere laval 4
VirginieJulien
 
Chti informatique
Chti informatiqueChti informatique
Chti informatique
stemam
 

Destacado (18)

Ciudades
CiudadesCiudades
Ciudades
 
Les sacrements et le pere laval 1
Les sacrements et le pere laval 1Les sacrements et le pere laval 1
Les sacrements et le pere laval 1
 
Le BCM en soins ambulatoires : Bilan de la littérature et efforts de mise en ...
Le BCM en soins ambulatoires : Bilan de la littérature et efforts de mise en ...Le BCM en soins ambulatoires : Bilan de la littérature et efforts de mise en ...
Le BCM en soins ambulatoires : Bilan de la littérature et efforts de mise en ...
 
AL_Ress. documentaires 2013
AL_Ress. documentaires 2013AL_Ress. documentaires 2013
AL_Ress. documentaires 2013
 
AME-GALLERY Antoine Mercier Peinture Instants datés 0613 c avec oeuvres simi...
AME-GALLERY Antoine Mercier  Peinture Instants datés 0613 c avec oeuvres simi...AME-GALLERY Antoine Mercier  Peinture Instants datés 0613 c avec oeuvres simi...
AME-GALLERY Antoine Mercier Peinture Instants datés 0613 c avec oeuvres simi...
 
DARVAZA, LA PUERTA DEL INFIERNO
DARVAZA, LA PUERTA DEL INFIERNODARVAZA, LA PUERTA DEL INFIERNO
DARVAZA, LA PUERTA DEL INFIERNO
 
Modulo7 pro
Modulo7 proModulo7 pro
Modulo7 pro
 
MMA plan cadre
MMA plan cadre MMA plan cadre
MMA plan cadre
 
Les ateliers créatifs version du 18 mars 2013
Les ateliers créatifs version du 18 mars 2013Les ateliers créatifs version du 18 mars 2013
Les ateliers créatifs version du 18 mars 2013
 
EL SISTEMA SOLAR
EL SISTEMA SOLAREL SISTEMA SOLAR
EL SISTEMA SOLAR
 
Mujeron
MujeronMujeron
Mujeron
 
Clase #2 de publisher
Clase #2 de publisherClase #2 de publisher
Clase #2 de publisher
 
Boostez vos actions pour manager, vendre et accompagner
Boostez vos actions pour manager, vendre et accompagnerBoostez vos actions pour manager, vendre et accompagner
Boostez vos actions pour manager, vendre et accompagner
 
Ame gallery peinture d'antoine mercier -cocon-
Ame gallery peinture d'antoine mercier -cocon-Ame gallery peinture d'antoine mercier -cocon-
Ame gallery peinture d'antoine mercier -cocon-
 
Guia int de_linea_teo_de_green_02_2014
Guia int de_linea_teo_de_green_02_2014Guia int de_linea_teo_de_green_02_2014
Guia int de_linea_teo_de_green_02_2014
 
Les sacrements et le pere laval 4
Les sacrements et le pere laval 4Les sacrements et le pere laval 4
Les sacrements et le pere laval 4
 
Chti informatique
Chti informatiqueChti informatique
Chti informatique
 
Artistes de la rue
Artistes de la rueArtistes de la rue
Artistes de la rue
 

Similar a [Code Camp 2009] M (Modelling Languaje (Diego Fidel Ferreyra)

MDA en el contexto de datawarehouse
MDA en el contexto de datawarehouseMDA en el contexto de datawarehouse
MDA en el contexto de datawarehouse
Martin Baez
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes
2008PA2Info3
 
Presentacion Pfc
Presentacion PfcPresentacion Pfc
Presentacion Pfc
guest99072d
 
20090723 Presentacion Pfc
20090723 Presentacion Pfc20090723 Presentacion Pfc
20090723 Presentacion Pfc
azubi
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
Javier Muñoz
 
20090723 Presentacion Pfc
20090723 Presentacion Pfc20090723 Presentacion Pfc
20090723 Presentacion Pfc
azubi
 

Similar a [Code Camp 2009] M (Modelling Languaje (Diego Fidel Ferreyra) (20)

MDA en el contexto de datawarehouse
MDA en el contexto de datawarehouseMDA en el contexto de datawarehouse
MDA en el contexto de datawarehouse
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes
 
MDE & DSLs
MDE & DSLsMDE & DSLs
MDE & DSLs
 
Kiwi
KiwiKiwi
Kiwi
 
Presentacion Pfc
Presentacion PfcPresentacion Pfc
Presentacion Pfc
 
introducción tecnologías web
introducción tecnologías webintroducción tecnologías web
introducción tecnologías web
 
Programacion
ProgramacionProgramacion
Programacion
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
Programaciòn
ProgramaciònProgramaciòn
Programaciòn
 
mde-jcabot-110407060603-phpapp01.pptx
mde-jcabot-110407060603-phpapp01.pptxmde-jcabot-110407060603-phpapp01.pptx
mde-jcabot-110407060603-phpapp01.pptx
 
Metamodelos en Arquitecturas dirigidas por Modelos
Metamodelos en Arquitecturas dirigidas por ModelosMetamodelos en Arquitecturas dirigidas por Modelos
Metamodelos en Arquitecturas dirigidas por Modelos
 
C# for Beginners
C# for BeginnersC# for Beginners
C# for Beginners
 
1 eda teo
1 eda teo1 eda teo
1 eda teo
 
Programación Orientada a Objetos Programación Orientada a Objetos
Programación Orientada a Objetos Programación Orientada a ObjetosProgramación Orientada a Objetos Programación Orientada a Objetos
Programación Orientada a Objetos Programación Orientada a Objetos
 
Mda 2
Mda 2Mda 2
Mda 2
 
20090723 Presentacion Pfc
20090723 Presentacion Pfc20090723 Presentacion Pfc
20090723 Presentacion Pfc
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
 
Toare case ponencia_final_redcolsi2_2010_
Toare case ponencia_final_redcolsi2_2010_Toare case ponencia_final_redcolsi2_2010_
Toare case ponencia_final_redcolsi2_2010_
 
20090723 Presentacion Pfc
20090723 Presentacion Pfc20090723 Presentacion Pfc
20090723 Presentacion Pfc
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulos
 

Más de Microsoft Argentina y Uruguay [Official Space]

Más de Microsoft Argentina y Uruguay [Official Space] (20)

CodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguroCodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguro
 
CodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con SilverlightCodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con Silverlight
 
CodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business IntelligenceCodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business Intelligence
 
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con LinuxCodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
 
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
 
CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0
 
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de controlCodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
 
CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010
 
Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40
 
Run 2 0 keynote azure
Run 2 0 keynote azureRun 2 0 keynote azure
Run 2 0 keynote azure
 
Run 20 Track SQL Server
Run 20 Track SQL ServerRun 20 Track SQL Server
Run 20 Track SQL Server
 
Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
 
(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2
 
(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1
 
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

[Code Camp 2009] M (Modelling Languaje (Diego Fidel Ferreyra)

  • 1. Mmm…Quélenguagehablan en Oslo? Diego Ferreyra Core Technologies Manager Huddle Group S.A.
  • 2. Agenda Modelos y Oslo MSchema MGrammar ¿Para qué nos sirve Oslo? Conclusiones
  • 3. Modelos de aplicaciones Ejemplo de un modelo: HTML Ya trabajamos orientados a modelos: Configuración de un archivo XML Frameworksdinámicos Abstracción Lenguaje común
  • 4. Oslo OSLO == Plataforma de modelado Simple, 3 conceptos: Repositorio de modelos Lenguaje de modelado Quadrant, herramienta gráfica para modelado
  • 6. ¿Qué es M? Lenguaje funcional para definir modelos de dominios Definen esquemas y consultas Meta-Meta-Data Lenguaje para definición de DSLs MGrammar Qué NO ES: Lenguaje orientado a Objetos Tecnología de acceso a datos Reemplazo de T-SQL No representa comportamiento, representa MODELO No actualiza datos, pero asume que pueden cambiar externamente
  • 8. Domain SpecificLanguages(DSL) Focalizado en un área o dominio Optimizado para ese dominio Hasta ahora: Dificultad para crear la gramática del lenguaje Parser para ese lenguaje MGrammarapunta resolver esto, además de brindarherramietnasparatrabajarlo. MGrammarpermite crear DSLs M esun DSL, de hechosugramáticaestádefinida en MGrammar
  • 10. ¿Para qué nos sirve Oslo? Generar lenguajes fácilmente En este momento, no mucho más, pero.. Mentity Mservice Mweb
  • 11. Conclusiones Oslo es una plataforma de MODELADO M no es un lenguaje más de construcción de aplicaciones Esta en CTP y le falta un toque de horno. Empezar a pensar en modelos
  • 13. Referencias Oslo Development Center: http://msdn.microsoft.com/en-us/oslo/default.aspx Microsoft "Oslo" - May 2009 CTP: http://tinyurl.com/OsloMayCTP NHModeller: http://nhmodeller.selfip.com/
  • 14.
  • 15.
  • 16. M es un lenguaje de Modelado (2 min)
  • 18. Sobre el modelo, existe un lenguaje (3 min)
  • 21. Esto no es algo aislado, es parte de Oslo (5 min)
  • 23. Donde aplica, ejemplos de uso (5 min)
  • 24.

Notas del editor

  1. 135 = 1 minutoLa agenda no apunta a que sean programadores expertos de M cuando salgan de acá. Con que hayan comprendido mas o menos qué es Oslo, a donde apunta y qué componentes tiene, me doy por satisfecho. Esto lo digo porque hay mucha gente que sigue con muchísimas dudas de qué es lo que se busca y cómo planean lograrlo, incluso yo Por lo tanto, vamos a comenzar charlando de porqué la palabra Modelo se usa tanto y cómo la planea usar Oslo. Después vamos a ver 2 demos, de las principales características del lenguaje M en las que veremos como interactúan las herramientas que hay en el CTP. Y por último, voy a contarles algunas de los usos en los que está pensando Microsoft y que quizás a nosotros se nos ocurran algunos adicionales.
  2. 264 = 2 minutosQué es un modelo y para qué sirve? Básicamente, es la descripción de un escenario o dominio específico. Por ejemplo, los autos tienen modelos, pero si uno los quiere con aire acondicionado, negros o con levanta vidrios eléctricos, es el mismo modelo pero con pequeñas diferencias generadas en el momento que se compra. Esto no podría decirse que es básicamente lo que pasa con las aplicaciones, que actúan en runtime según un modelo especificado en la configuración, y que en base a ésta actúan de manera distinta?Laaplicación de modelos a aplicaciones no es algo nuevo. Quién tuvo alguna vez que generar un framework que leyera un XML y generar estructuras que luego procesara? O quién usa un browser para navegar en internet? El HTML es un modelo, que el browser interpreta para generar lo que se ve. De hecho, HTML es un lenguaje específico para la descripción de contenido web. Ya el uso de los viejos archivos .ini en aplicaciones visual basic, ya era un concepto de modelado. La aplicación actuaba en runtime, acorde a la instancia del modelo existente. Esto cada vez se ha ido incrementando, por ejemplo, con el uso de XAML para tecnologías como Silverlight o WPF, donde además de indicar qué controles y su apariencia se utilizan, se pueden bindear con estructuras de datos generadas en runtime.Los modelos básicamente buscan agregar un nivel mayor de abstracción a una problemática determinada. A su vez, es posible que se pueda definir un lenguaje específico para tratarlo, brindando mayor objetividad en los conceptos y un mayor entendimiento con menos palabras.
  3. 201 = 2 minutosOslo es la futura plataforma de modelado que Microsoft está construyendo. Apunta a ser la base de muchas tecnologías, teniendo como objetivo principal lograr una ganancia de la productividad de 10x. Esto plantea hacerlo al reducir considerablemente la cantidad de código escrito al utilizar lenguajes más específicos para ciertas tareas, como así también simplificando la creación de estos lenguajes.Esto es visible, si consideramos el ejemplo del framework de UI. En este se definía un lenguaje, o sea, la estructura del XML que leia. Luego se generaban diversas instancias de ese modelo, o sea, cada formulario con sus campos a mapear. Todo esto se analizaba y era generado en runtime, sin necesidad de codificación adicional. Por otro lado, la definición del XML es mucho menos costosa que la escritura del código necesario. Esto muestra fácilmente cómo se incrementa la productividad.Oslo se basa en 3 conceptos básicos: el repositorio, donde se guardan los modelos generado, el lenguaje usado para generar estos modelos y los lenguajes necesarios para generarlos, y una herramienta gráfica que simplifica esta tarea. En esta charla no la vamos a ver, somos desarrolladores por naturaleza y eso de programar con cajitas y lineas es para los diseñadores ;-)
  4. 176 = 1.5 minutosComo les comentaba recién, Oslo se basa en 3 componentes: repositorio, lenguaje de modelado y una herramienta gráfica. Con esto busca lograr lo necesario para que luego sea consumido por los runtimes que lo usarán.Aquí me voy a centrar en el framework de lenguaje M. El lenguaje en realidad es un conjunto de lenguajes. En primera instancia tenemos Mschema, que se encarga de definir la forma que tendrán los modelos. Nos permite definir los tipos de datos y sus relaciones, como así también los diversos repositorios en que se persistirán. Luego tenemos Mgrammar, que nos permite definir lenguajes que generarán en definitiva, modelos pausibles de ser contenidos en el repositorio. Este lenguaje tiene un parser de tipo GLR, por lo que posibilita la interpretación de lenguajes naturales. La salida que se genera a partir de un texto de entrada, es un gráfico que define cómo se albergará esa información en el repositorio.El repositorio es hoy por hoy SQL 2008. La idea es que M sea agnóstico del repostorio, pero bueno, ver para creer 
  5. Abrir intellipadCrear móduloCrear tipo LibroAgregar IdentityAgregar un campo nulleable (Paginas)Agregar el extent de Autores y agregar una property a LibroCrear el extent de LibrosMostrar la generación del SQL en modo T-SQL PreviewAgregar un campo enum al tipo (idioma) y una función LibrosEnCastellano()CompilarCargar el modelo a la DBMostrar los datos en la tabla y la vista
  6. 149 = 1.5 minutosBueno, qué es un DSL? Ya lo habrán sentido nombrar más de vez. No son más que lenguajes que se usan en un dominio específico, pudiendo ser tan simples como los viejos archivos .INI que definían configuración, como un modelo de clases en VS que luego se convierte en las clases correspondientes.Alguien alguna vez armó un framework para mapear controles de UI a entidades, definiendo, por ejemplo, un XML?O alguien usó Nhibernate? O Linq2SQL o Entity Framework?Bueno, todos estos son ejemplos de DSLs. Son lenguajes específicos que definen un comportamiento en base al modelo descripto en el XML.Oslo plantea simplificar la tarea de construcción de estos lenguajes. Para esto provee una plataforma para la generación de estos DSLs, que luego podrán generar los modelos necesarios que se guardarán en el repositorio.Esto está basado en Mgrammar, parte del stack de M que habíamos visto anteriormente.
  7. 1) Abrir Intellipad y mostrar las ventanas de Grammar, input y output2) Generar el lenguaje base que tiene sólo una sintaxis3) Generar tokens y sintaxis del lenguaje con el lenguaje mínimo4) Agregar el soporte de multiples nombres5) Agregar el soporte de nombres con espacios y Comillas6) Permitir más de 1 instancia7) Generar proyecciones8) Compilar la gramática9) aplicar la gramática a los datos10) compilar el M11) instalar en el repositorio
  8. 80 = 0.5 minutosComo decía antes, muchos problemas para la generación de estos lenguajes estaba en la complejidad de definir un lenguaje, su parser y su interrelación con la plataforma. Oslo plantea colaborar en disminuir esta diferencia.Cómosigue esto? Recién empieza, en mi opinión. WCF, WPF, WF, EF, ASP.NET, todos tienen un DSL propio que define el modelo que usan para generar la aplicación en runtime. Todo esto es traducible a un DSL por medio de Mgrammar, definiendo un modelo con Mschema.