# Object-role modeling

Modela de objeto-rol (ORM) es usado para modelar la semántica de un universo de discurso. ORM es a menudo utilizado para modelado de datos e ingeniería de software.
Un modelo de rol de objeto utiliza símbolos gráficos basados en la lógica del primer orden y la teoría de conjuntos para permitir al modelador crear una definición inequívoca de un universo arbitrario del discurso. Libre de atributos, los predicados de un Modelo ORM se prestan al análisis y diseño de modelos de bases de datos de grafos en tanto que ORM fue concebido originalmente para beneficiar el diseño de bases de datos relacionales.
El término "modelo de objeto-rol" estuvo acuñado en el 1970 y las herramientas ORM han sido utilizadas para más de 30 años principalmente para modelado de datos. Más recientemente ORM ha solido modelo reglas empresariales, XML-Schemas, almacenes de dato, ingeniería de requisitos y formulario web

## Historia

Las raíces de ORM se remontan a la investigación sobre el modelado semántico para los sistemas de información en Europa durante la década de 1970. Hubo muchos pioneros y este breve resumen no los menciona todos. Una contribución temprana vino en 1973 cuando Michael Senko escribió acerca de la "estructuración de datos" en el IBM Systems Journal. En 1974 Jean-Raymond Abrial colaboró con un artículo sobre "Data Semantics". En junio de 1975, se publicó la tesis doctoral de Eckhard Falkenberg y en 1976 uno de los trabajos de Falkenberg menciona el término "modelo objeto-rol".
G. M. Nijssen hizo contribuciones fundamentales introduciendo la notación de "caja de círculo" para tipos de objetos y roles, y formulando la primera versión del procedimiento de diseño del esquema conceptual. Robert Meersman amplió el enfoque añadiendo subtipado e introduciendo el primer lenguaje de consulta verdaderamente conceptual.
@Modeling de función del objeto también #evolucionar del Análisis de Información de lengua Natural Método, una metodología que era inicialmente desarrollado por el investigador académico, G.M. Nijssen En el Netherlands (Europa) en el mid-@1970s y su equipo de búsqueda en la Búsqueda de Empresa de Dato de Control Laboratorio en Bélgica, y más tarde en la Universidad de Queensland, Australia en el @1980s. El acrónimo NIAM originalmente estado para "Nijssen Metodología de Análisis de la Información", y más tarde generalizado a "Análisis de Información de lengua Natural Metodología" y @Modeling de Relación Binaria desde entonces G. M. Nijssen Era solo uno de muchas personas implicó en el desarrollo del método.
En 1989 Terry Halpin completó su PhD tesis en ORM, proporcionando la primera formalización llena de la aproximación e incorporando varias extensiones.
También en 1989, Terry Halpin y G.M. Nijssen co-authored El libro "Conceptual Schema y Diseño de Base de datos Relacional" y varios papeles de junta, proporcionando la primera formalización de objeto-@modeling de función. Desde entonces Dr. Terry Halpin ha authored seis libros y encima 160 papeles técnicos.
Un gráfico NIAM herramienta de diseño qué incluido la capacidad de generar base de datos-guiones de creación para Oráculo, DB2 y DBQ estuvo desarrollado en el temprano @1990s en París. Sea originalmente nombrado Genesys y era marketed exitosamente en Francia y Canadá más tardío. También pueda manejar ER diseño de esquema. Sea ported a SCO Unix, SunOs, DEC 3151 es y Windows 3.0 plataformas, y era más tarde emigrado a tener éxito sistemas operativos de Microsoft, utilizando XVT para sistema operativo de cruz portabilidad gráfica. La herramienta estuvo rebautizada OORIANE y actualmente está siendo utilizado para almacén de dato grande y SOA proyectos.
También evolucionando de NIAM es "Plenamente Comunicación @Modeling de Información Orientada" FCO-IM (1992). se distingue de tradicional ORM en aquel toma una comunicación estricta-perspectiva orientada. Más que intentar a modelo el ámbito y sus conceptos esenciales, él modelos la comunicación en este ámbito (universo de discurso). Otra diferencia importante es que él esto encima nivel de caso, derivando nivel de tipo y nivel/de hecho del objeto durante análisis.
Otro desarrollo reciente es el uso de ORM en combinación con tipos de relación estandarizada con asoció funciones y una máquina estándar-taxonomía y diccionario legibles de conceptos cuando está proporcionado en el Gellish diccionario inglés. Estandarización de tipos de relación (tipos de hecho), las funciones y los conceptos habilita aumentó posibilidades para integración de modelo y reutilización de modelo.

