Eclipse Modeling Framewok (EMF)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Eclipse Modeling Framewok (EMF)"

Transcripción

1 Eclipse Modeling Framewok (EMF) Distributed Systems Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, October 2011 Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

2 Contents 1 Introduction 2 Modelado y metamodelado 3 Ecore Metamodelo Metamodelos Ecore EMF y Ecore en Eclipse 4 Generación del código del modelo Java: GenModel C++: EMF4CPP 5 Manejo de Modelos y Metamodelos Java C++ Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

3 Contents 1 Introduction 2 Modelado y metamodelado 3 Ecore Metamodelo Metamodelos Ecore EMF y Ecore en Eclipse 4 Generación del código del modelo Java: GenModel C++: EMF4CPP 5 Manejo de Modelos y Metamodelos Java C++ Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

4 Eclipse EMF The Eclipse Modeling Framework (EMF) is a powerful framework and code generation facility for building Java applications based on simple model definitions. Designed to make modeling practical and useful to the mainstream Java programmer, EMF unifies three important technologies: Java, XML, and UML. Software is focused on manipulating data that can be modeled, hence, models drive software development. This refcard will get you started with the Eclipse Modeling Framework. Essential EMF. Ed Merks & James Sugrue Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

5 Eclipse EMF (ii) Cohesive set of tools to support the model-based development (MDE) primarily in Java Defines a framework to easily describe relationships between data structures and transform the into language programming artifacts Define una equivalencia entre XSchema, (Meta)Modelo, UML y código Java anotado Provides a graphical editor for models Provides tools to extract information from programs and turn them into models (T2M), to generate executable code from models (M2T) and to do model transformations (M2M) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

6 Contents 1 Introduction 2 Modelado y metamodelado 3 Ecore Metamodelo Metamodelos Ecore EMF y Ecore en Eclipse 4 Generación del código del modelo Java: GenModel C++: EMF4CPP 5 Manejo de Modelos y Metamodelos Java C++ Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

7 Modeling and metamodeling Un modelo: It is an abstract representation of a domain Captures the important elements and their relationships Los elementos de representación dependen del dominio Por ejemplo, en UML: Se representa el problema con clases y relaciones Se utilizan elementos gráficos para mostrarlos Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

8 Modelado y metamodelado (ii) Un metamodelo: Describe las características de los modelos en sí, y de los elementos que lo componen Por ejemplo, cualquier modelo UML contiene: Clases Atributos Operaciones Relaciones Herencia Dónde se describe las características de cada elemento estructural del modelo? Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

9 Modelado y metamodelado (iii) MOF Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

10 Contents 1 Introduction 2 Modelado y metamodelado 3 Ecore Metamodelo Metamodelos Ecore EMF y Ecore en Eclipse 4 Generación del código del modelo Java: GenModel C++: EMF4CPP 5 Manejo de Modelos y Metamodelos Java C++ Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

11 Ecore Es equivalente a MOF (EMOF) Especifica las características de las clases (EClass), sus características estructurales (EStructuralFeatures), atributos, operaciones, relaciones (herencia, referencia). Orientado a Java: Permite especificar tipos de datos básicos (Java) No permite el soporte de C++ (directamente). P. ej. no permite especificar la siferencia entre const o no, punteros, etc. Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

12 Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

13 Metamodelo: Discusión Nota: Se describen las características de los elementos del modelo de datos El elemento aglutinador (raíz) es el paquete (EPackage) El paquete contiene físicamente a sus elementos (especificación de containment) Los paquetes pueden estar contenidos en otros paquetes Hay una factoría (EFactory) por paquete que permite la creación de los elementos del modelo Las construcciones que describen a un conjunto de elementos (instancias) son clasificadores (EClassifiers): EClass y EDataType Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

14 Metamodelo: Discusión (ii) Las EClasses tienen superclases y están compuestas por características estructurales (EStructuralFeatures: EReference y EAttribute). Tanto las EReferences como los EAttributes pueden estar dotados de multiplicidad Los EDataTypes modelan tipos básicos o indivisibles del modelo de datos Los EReferences pueden estar contenidos (containment, no tienen entidad propia) o ser referencias estrictamente (punteros) Las Operations modelan operaciones del interfaz (aunque no se provee implementación para ellas) Todos los elementos heredan de ENamedElement (tienen nombre), y de EModelElement (elemento del modelo) Todo elemento del modelo puede tener asociadas anotaciones (EAnnotation): pares nombre/valor para especificaciones extra (p. ej. restricciones OCL ó cadenas de documentación) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

15 EMF Tipos de datos (Datatypes) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

16 EMF Metamodelos Ecore Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

17 Metamodelo: Discusión Nota: Se describen las características de cada clase (es una instancia del metamodelo de Ecore) Clasificadores del paquete Clases StructuralFeatures de las clases (EAttribtutes, EReferences, etc.) La clase Node tiene un atributo y dos referencias Los atributos sólo pueden ser EDataTypes, y siempre son contenidos La referencia children es contenida, mientras que parent es un «puntero» Nótese también la referencia eopposite La raíz así se convierte en un contenedor para todo el modelo Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

18 EMF Instancia de metamodelo Tree Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

19 Modelo (instancia): Discusión Nota: Se describen las instancias de los datos, organizados según el metamodelo Varias instancias de las clases Contienen los campos rellenos, lo que incluye los StructuralFeatures de las clases (EAttribtutes, EReferences, etc.) Los campos referencia opuestos (parent) se rellenan automáticamente (son relaciones conectadas, todo directo tiene su opuesto) Gracias al metamodelo, podemos recorrer la estructura siguiendo su semántica es decir, obteniendo el «Label» a través del método getlabel() de un nodo se puede seguir por los hijos con getchildren() (se verá después) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

20 XMI: Serializado XML 1 < tree:node xmi:version =" 2.0 " xmlns:xmi =" http: // www. omg. org / XMI " 3 xmlns:tree =" http: // www. example. org / tree " label =" root "> 5 < children label ="A"> < children label ="X"/> 7 </ children > < children label ="B"> 9 < children label ="Y"/> </ children > 11 </ tree:node > Notas: Sigue la estructura jerárquica de contenido Las referencias se extraen del metamodelo y de la estructura Aseguran la integridad referencial gracias al metamodelo El metamodelo también se serializa a XMI (también es un modelo) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

21 El editor de Metamodelos Crear proyecto New Other... Empty EMF Project Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

22 El editor de Metamodelos Nombre: es.um.emf.test Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

23 El editor de Metamodelos El directorio src contiene el código El directorio model contiene modelos y metamodelos Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

24 Crear metamodelo Ecore Tree (i) Dir. model Click derecho New... Ecore Modeling Framework Ecore model Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

25 Crear metamodelo Ecore Tree (ii) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

26 Editor gráfico del metamodelo Tree.ecore Click derecho Initialize Ecore Diagram file... (Tree.ecorediag) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

27 Editor Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

28 Editor gráfico Paleta Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

29 Propiedades del nodo raíz Ns Prefix Se utiliza como prefijo de namespace en el XMI Ns URI Identifica al metamodelo de forma unívoca universalmente El metamodelo se puede registrar (y encontrar) en Eclipse con ese nombre único Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

30 Editor de Ecore no visual Tree.ecore Botón derecho Open With... Simple Reflective Ecore Editor Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

31 Creando instancias dinámicas El metamodelo describe qué elementos van a existir en el modelo Podemos crear un modelo como una instancia del metamodelo Para cada clase del metamodelo (p. ej. Node) tendremos un conjunto de instancias (p. ej. A, B, X, etc.) iego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

32 Creando instancias dinámicas (ii) Node Botón derecho New child... Se rellenan las propiedades y las referencias Las referencias inversas se rellenan automáticamente Nótese la referencia al metamodelo El fichero es un fichero.xmi iego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

33 Contents 1 Introduction 2 Modelado y metamodelado 3 Ecore Metamodelo Metamodelos Ecore EMF y Ecore en Eclipse 4 Generación del código del modelo Java: GenModel C++: EMF4CPP 5 Manejo de Modelos y Metamodelos Java C++ Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

34 Generación del código del modelo Intuitivamente, una EClass del metamodelo se transformará en una clase del lenguaje de programación Las instancias de esas clases serán el modelo en tiempo de ejecución de los datos de nuestra aplicación Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

35 Genmodel Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

36 Genmodel Tree.ecore Botón derecho New... Eclipse Modeling Tools Ecore Generator model Tree.genmodel Next Seleccionar Ecore Model Nótese las posibilidades: Java anotado XML Schema Ecore... Next Seleccionar el modelo origen Tree.ecore Load Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

37 Genmodel Root packages Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

38 Genmodel en XMI 1 < genpackages prefix =" Tree " disposableproviderfactory =" true " ecorepackage =" Tree. ecore #/"> < genclasses ecoreclass =" Tree. ecore #// Node "> 3 < genfeatures createchild =" false " ecorefeature =" ecore:eattribute Tree. ecore #// Node / label "/> < genfeatures property =" None " notify =" false " createchild =" false " ecorefeature =" ecore:ereference Tree. ecore #// Node / parent "/> 5 < genfeatures property =" None " children =" true " createchild =" true " ecorefeature =" ecore: EReference Tree. ecore #// Node / children " />... Guarda los datos y parámetros necesarios para emprender la generación de código Nótese las referencias al metamodelo Tree.ecore (URNs) Conocido como decorador del Ecore (añade características a éste) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

39 Generate Model Code Propiedades de Tree: Base Package es.um.emf.test Tree.genmodel/Tree, Botón derecho Generate Model Code Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

40 Model Code Paquete es.um.emf.test.tree: Interfaz puro Paquete es.um.emf.test.tree.impl: Implementación Paquete es.um.emf.test.tree.util: Utilidades iego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

