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

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

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

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

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

"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

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

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

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

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

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

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

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

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

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

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior... MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones

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

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

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

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

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

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

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

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

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

WEB SERVICES CREACIÓN DEL SERVICIO

WEB SERVICES CREACIÓN DEL SERVICIO WEB SERVICES CREACIÓN DEL SERVICIO 1. Definición proyecto En el presente tutorial se va a realizar dos proyectos: el primero contendrá los servicios web para gestionar una lista de personas, y el segundo

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

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

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

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

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

GESTIÓN DE REDES PARTE III

GESTIÓN DE REDES PARTE III PARTE III Arquitectura de Gestión OSI 3.1 Introducción La gestión de red OSI, pensada inicialmente para la gestión de las propias redes OSI, debe su implantación práctica al ser adoptada por los estándares

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

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

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

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

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

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

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

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

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

Curso de JavaServer Faces

Curso de JavaServer Faces 1 Una JavaBean es una clase Java que sigue las siguientes convenciones: Constructor vacío Atributos de clase privados Por cada atributo, se crean los métodos getters y setters El Objetivo de los Managed

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

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

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

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011

Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011 Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011 Por favor siga las siguientes indicaciones: Escriba con lápiz y de forma prolija. Escriba las hojas de un solo lado Escriba su nombre y número de documento

Más detalles

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31

Más detalles

4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005

4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 Introducción Este curso de cinco días impartido por instructor permite a desarrolladores de nivel

Más detalles

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos Algunas Herramientas de Apoyo al Análisis y Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos Resumen Para desarrollar software hay varias herramientas de gran utilidad

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

Programación Avanzada Ingeniería Civil en Computación

Programación Avanzada Ingeniería Civil en Computación Interfaces Gráficas de Usuario usando Swing Prof. Federico Meza Programación Avanzada Ingeniería Civil en Computación Junio 2007 Programación Avanzada (ICC) Swing GUI s Junio 2007 1 / 13 GUI - Graphical

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

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

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA

Más detalles

Cristian Blanco www.cristianblanco.es

Cristian Blanco www.cristianblanco.es Instalación de la máquina virtual JAVA Eclipse es un programa de Java, pero no incluye la máquina virtual Java, necesaria para poder ejecutarlo, por lo que en caso de no tenerla habrá que instalarla. Se

Más detalles

Universidad Nacional de Luján Departamento de Ciencias Básicas Programación III

Universidad Nacional de Luján Departamento de Ciencias Básicas Programación III Introducción al uso de JDBC, Swing y Firebird 2.5 en Java 6 Standard Edition Guillermo R. Cherencio gcherencio@unlu.edu.ar Implementación del patrón de diseño Model View Controller Pattern Objetivo: Implementaciónde

Más detalles

CAPITULO V. HERRAMIENTA CASE (Rational Rose, C++)

CAPITULO V. HERRAMIENTA CASE (Rational Rose, C++) CAPITULO V HERRAMIENTA CASE (Rational Rose, C++) 5.1 HERRAMIENTA CASE La documentación del UML ha propiciado el desarrollo de herramientas CASE, las cuales cubren el ciclo de vida del software y además

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

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

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

TEMA 1.-Programación orientada a objetos (POO) Objetivo