## Conceptos
### Hechos

Objeto-los ejemplos a seguir están basados en hechos elementales, y expresados en esquemas que puede ser verbalised a lengua natural. Un hecho es una proposición como "John Smith estuvo contratado el 5 de enero de 1995" o "Mary Jones estuvo contratada el 3 de marzo de 2010".
Con ORM, proposiciones como estos, es abstracted a "tipos de hecho" por ejemplo "la persona estuvo contratada encima Fecha" y las proposiciones individuales están consideradas tan dato de muestra. La diferencia entre un "hecho" y un "hecho elemental" es que un hecho elemental no puede ser simplificado sin pérdida de significar. Este "hecho-la aproximación" basada facilita @modeling, transformando, y querying información de cualquier ámbito.

### Atributo-libre

ORM Es atributo-libre: modelos diferentes en la entidad@–relación (ER) y Lengua de @Modeling #Unificar (UML) métodos, ORM trata todos los hechos elementales como relaciones y así que trata decisiones para agrupar hechos a estructuras (p. ej. atributo-tipos de entidad basada, clases, esquemas de relación, XML schemas) cuando la implementación se preocupa irrelevante a semantics. Por evitar atributos en el modelo de base, ORM mejora estabilidad semántica y habilita verbalization a lengua natural.

### Hecho-@modeling basado

Hecho-el @modeling basado incluye procedimientos para hechos de mapeo para atribuir-basó estructuras, como aquellos de ER o UML.
Hecho-las representaciones textuales basadas están basadas en subconjuntos formales de lenguas nativas. ORM proponents Argumenta que ORM los modelos son más fáciles de entender por personas sin una educación técnica. Por ejemplo, proponents argumenta que objeto-los ejemplos a seguir son más fáciles de entender que lenguas declarativas como Lengua de Constreñimiento del Objeto (OCL) y otras lenguas gráficas como UML modelos de clase. Hecho-las notaciones gráficas basadas son más expresivas que aquellos de ER y UML. Un objeto-el ejemplo a seguir puede ser automáticamente mapped a relacional y deductive bases de datos (como datalog).

### ORM 2 notación gráfica

ORM2 es la generación más tardía de objeto-@modeling de función . Los objetivos principales para el ORM 2 notación gráfica es:
* Exhibición más compacta de ORM modelos sin compromising claridad
* Internacionalización mejorada (p. ej. evitar símbolos de lengua inglesa)
* Reglas de dibujo simplificado para facilitar creación de un editor gráfico
* Uso extendido de vistas para selectively mostrando/suprimiendo detalle
* Soporte para características nuevas (p. ej. camino de función delineation, aspectos de clausura, modalidades)

### Procedimiento de diseño

Desarrollo de sistema típicamente implica varias etapas como: estudio de viabilidad; análisis de requisitos; diseño conceptual de datos y operaciones; diseño lógico; diseño externo; prototyping; implementación y diseño internos; testaje y validación; y mantenimiento. Los siete pasos del conceptuales schema procedimiento de diseño es:
* Transforma ejemplos de información familiar a hechos elementales, y aplicar controles de calidad
* Sorteo los tipos de hecho, y aplicar un control de población
* El control para entidad escribe que tendría que ser combinado, y notar cualquier aritmética derivations
* Añade constreñimientos de unicidad, y control arity de tipos de hecho
* Añade constreñimientos de función obligatoria, y control para lógico derivations
* Añade valor, comparación de conjunto y subtyping constreñimientos
* Añadir otros constreñimientos y actuar controles finales
ORM conceptual schema procedimiento de diseño (CSDP) foco en el análisis y diseño de datos.