41 Model Code Package 2 package es.um.emf. test. tree ; public interface TreePackage extends EPackage { 4 String ename = " tree "; String ens_uri = " urn :es.um.emf. test. tree "; 6 String ens_prefix = "es.um.emf. test. tree "; 8 TreePackage einstance = tree. impl. TreePackageImpl. init (); 10 // Singletons ( Ecore metamodel elements ) EClass getnode (); 12 EAttribute getnode_ Label (); EReference getnode_ Parent (); 14 EReference getnode_ Children (); 16 TreeFactory gettreefactory (); } // TreePackage Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

42 Model Code Factory 1 package es.um.emf. test. tree ; 3 public interface TreeFactory extends EFactory { 5 // Factory Singleton TreeFactory einstance = tree. impl. TreeFactoryImpl. init (); 7 // Create new nodes ( instances ) of the model Nodes 9 Node createnode (); 11 TreePackage gettreepackage (); 13 } // TreeFactory Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

43 Model Code Node 1 package es.um.emf. test. tree ; public interface Node extends EObject { 3 // Label get / set 5 String getlabel (); void setlabel ( String value ); 7 // Parent get / set 9 Node getparent (); void setparent ( Node value ); 11 // Children 13 EList < Node > getchildren (); 15 } // Node EList<Node> permite también añadir elementos a través de su método add(): node.getchildren().add(x) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

44 C++ Con el plugin org.csu.emf4cpp.plugin instalado: Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

45 C++ Si no se elige wizard el código se genera en el subdirectorio src-gen Similar a la estructura en Java Se generan utilidades de compilación con CMake (CMakeLists.txt, tree.cmake) Paquete tree dentro del subdirectorio tree.hpp y.cpp tree.hpp Incluir el modelo en programas C++ tree/node.{hpp,cpp} Clase Node También Paquete y Factoría Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

46 C++ Model Code Package 1 namespace tree { 3 class TreePackage : public virtual :: ecore :: EPackage { 5 public : static TreePackage_ptr _instance (); 7 // EClassifiers methods 9 virtual :: ecore :: EClass_ptr getnode (); 11 // EStructuralFeatures methods virtual :: ecore :: EAttribute_ptr getnode label (); 13 virtual :: ecore :: EReference_ptr getnode parent (); virtual :: ecore :: EReference_ptr getnode children (); 15 protected : 17 static std :: auto_ptr < TreePackage > s_instance ; 19 TreePackage (); 21 // EClass instances :: ecore :: EClass_ptr m_nodeeclass ; 23 // EStructuralFeatures instances 25 :: ecore :: EAttribute_ptr m_node label ; :: ecore :: EReference_ptr m_node parent ; 27 :: ecore :: EReference_ptr m_node children ; }; 29 } // tree Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

47 C++ Model Code Factory 1 namespace tree { 3 class TreeFactory : public virtual :: ecore :: EFactory { 5 public : static TreeFactory_ ptr _ instance (); 7 9 virtual Node_ ptr createnode (); protected : 11 static std :: auto_ptr < TreeFactory > s_ instance ; 13 TreeFactory (); }; 15 } // tree Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

48 C++ Model Code Node 1 namespace tree { 3 class Node : public virtual :: ecore :: EObject { 5 public : Node (); 7 virtual ~ Node (); 9 virtual void _initialize (); 11 // Attributes :: ecore :: EString const & getlabel () const ; 13 void setlabel (:: ecore :: EString const & _label ); 15 // References :: tree :: Node_ptr getparent (); 17 void setparent (:: tree :: Node_ptr _parent ); 19 :: ecorecpp :: mapping :: EList < :: tree :: Node >& getchildren (); protected : 21 // Attributes :: ecore :: EString m_label ; 23 // References :: tree :: Node_ptr m_parent ; 25 :: ecorecpp :: mapping :: out_ptr < :: ecorecpp :: mapping :: EList < :: tree :: Node > > m_children ; 27 }; } // tree Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

49 Contents 1 Introduction 2 Modelado y metamodelado 3 Ecore Metamodelo Metamodelos Ecore EMF y Ecore en Eclipse 4 Generación del código del modelo Java: GenModel C++: EMF4CPP 5 Manejo de Modelos y Metamodelos Java C++ Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

50 Crear un modelo programáticamente Java TreeFactory tree = TreeFactory. einstance ; 2 Node root = tree. createnode (); root. setlabel (" Root "); 4 Node a = tree. createnode (); a. setlabel ("A"); 6 root. getchildren ().add (a); Node x = tree. createnode (); 8 x. setlabel ("X"); a. getchildren ().add (x); 10 Node b = tree. createnode (); b. setlabel ("B"); 12 root. getchildren ().add (b); Node y = tree. createnode (); 14 y. setlabel ("Y"); b. getchildren ().add (y); Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

51 C++ 1 using namespace tree ; 3 TreeFactory_ptr treefactory = TreeFactory :: _instance (); 5 // Create a Node std :: auto_ptr <Node > root ( treefactory ->createnode ()); 7 root ->setlabel (" Root "); 9 // Create node A Node_ptr a = treefactory ->createnode (); 11 catsaes ->setlabel ("A"); root ->getchildren (). push_back (a); 13 Node_ptr x = treefactory ->createnode (); 15 catsaes ->setlabel ("X"); a->getchildren (). push_back (x); 17 // Create node B 19 Node_ptr b = treefactory ->createnode (); catsaes ->setlabel ("B"); 21 root ->getchildren (). push_back (b); 23 Node_ptr y = treefactory ->createnode (); catsaes ->setlabel ("Y"); 25 b->getchildren (). push_back (y); 27 // Initialize the model umu -> _initialize (); 29 // ( model is deleted automatically ) Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

52 Referencias D. Steinberg, F. Budinsky, M. Paternostro, Ed Merks EMF: Eclipse Modeling Framework, 2nd Edition. Addison-Wesley Professional, 2009 Ed Merks, J. Sugrue Essential EMF (EclipseCon 09). M. Paternostro, K. Hussey Building RESTful Java Applications with EMF. building-restful-java-applications-with-emf A. Senac, D. Sevilla EMF4CPP. Diego Sevilla Ruiz (DITEC Facultad de Informática) Eclipse Modeling Framewok (EMF) Murcia, October / 52

EMF Xpand & Xtend. Sistemas Distribuidos. Diego Sevilla Ruiz. DITEC Facultad de Informática. Murcia, noviembre de 2010

EMF Xpand & Xtend. Sistemas Distribuidos. Diego Sevilla Ruiz. DITEC Facultad de Informática. Murcia, noviembre de 2010 EMF Xpand & Xtend Sistemas Distribuidos Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, noviembre de 2010 Diego Sevilla Ruiz (DITEC Facultad de Informática) EMF Xpand & Xtend Murcia, noviembre

Más detalles

Vicente Pelechano. Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia

Vicente Pelechano. Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Vicente Pelechano Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Contenido Qué es el Metamodelado?. Sintaxis Abstracta Metaniveles vs. Niveles de Abstracción MOF

Más detalles

Construcción de editores de modelos con EMF

Construcción de editores de modelos con EMF Procesadores de Lenguajes 2 Construcción de editores de modelos con EMF Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz con EMF

Más detalles

GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO

GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO WICC 2012 626 GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO 1. A.Cortez, C.Naveda 1. Consejo de Investigaciones (CIUDA) UDA. 2. Instituto de Investigaciones Facultad de Ciencias

Más detalles

Apéndice 1. DMOF Y MOF 2

Apéndice 1. DMOF Y MOF 2 Apéndice C DMOF y MOF 1. DMOF Y MOF 2 PROCESO DE DESARROLLO PARA GENERAR REPOSITORIOS DE META DATA BASADOS EN MOF. 2 DMOF IMPLEMENTA LOS MAPEOS POSIBLES DE MOF 5 MOF IDL MAPPING 5 MOF XMI MAPPING 7 UN

Más detalles

Implementación de un lenguaje de definición de operaciones complejas en Gestión de Modelos para la herramienta MOMENT

Implementación de un lenguaje de definición de operaciones complejas en Gestión de Modelos para la herramienta MOMENT Implementación de un lenguaje de definición de operaciones complejas en Gestión de Modelos para la herramienta MOMENT Abel Gómez Llana Universidad Politécnica de Valencia Departamento de Sistemas Informáticos

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Herramienta CASE (Bouml)

Herramienta CASE (Bouml) Herramienta CASE (Bouml) Ingeniería de la Programación Práctica 6 1 Contenido La presentación es una traducción, con alguna pequeña aportación, del tutorial sobre Bouml que puede encontrarse en inglés

Más detalles

GENERACIÓN DE EDITORES GRÁFICOS DE MODELOS PARA UNA HERRAMIENTA MDA

GENERACIÓN DE EDITORES GRÁFICOS DE MODELOS PARA UNA HERRAMIENTA MDA XV Jornadas de Ingeniería del Software y Bases de Datos JISBD 2006 José Riquelme - Pere Botella (Eds) c CIMNE, Barcelona, 2006 GENERACIÓN DE EDITORES GRÁFICOS DE MODELOS PARA UNA HERRAMIENTA MDA Francisco

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Generación de código para Hibernate desde modelos UML

Generación de código para Hibernate desde modelos UML Generación de código para Hibernate desde modelos UML Alejandro Nogueiro Mariscal Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 35 Índice 1 Motivación y

Más detalles

"Módulo OOWS para StarUML" INTRODUCCIÓN

Módulo OOWS para StarUML INTRODUCCIÓN UNA HERRAMIENTA PARA DIAGRAMAS OOWS: "Módulo OOWS para StarUML" Richard Medina Z. Universidad de Concepción, Chile INTRODUCCIÓN Una herramienta CASE (Computer Aided Software Engineering,

Más detalles

Administración de Variabilidad en una línea de producto basada en modelos

Administración de Variabilidad en una línea de producto basada en modelos Administración de Variabilidad en una línea de producto basada en modelos Kelly Garcés Carlos Parra Hugo Arboleda Andres Yie Rubby Casallas Universidad de los Andes, Bogotá k-garces @uniandes.edu.co Universidad

Más detalles

IBM Software Demos Rational Model Driven Development

IBM Software Demos Rational Model Driven Development This demonstration introduces IBM Rational XDE and IBM WebSphere Studio working together to improve J2EE software development. Esta demostración presenta la combinación de IBM Rational XDE e IBM WebSphere

Más detalles

Transformaciones de modelo a texto con Acceleo Curso 2013-2014

Transformaciones de modelo a texto con Acceleo Curso 2013-2014 Procesadores de Lenguajes 2 Transformaciones de modelo a texto con Acceleo Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz con

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Una aproximación a la generación automática de código en un contexto MDD sobre modelos BPMN

Una aproximación a la generación automática de código en un contexto MDD sobre modelos BPMN Una aproximación a la generación automática de código en un contexto MDD sobre modelos BPMN Ignacio Martínez A., Lautaro Mendez, Julián Perelli, Mauricio Pérsico, Nahuel Santos B. Cátedra de Ingeniería

Más detalles

TRABAJO FIN DE GRADO

TRABAJO FIN DE GRADO UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITECNICA SUPERIOR TRABAJO FIN DE GRADO Un editor gráfico de modelos en Eclipse con generación de código Jonathan Trujillo Bachiller MAYO 2013 2/47 Resumen El proyecto

Más detalles

Ingeniería inversa de GUIs

Ingeniería inversa de GUIs Ingeniería inversa de GUIs Existen numerosos sistemas en funcionamiento que fueron desarrollados en los años 90 utilizando entornos RAD (Rapid Application Development), tales como Delphi, Visual Basic

Más detalles

Herramienta para el modelado de flujos de tareas y traducción al álgebra de tareas

Herramienta para el modelado de flujos de tareas y traducción al álgebra de tareas Herramienta para el modelado de flujos de tareas y traducción al álgebra de tareas José Angel Quintanar Morales Laboratorio de Investigación y Desarrollo de Ingeniería de Software Universidad Tecnológica

Más detalles

UML El Lenguaje de Modelado Unificado. Maestría en Ingeniería de Software

UML El Lenguaje de Modelado Unificado. Maestría en Ingeniería de Software UML El Lenguaje de Modelado Unificado Maestría en Ingeniería de Software Agenda Model Driven Architecture (MDA) Unified Model Language (UML) Object Constraint Language (OCL) Patrones Conclusiones Contenido

Más detalles

TRABAJO FIN DE GRADO

TRABAJO FIN DE GRADO UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITECNICA SUPERIOR TRABAJO FIN DE GRADO UN EDITOR GRÁFICO PARA EL DISEÑO POR CONTRATO EN ECLIPSE Víctor López Rivero Enero 2014 Resumen El proyecto que se presenta

Más detalles

Lenguajes específicos de dominio gráficos y textuales: Un estudio comparativo

Lenguajes específicos de dominio gráficos y textuales: Un estudio comparativo Universidad Politécnica de Cartagena E. T. S. Ingeniería de Telecomunicaciones Ingeniería de Telecomunicación Lenguajes específicos de dominio gráficos y textuales: Un estudio comparativo Proyecto fin

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

Director: José Luis Sierra Rodríguez

Director: José Luis Sierra Rodríguez Autores: Miguel Esteban Écija Javier Hernández Rodríguez Esther Peña Rubio Director: José Luis Sierra Rodríguez GE Página 2 AGRADECIMIENTOS Tras muchas horas dedicadas y muchos quebraderos de

Más detalles

Herramienta de modelado de dominio específico (DSM) para la creación de módulos en sistemas de gestión del aprendizaje (LMS) *

Herramienta de modelado de dominio específico (DSM) para la creación de módulos en sistemas de gestión del aprendizaje (LMS) * Herramienta de modelado de dominio específico (DSM) para la creación de módulos en sistemas de gestión del aprendizaje (LMS) * Modeling tool specific domain (DSM) modules for building on learning management

Más detalles

Definición de Lenguajes de Modelos MDA vs DSL

Definición de Lenguajes de Modelos MDA vs DSL Departamento de Tecnologías y Sistemas de Información Definición de Lenguajes de Modelos MDA vs DSL Beatriz Mora, Francisco Ruiz, Félix García, Mario Piattini Grupo Alarcos. Universidad de Castilla-La

Más detalles

BOA, un framework MDA de alta productividad

BOA, un framework MDA de alta productividad BOA, un framework MDA de alta productividad Padrón Lorenzo, J. 1, Estévez García A. 1, Roda García J.L. 2, García López F. 2 1 Open Canarias SL, Santa Cruz Tenerife, España http://www.opencanarias.com

Más detalles

Eclipse Visual Editor

Eclipse Visual Editor Eclipse Visual Editor Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Analista de Sistemas Licenciatura en Sistemas Laboratorio de Programación Indice Temas Pág. Introducción...

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Crear una Activity en Android. Paso por paso

Crear una Activity en Android. Paso por paso 19-03-2014 Crear una Activity en Android. Paso por paso Una breve descripción de qué hacer cuando las herramientas de desarrollo de Android se convierten en nuestros enemigos. A veces, puede pasar que

Más detalles

Introducción a ZEUS. Introducción. Curso Doctorado Sistemas Multi-agente. Zeus es una herramienta de desarrollo de SMA.

Introducción a ZEUS. Introducción. Curso Doctorado Sistemas Multi-agente. Zeus es una herramienta de desarrollo de SMA. Introducción a ZEUS Curso Doctorado Sistemas Multi-agente Introducción Zeus es una herramienta de desarrollo de SMA. 1 Introducción Está constituido fundamentalmente por 3 grupos funcionales: Biblioteca

Más detalles

Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term

Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term UNIDAD TEMATICA: INTERFAZ DE WINDOWS LOGRO: Reconoce la interfaz de Windows para ubicar y acceder a los programas,

Más detalles

Una Arquitectura para una Herramienta de Patrones de Diseño

Una Arquitectura para una Herramienta de Patrones de Diseño Una Arquitectura para una Herramienta de Patrones de Diseño José Sáez Martínez 1, Jesús García Molina, Pedro J. Jiménez García Departamento de Informática, Lenguajes y Sistemas. Campus de Espinardo C.P.

Más detalles

RUEDA TORRES DULCE CAROLINA 3CM2 HIBERNATE EN UNA APLICACIÓN WEB

RUEDA TORRES DULCE CAROLINA 3CM2 HIBERNATE EN UNA APLICACIÓN WEB 3CM2 HIBERNATE EN UNA APLICACIÓN WEB 8 DE MAYO DE 2012 1. CREACION DE LA BASE DE DATOS Para llevar a cabo esta práctica se utiliza una base de datos MySQL llamada Sakila, una muestra gratis de base de

Más detalles

Seminario de Herramientas

Seminario de Herramientas Seminario de Herramientas Instalación y uso básico de una herramienta UML: BOUML Otras herramientas del laboratorio Laura Barros Computadores y Tiempo Real ProConDis 2009 1 1 Características Herramienta

Más detalles

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado Diseño lógico de sistemas aplicando el lenguaje de modelado unificado No. De Registro CGPI: 20061221. Director del proyecto: Roberto De Luna Caballero. Profesores participantes: M. en C Fabiola Ocampo

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

Diseño y Arquitectura en VSTS 2005

Diseño y Arquitectura en VSTS 2005 Diciembre/2006. Ayudantía: Visual Studio Team System Autor: Alejandro Martorell Diseño y Arquitectura en VSTS 2005 Microsoft en la nueva versión del VSTS 2005, desarrollo un diseñador de sistemas distribuidos

Más detalles

Desarrollo de un servicio web para el envío de correos utilizando C# y su correspondiente cliente consumidor utilizando Java

Desarrollo de un servicio web para el envío de correos utilizando C# y su correspondiente cliente consumidor utilizando Java Desarrollo de un servicio web para el envío de correos utilizando C# y su correspondiente cliente consumidor utilizando Java Versión 0.1 Jorge Iván Meza Martínez http://www.jorgeivanmeza.com/

Más detalles

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte.

Más detalles

Clase Práctica Nº 1 ED 2015

Clase Práctica Nº 1 ED 2015 Clase Práctica Nº 1 ED 2015 Introducción La creación de una solución de software tiene varias etapas, por ejemplo: Diseño Implementación Testeo Y para cada etapa existen herramientas que nos ayudan. Introducción

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Máster MNTI Desarrollo Dirigido por Modelos. Seminario 2 - Sintaxis concretas textuales

Máster MNTI Desarrollo Dirigido por Modelos. Seminario 2 - Sintaxis concretas textuales Máster MNTI Desarrollo Dirigido por Modelos Seminario 2 - Sintaxis concretas textuales Grupo Modelum Universidad de Murcia 10 de noviembre de 2010 Resumen Una vez que se ha creado la sintaxis abstracta

Más detalles

%& %)& '$!%*+ $, %%%&$ %%

%& %)& '$!%*+ $, %%%&$ %% OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/

Más detalles

SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio

SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio Arturo Cepeda Pérez, Sergio Bravo Martín, Francisco José García Peñalvo Universidad de Salamanca, Facultad

Más detalles

Desarrollo de Aplicaciones Web con Eclipse

Desarrollo de Aplicaciones Web con Eclipse Desarrollo de Aplicaciones Web con Eclipse Oscar Gosdinski Software Services Representative Java Es un lenguaje de programación y una plataforma de desarrollo. 2 Lenguaje de alto nivel que puede ser caracterizado

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents

Más detalles

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1) Requisitos Oracle Java Development Kit (JDK) 6 NetBeans 6.9.1 con GlassFish Application Server 3 integrado Variable de entorno JAVA_HOME apuntando al directorio de instalación de la JDK Introducción El

Más detalles

Cómo hacer módulos y librerías para ejecutarse a bordo del NAO. Mauricio Josafat García Vázquez

Cómo hacer módulos y librerías para ejecutarse a bordo del NAO. Mauricio Josafat García Vázquez Cómo hacer módulos y librerías para ejecutarse a bordo del NAO Mauricio Josafat García Vázquez Abril 2011 Índice general 1. Como hacer módulos y librerías para ejecutarse a bordo del NAO 2 1.1. Términos

Más detalles

Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio

Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio M. Teresa García 1, Mercedes Ruiz 1 y Cristina Vicente-Chicote 2 1 Departamento de Lenguajes y Sistemas Informáticos Universidad

Más detalles

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz Procesadores de Lenguajes 2 Metamodelado Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz 01/11/13 PL2 - Metamodelado 1 Contenidos

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Construcción de un Generador de Escenas usando técnicas DSDM

Construcción de un Generador de Escenas usando técnicas DSDM Construcción de un Generador de Escenas usando técnicas DSDM Proyecto Fin de Carrera. Simón González González Proyecto dirigido por: Francisco Javier Bermúdez Ruiz Departamento de Informática y Sistemas.

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Proyecto Fin de Carrera DESCRIPCIÓN DE SISTEMAS BASADOS EN COMPONENTES UTILIZANDO UML 2

Proyecto Fin de Carrera DESCRIPCIÓN DE SISTEMAS BASADOS EN COMPONENTES UTILIZANDO UML 2 Facultad de Ciencias Proyecto Fin de Carrera DESCRIPCIÓN DE SISTEMAS BASADOS EN COMPONENTES UTILIZANDO UML 2 (Component-based systems description using UML 2) Para acceder al Titulo de INGENIERO EN INFORMÁTICA

Más detalles

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse Programación 2 Curso 2013 2014 Introducción Guía de desarrollo C/C++ con Eclipse Eclipse 1 es un entorno de programación que permite el desarrollo de aplicaciones en diferentes lenguajes. Consta de un

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Desarrollo de apps para móviles Android. Entorno de desarrollo

Desarrollo de apps para móviles Android. Entorno de desarrollo Desarrollo de apps para móviles Android Entorno de desarrollo Entorno de desarrollo Las aplicaciones Android van a ser implementadas en Java usando Android SDK. El software necesario para realizarlas es

Más detalles

Tutorial básico del entorno de desarrollo Eclipse.

Tutorial básico del entorno de desarrollo Eclipse. Tutorial básico del entorno de desarrollo Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de que se presente

Más detalles

Herramientas Eclipse para Desarrollo de Software Dirigido por Modelos

Herramientas Eclipse para Desarrollo de Software Dirigido por Modelos Herramientas Eclipse para Desarrollo de Software Dirigido por Modelos Cristina Vicente Chicote Teléfono: (+34) 968 32 6448 E-mail: Cristina.Vicente@upct.es Diego Alonso Cáceres Teléfono: (+34) 968 32 5341

Más detalles

Java y Herramientas de Desarrollo Sesión 1: Lenguaje Java y Entorno de Desarrollo

Java y Herramientas de Desarrollo Sesión 1: Lenguaje Java y Entorno de Desarrollo Especialista en Aplicaciones y Servicios Web con Java Enterprise Java y Herramientas de Desarrollo Sesión 1: Lenguaje Java y Entorno de Desarrollo Desarrollo-1 Índice! Introducción a Java! Entorno de desarrollo

Más detalles

Lenguaje Específico de Dominio para Aplicaciones de Modelación Glaciológica

Lenguaje Específico de Dominio para Aplicaciones de Modelación Glaciológica Lenguaje Específico de Dominio para Aplicaciones de Modelación Glaciológica Matías Gel 1, Adriana Urciuolo 1, Rodolfo Iturraspe 1, 1 Universidad Nacional de Tierra del Fuego, IDEI. Onas 450, (9410) Ushuaia,

Más detalles

SP Modeling & Mapping SMARTPLANT MODELING AND MAPPING

SP Modeling & Mapping SMARTPLANT MODELING AND MAPPING SMARTPLANT MODELING AND MAPPING Contenido del Curso 1. Overview of SmartPlant SmartPlant Components The SmartPlant Schema Authoring Tool Schemas Schema Mapping Introduction to the Schema Editor 2. Using

Más detalles

Instalación y uso del framework Taylor para el modelaje de entidades JPA

Instalación y uso del framework Taylor para el modelaje de entidades JPA Instalación y uso del framework Taylor para el modelaje de entidades JPA por: María Consuelo Franky Dpto. Ingeniería de Sistemas Pontificia Universidad Javeriana email: lfranky@javeriana.edu.co Junio de

Más detalles

Generar Temas de Colores y Cambiarlos Dinámicamente en ZK

Generar Temas de Colores y Cambiarlos Dinámicamente en ZK Generar Temas de Colores y Cambiarlos Dinámicamente en ZK Hola, mi nombre es Manuel Martínez y soy de Colombia. Voy a explicarles desde cómo construir temas de colores para las interfaces graficas de ZK

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

GUÍA DE LABORATORIO N o 3

GUÍA DE LABORATORIO N o 3 Universidad Simón Bolívar Sistemas de Información III - PS6117 LABORATORIO GUÍA DE LABORATORIO N o 3 Abril 96: Abril 98: Septiembre 2000 Realizada por: Actualizada por: Actualizada por: A.D. A. Borges

Más detalles

Arquitectura y Lenguaje Java

Arquitectura y Lenguaje Java Arquitectura y Lenguaje Java 1 Introducción El lenguaje de programación Java así como su arquitectura se diseñaron para resolver problemas que se presentan en la programación moderna. Se inició como parte

Más detalles

sngraph * Software óptimo para manipulación de redes libres de escala

sngraph * Software óptimo para manipulación de redes libres de escala sngraph * Software óptimo para manipulación de redes libres de escala R. Maestre-Martínez ** Unidad de Sistemas de Información Geográfica Centro de Ciencias Humanas y Sociales Consejo Superior de Investigaciones

Más detalles

Entorno de desarrollo Instalación y configuración

Entorno de desarrollo Instalación y configuración Entorno de desarrollo Instalación y configuración GExCALL Formación http://gexcall.unex.es/formacion El plugin ADT (Android Development Tools) extiende al IDE Eclipse. Te permite crear y depurar aplicaciones

Más detalles

Boyeros, La Habana, Cuba, lcabrerag@uci.cu

Boyeros, La Habana, Cuba, lcabrerag@uci.cu EXTENSIÓN DE VISUAL PARADIGM FOR UML PARA EL DESARROLLO DIRIGIDO POR MODELOS DE APLICACIONES DE GESTIÓN DE INFORMACIÓN Visual Paradigm for UML extension for Model-Driven Development of information management

Más detalles

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE Facilidades de eclipse para el uso de ant y JUnit Tabla de contenidos 1. Qué es Eclipse?... 2 2. Crear un proyecto en Eclipse... 2 3. Utilizar Ant en nuestro proyecto

Más detalles

Instituto Superior Politécnico José Antonio Echeverría Facultad de Ingeniería Informática

Instituto Superior Politécnico José Antonio Echeverría Facultad de Ingeniería Informática Instituto Superior Politécnico José Antonio Echeverría Facultad de Ingeniería Informática COMPONENTE PARA LA TRANSFORMACIÓN A ESTÁNDARES DE MODELOS DE PROCESOS DE NEGOCIO. MODELOS DE LA BPMS BONITA Informe

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

Cookbook Creando un Proyecto Android (ADT-Eclipse)

Cookbook Creando un Proyecto Android (ADT-Eclipse) Cookbook Creando un Proyecto Android (ADT-Eclipse) ALONSO PARRA CESAR VIELMA FREDDY RONDON JOSE MARQUEZ Alienx9889 * cesarvielma * spantons * joseangel2212 * * @gmail.com Universidad de Los Andes Escuela

Más detalles

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Julio 201 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen Julio (Solución) Grados Ing. Inf. y Mat. Inf. Julio 201 Departamento de Lenguajes,

Más detalles

Proyectos UML Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1

Proyectos UML Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1 Editorial de la Universidad Tecnológica Nacional Proyectos UML Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1 Ubaldo José Bonaparte Cátedra Paradigmas de Programación Facultad Regional Tucumán

Más detalles

19. Packages o paquetes

19. Packages o paquetes Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir

Más detalles

Entorno de Pruebas de Generadores de Código Automático

Entorno de Pruebas de Generadores de Código Automático UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITECNICA SUPERIOR TRABAJO FIN DE GRADO Entorno de Pruebas de Generadores de Código Automático José Carretero Arias Tutor: Jesús Sánchez Cuadrado Mayo-Junio 2013

Más detalles

Introducción a BioMA. Tutorial Creación de componentes

Introducción a BioMA. Tutorial Creación de componentes Introducción a BioMA Tutorial Creación de componentes Versión Número Fecha 2 Junio de 2014 Copyright Unión Europea, 1995-2014 Reproducción autorizada, con indicación de la fuente bibliográfica, salvo que

Más detalles

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish) UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS PROGRAMACION PARA DISPOSITIVOS MOVILES PDM115 Ciclo I-2014 GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

Más detalles

Nombre del Proyecto: Página web GAQSA S.A de C.V. (Módulo de laboratorios) Nombre de la Empresa: Ganaderos Asociados de Querétaro S.A de C.

Nombre del Proyecto: Página web GAQSA S.A de C.V. (Módulo de laboratorios) Nombre de la Empresa: Ganaderos Asociados de Querétaro S.A de C. UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Nombre del Proyecto: Página web GAQSA S.A de C.V. (Módulo de laboratorios) Nombre de la Empresa: Ganaderos Asociados de Querétaro S.A de C.V (GAQSA) Memoria que como

Más detalles

Fundamentos de Programación

Fundamentos de Programación Guión 1 Introducción a la compilación y ejecución de programas Java mediante J2SE y Netbeans Marzo de 2007 Fundamentos de Programación Curso 2006/2007 Índice 1. Introducción 5 2. Utilización de j2sdk

Más detalles

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO Héctor A. FLOREZ FERNANDEZ Facultad Tecnológica, Universidad Distrital Francisco Jose de Caldas haflorezf@udistrital.edu.co Bogotá,

Más detalles

Desarrollo y servicios web Sesión 18

Desarrollo y servicios web Sesión 18 Desarrollo y servicios web Sesión 18 Luisa Fernanda Rincón Pérez 2014-2 Qué son los patrones arquitectónicos? Definen la estructura de la solución al mas alto nivel. Por esto es lo primero que se tiene

Más detalles

Estudio de Framework Visual Studio DSL Tools

Estudio de Framework Visual Studio DSL Tools VS. Eclipse Estudio de Framework Melanie Vilaine, Felipe Ramos Collado, Juan Antonio Tejero Fernández, Inmaculada Labrador del Río Ingeniería Informática Universidad de Cádiz 19 de enero de 2012 1 / 57

Más detalles

Adaptación y Configuración de Procesos de Software Tailoring and Configuration of Software Processes

Adaptación y Configuración de Procesos de Software Tailoring and Configuration of Software Processes Adaptación y Configuración de Procesos de Software Tailoring and Configuration of Software Processes Rodolfo Villarroel Acevedo 1* 1 Pontificia Universidad Católica de Valparaíso. Avenida Brasil 2241,

Más detalles

Objective C (Desarrollo con Apple)

Objective C (Desarrollo con Apple) 1 Objective C (Desarrollo con Apple) para programación en Iphone SDK: Similitudes y Diferencias entre Objective C con C/C++ y Java Dr. Moisés Alencastre Miranda, malencastre@itesm.mx 2 Introducción al

Más detalles

INTRODUCCION AL LENGUAJE UNIFICADO MODELADO

INTRODUCCION AL LENGUAJE UNIFICADO MODELADO INTRODUCCION AL LENGUAJE UNIFICADO MODELADO Cap. 9 Kendall & Kendall Cap 2 P11 Jacobson SESION 8 Ana Mercedes Cáceres mercycaceres@gmail.com Año 2006. 1 OBJETIVOS Presentar el lenguaje de modelado UML,

Más detalles

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia Introducción Herencia y Polimorfismo Se pueden definir jerarquías de clases, con clases generales que definen el comportamiento común a unos objetos y clases específicas que sólo añaden o redefinen el

Más detalles

Tema 5 Diseño con Glade

Tema 5 Diseño con Glade Tema 5 Diseño con Glade Curso de Python Avanzado Juan Pedro Boĺıvar Puente Instituto Andaluz de Astrofísica Mayo de 2011 Juan Pedro Boĺıvar Puente (Instituto Andaluz de Astrofísica) Tema 5 Diseño con Glade

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

Enterprise Architect y UML Básico

Enterprise Architect y UML Básico Enterprise Architect y UML Básico Diciembre 2008 Carlos Alexander Zuluaga Agenda Diagrama de despliegue. Introducción. Modelado. Diagrama de estructuras compuestas. Introducción. Modelado. Modelo 4 + 1

Más detalles

FEATURE MODELING TOOL MANUALES

FEATURE MODELING TOOL MANUALES FEATURE MODELING TOOL MANUALES INDICE Instalación... 3 Procedimiento de instalación... 3 Desinstalación... 4 Guía de Uso... 4 Elementos gráficos del editor... 5 Creación de un proyecto... 8 Abrir un modelo...

Más detalles

Transformación de Procesos BPMN a su Implementación en BPEL utilizando QVT

Transformación de Procesos BPMN a su Implementación en BPEL utilizando QVT Transformación de Procesos BPMN a su Implementación en BPEL utilizando QVT Fabio A. Zorzan 1, Daniel Riesco 2 CONTEXTO La línea de investigación presentada en este trabajo se desarrolla en el marco del

Más detalles

Extensión de Visual Paradigm for UML para el desarrollo dirigido por modelos de aplicaciones de gestión de información

Extensión de Visual Paradigm for UML para el desarrollo dirigido por modelos de aplicaciones de gestión de información Tipo de artículo: Artículo original Temática: Ingeniería de software Recibido: 27/06/2012 Publicado: 15/10/2012 Extensión de Visual Paradigm for UML para el desarrollo dirigido por modelos de aplicaciones

Más detalles