TEMA 1.-Programación orientada a objetos (POO) Objetivo CURSO DE UML Dotar al alumno de los fundamentos de la programación orientada a objetos (POO, a partir de ahora), definir las características básicas del lenguaje de modelado unificado (Unified Modeling

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

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

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS Los lenguajes de consulta constituyen una funcionalidad importante de los SGBDOO. El usuario puede recuperar los datos especificando simplemente las condiciones

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

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

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda

Más detalles

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos: Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende

Más detalles

Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Bernal. Iván Bernal, Ph.D. 4

Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Bernal. Iván Bernal, Ph.D. 4 Programación Orientada a Objetos Clase # 6 Reutilización del código Jueves, 2 de Mayo de 2002 Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Agenda Prueba de medio bimestre.

Más detalles

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA LENGUAJES Y SISTEMAS INFORMÁTICOS PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 Qué es el análisis

Más detalles

Presentación y Planificación del Proyecto: Administración de Calzado

Presentación y Planificación del Proyecto: Administración de Calzado 1 Presentación y Planificación del Proyecto: Administración de Calzado Integrantes Manuel Cubillos manuel.cubillosv@usach.cl Juan Díaz juan.diazc@usach.cl Felipe Llancaleo felipe.llancaleo@usach.cl Alberto

Más detalles

Programación páginas web. Servidor (PHP)

Programación páginas web. Servidor (PHP) Programación páginas web. Servidor (PHP) Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte servidor con la tecnología PHP y el servidor de bases de datos MySQL.

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Creación un instalador con Visual Studio.NET. Irene Sobrón. Ingeniero de Telecomunicaciones por la Escuela Técnica Superior de Bilbao

Creación un instalador con Visual Studio.NET. Irene Sobrón. Ingeniero de Telecomunicaciones por la Escuela Técnica Superior de Bilbao Creación un instalador con Visual Studio.NET Irene Sobrón Ingeniero de Telecomunicaciones por la Escuela Técnica Superior de Bilbao Diferencia entre Debug y Release Existen dos configuraciones para realizar

Más detalles

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1 IWG-101: Introducción a la Ingeniería Departamento de Informática, UTFSM 1 Introducción a UML Historia Potencialidades Diagramas soportados UML en el proceso de desarrollo de SW. Introducción a UML Necesidad

Más detalles

KNime. KoNstanz Information MinEr. KNime - Introducción. KNime - Introducción. Partes de la Herramienta. Editor Window. Repositorio de Nodos

KNime. KoNstanz Information MinEr. KNime - Introducción. KNime - Introducción. Partes de la Herramienta. Editor Window. Repositorio de Nodos KNime - Introducción KNime Significa KoNstanz Information MinEr. Se pronuncia [naim]. Fue desarrollado en la Universidad de Konstanz (Alemania). Esta escrito en Java y su entorno grafico esta desarrollado

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

Definiciones. Tema 21_Módulos Menú 1

Definiciones. Tema 21_Módulos Menú 1 Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos

Más detalles

Tutorial Enterprise Architect 7.5 Versión en español

Tutorial Enterprise Architect 7.5 Versión en español Página 1 de Tutorial Enterprise Architect 7.5 Versión en español Página 2 de Índice Aspectos básicos Vistazo general. 3 Diagrama de Clases.. 4 Atributos 6 Métodos. 10 Relaciones.. 11 Configuración de Opciones

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

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

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

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Relaciones entre clases: Diagramas de clases UML

Relaciones entre clases: Diagramas de clases UML Relaciones entre clases: Diagramas de clases UML Las relaciones existentes entre las distintas clases nos indican cómo se comunican los objetos de esas clases entre sí: Los mensajes navegan por las relaciones

Más detalles

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones Univ. Cantabria Fac. de Ciencias Patricia López Modelo de Casos de Uso vs Modelo de Análisis Modelo de Casos de Uso Modelo de Análisis Descrito con el

Más detalles

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Ministerio de Educación Base de datos en la Enseñanza. Glosario Ministerio de Educación Base de datos en la Enseñanza. Glosario Instituto de Tecnologías Educativas 2011 Glosario Glosario GLOSARIO Archivo Un archivo es un elemento que contiene información y que a su

Más detalles

2.4 Modelado conceptual

2.4 Modelado conceptual 2.4 Modelado conceptual 2.4. Búsqueda de conceptos Un modelo conceptual muestra clases conceptuales significativas en un dominio del problema; es el artefacto más importante que se crea durante el análisis

Más detalles

FORMACIÓN Principios de la programación orientada a objetos

FORMACIÓN Principios de la programación orientada a objetos FORMACIÓN Principios de la programación orientada a objetos En un mercado laboral en constante evolución, la formación continua de los profesionales debe ser una de sus prioridades. En Galejobs somos conscientes

Más detalles