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

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

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

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

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

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

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

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

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

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

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

"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

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

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

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

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

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

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

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

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

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

Introducción a Protégé

Introducción a Protégé FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 1ª Parte Introducción a Protégé Febrero 2003 1. Objetivo La presente

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

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

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

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

Máster MNTI Desarrollo Dirigido por Modelos. Seminario 1 - Metamodelado

Máster MNTI Desarrollo Dirigido por Modelos. Seminario 1 - Metamodelado Máster MNTI Desarrollo Dirigido por Modelos Seminario 1 - Metamodelado Grupo Modelum Universidad de Murcia 25 de octubre de 2010 Resumen En este seminario se introducen los conceptos básicos del metamodelado.

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

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

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

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

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

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

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

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

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

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

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

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

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

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 Desarrollo de editores gráficos con GMF Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz 14/11/13 PL2

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

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

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 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

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

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

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

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

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

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

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

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

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

%& %)& '$!%*+ $, %%%&$ %% 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

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción CORBA desde Java Diego Sevilla Ruiz Sistemas Distribuidos Índice 1. Introducción 1 2. Primeros pasos 1 2.1. Fichero IDL................................... 1 2.2. Cliente......................................

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

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

Escuela Superior de Ingeniería

Escuela Superior de Ingeniería Escuela Superior de Ingeniería Programación en Internet Grado en Ingeniería Informática Invocación de un servicio web REST desde una aplicación Android Autores: Javier Montes Cumbrera y Salvador Carmona

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

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

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

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

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

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

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

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

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

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

Diagrama de Clases. Diagrama de Clases

Diagrama de Clases. Diagrama de Clases Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar

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 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

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

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

Desarrollo de editores textuales con Xtext

Desarrollo de editores textuales con Xtext Procesadores de Lenguajes 2 Desarrollo de editores textuales con Xtext Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz Xtext 1

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

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

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

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

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

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

Guía del Curso Analista Programador Android: Business Android Apps Expert

Guía del Curso Analista Programador Android: Business Android Apps Expert Guía del Curso Analista Programador Android: Business Android Apps Expert Modalidad de realización del curso: Número de Horas: Titulación: Online 180 Horas Diploma acreditativo con las horas del curso

Más detalles

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases Fundamentos de la Programación Orientada a Objetos Objetos y Clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense

Más detalles

Integración de modelos BPMN en ambientes MDA

Integración de modelos BPMN en ambientes MDA Integración de modelos BPMN en ambientes MDA Martinez Ignacio, Mendez Lautaro, Nahuel Leopoldo, Perelli Julián, Pérsico Mauricio, Giandini Roxana Laboratorio de Innovaciones en Sistemas de Información,

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

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

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

3.9 Patrón Distributed callback

3.9 Patrón Distributed callback 3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima

Más detalles

XMLSpy. Manual de usuario. www.ejie.es

XMLSpy. Manual de usuario. www.ejie.es XMLSpy Manual de usuario Fecha: 31/08/2007 Referencia: EJIE S.A. Mediterráneo, 3 Tel. 945 01 73 00* Fax. 945 01 73 01 01010 Vitoria-Gasteiz Posta-kutxatila / Apartado: 809 01080 Vitoria-Gasteiz www.ejie.es

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

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

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

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

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11 Página 1 de 11 GUIA N 11 - DESARROLLO DE SOFTWARE A TRES CAPAS Objetivo: Desarrollar una aplicación de software con tres capas (Presentación Lógica Persistencia) donde se establezca una conexión con una

Más detalles

Introducción al LabVIEW

Introducción al LabVIEW Introducción al LabVIEW Qué es LabVIEW? LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un entorno de desarrollo basado en programación gráfica. Utiliza símbolos gráficos en lugar de lenguaje

Más detalles

Lenguaje Java Avanzado

Lenguaje Java Avanzado Lenguaje Java Avanzado Sesión 4: Pruebas con JUnit 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a JUnit Implementación de las pruebas Ejecución de pruebas Pruebas con excepciones

Más detalles

Notación UML para modelado Orientado a Objetos

Notación UML para modelado Orientado a Objetos 1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3

Más detalles

Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico

Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico Curso académico 2008-2009 1 Introducción La práctica de Integración de Sistemas consistirá en el diseño e implementación de

Más detalles

Escuela Superior de Ingeniería

Escuela Superior de Ingeniería Escuela Superior de Ingeniería Ingeniería Técnica en Informática de Sistemas Editor Gráfico para la Definición de Patrones de Eventos Complejos sobre Seguridad y Generador de Código EPL Curso 2011-2012

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles