Metodología del proceso de objetos

Metodología de proceso de objetos (OPM) es un lenguaje y metodología de modelado conceptual para capturar conocimiento y diseñar sistemas, especificado como ISO/PAS 19450. Basado en una ontología universal mínima. de objetos con estado y procesos que los transforman, OPM se puede utilizar para especificar formalmente la función, estructura y comportamiento de sistemas artificiales y naturales en una gran variedad de dominios.
OPM fue concebido y desarrollado por Dov Dori. Las ideas subyacentes a OPM se publicaron por primera vez en 1995. Desde entonces, OPM ha evolucionado y desarrollado.
En 2002, se publicó el primer libro sobre OPM y el 15 de diciembre de 2015, después de seis años de trabajo por parte de ISO TC 184/SC 5, ISO adoptó OPM como ISO/PAS 19450. Se publicó un segundo libro sobre OPM. en 2016.
Desde 2019, OPM se ha convertido en la base para un programa de Certificado Profesional en Ingeniería de Sistemas Basados en Modelos - MBSE en EdX. Las conferencias están disponibles como vídeos web en Youtube.
Descripción general
La metodología de proceso de objetos (OPM) es un lenguaje y una metodología de modelado conceptual para capturar conocimiento y diseñar sistemas. Basado en una ontología universal mínima de objetos con estado y procesos que los transforman, OPM puede usarse para especificar formalmente la función, estructura y comportamiento de sistemas artificiales y naturales en una gran variedad de dominios. Atendiendo a las capacidades cognitivas humanas, un modelo OPM representa el sistema bajo diseño o estudio de forma bimodal tanto en gráficos como en texto para mejorar la representación, la comprensión, la comunicación y el aprendizaje.
En OPM, un objeto es cualquier cosa que existe o no. Los objetos tienen estado: pueden tener estados, de modo que en cada momento, el objeto se encuentre en uno de sus estados o en transición entre estados. Un proceso es algo que transforma un objeto creándolo, consumiéndolo o cambiando su estado.
OPM es bimodal; se expresa tanto visual/gráficamente en diagramas de proceso-objeto (OPD) como verbalmente/textualmente en lenguaje de proceso-objeto (OPL), un conjunto de oraciones generadas automáticamente en un subconjunto del inglés. Un paquete de software patentado llamado OPCAT, para generar OPD y OPL, está disponible gratuitamente.
Historia
El cambio al paradigma orientado al objeto (OO) para lenguajes de programación informática, que se produjo en los años 1980 y 1990, fue seguido por la idea de que la programación debe ir precedida por el análisis y diseño orientado al objeto de los programas, y, más generalmente, los sistemas que estos programas representan y sirven. Así, a principios de los años noventa, florecieron más de 30 métodos de análisis y diseño orientados a objetos y notaciones, lo que llevó a lo que se conocía como la "guerra de los metodos".
—Dov Dori, "Prefacio", Ingeniería de sistemas de base modelo con OPM y SysML (2017)
Alrededor de ese tiempo, en 1991, Dov Dori, que luego se unió a Technion – Israel Institute of Technology como profesor dijo en su libro de 2016 Ingeniería de sistemas de base modelo con OPM y SysML que él:
Se dio cuenta de que, al igual que el enfoque procesal del software era inadecuado, el enfoque OO “puro”, que pone los objetos como únicos ciudadanos de “primera clase”, con “métodos” (o “servicios”) siendo sus procedimientos subordinados de segunda clase.
—Dov Dori, "Prefacio", Ingeniería de sistemas de base modelo con OPM y SysML (2017)
Dori publicó el primer artículo sobre OPM en 1995.
En 1997, el Lenguaje Unificado de Modelado (UML), del Object Management Group (OMG), se convirtió en el estándar de facto para el diseño de software. UML 1.1 fue presentado a la OMG en agosto de 1997 y adoptado por la OMG en noviembre de 1997.
El primer libro sobre OPM, Metodología de proceso-objeto: un paradigma de sistemas holísticos, se publicó en 2002 y desde entonces la OPM se ha aplicado en muchos dominios.
En agosto de 2014, ISO adoptó OPM como ISO/PAS 19450.
En 2016 se publicó un segundo libro sobre OPM, que también cubre SysML.
Diseño

La Metodología Objeto-Proceso (OPM) es un paradigma de modelado de sistemas que integra dos aspectos inherentes a cualquier sistema: su estructura y su comportamiento. La estructura se representa a través de objetos y relaciones estructurales entre ellos, como agregación-participación (relación de parte entera) y generalización-especialización (relación "es-una"). El comportamiento está representado por los procesos y cómo transforman los objetos: cómo crean o consumen objetos, o cómo cambian los estados de un objeto.
OPM ofrece una forma de modelar sistemas de casi cualquier dominio, ya sea artificial o natural.
Modelado
OPM consta de diagramas de proceso de objetos (OPD) y un conjunto correspondiente de oraciones en un subconjunto del inglés, llamado lenguaje de proceso de objetos (OPL). OPL es generado automáticamente por OPCAT, una herramienta de software que admite el modelado en OPM.
- Diagrama de proceso de objetos (OPD)
OPD es el único tipo de diagrama de OPM. Esta singularidad del tipo de diagrama contribuye de manera importante a la simplicidad de OPM y contrasta marcadamente con UML, que tiene 14 tipos de diagramas, y con SysML, que tiene nueve de esos tipos. Un OPD describe gráficamente objetos, procesos y vínculos entre ellos. Los vínculos pueden ser estructurales y de procedimiento. Los vínculos estructurales conectan objetos con objetos o procesos con procesos, expresando el aspecto del sistema estático: cómo está estructurado el sistema. Los vínculos procedimentales conectan objetos con procesos, expresando el aspecto dinámico del sistema: cómo el sistema cambia con el tiempo. Todo el sistema está representado por un conjunto de OPD organizados jerárquicamente, de modo que el OPD raíz, llamado diagrama de sistemas (SD), especifica el diagrama de "ojo de pájaro"; vista del sistema, y los OPD de nivel inferior especifican el sistema con niveles de detalle cada vez mayores. Todos los OPD del conjunto de OPD del sistema son "conscientes" uno del otro, y cada uno muestra el sistema, o parte de él, con algún nivel de detalle. Todo el sistema se especifica en su totalidad mediante la unión de los detalles (hechos modelo) que aparecen en todos los OPD.
- Lenguaje del proceso de objetos (OPL)
Cada construcción OPD (es decir, dos o más cosas conectadas por uno o más enlaces) se traduce a una oración en OPL, un subconjunto del inglés natural. El poder de OPL radica en el hecho de que es legible por humanos pero también interpretable por computadoras. Estas son las etapas donde se toman las decisiones de diseño más importantes. La bimodalidad de gráficos y texto de OPM lo hace adecuado para modelar conjuntamente los requisitos por parte de un equipo que involucra tanto al cliente o su experto en el dominio, por un lado, como al arquitecto, modeladores y diseñadores del sistema, por el otro.
- Modelo OPM simulación animada
Los modelos OPM no son sólo representaciones gráficas y textuales estáticas del sistema, sino que también son ejecutables. Un modelo OPM correcto construido en OPCAT se puede simular al animarlo, expresando visualmente cómo el sistema se comporta con el tiempo para lograr su función a todos los niveles de detalle. Un modelo OPM incorrecto no ejecutará todo el camino a través, e indicará dónde y por qué está pegado, sirviendo eficazmente como un depurador visual.
Desarrollo
En su prólogo al libro de Dori Ingeniería de sistemas basada en modelos con OPM y SysML, Edward F. Crawley dijo:
La semántica de OPM estaba orientada originalmente hacia la ingeniería de sistemas, ya que puede modelar información, hardware, personas y regulación. Sin embargo, en los últimos años la OPM comenzó a servir también a investigadores en biología molecular, dando nuevos hallazgos publicados relacionados con el ciclo de vida del MRNA. Esta es una clara indicación de la universalidad de la ontología objeto-y-proceso.
Conceptos básicos

OPM tiene dos partes principales: el lenguaje y la metodología. El lenguaje es bimodal: se expresa de dos maneras complementarias (modalidades): la parte visual y gráfica (un conjunto de uno o más diagramas objeto-proceso (OPD)) y una parte textual correspondiente (un conjunto de oraciones en proceso-objeto). idioma (OPL), que es un subconjunto del inglés.
El OPD de nivel superior es el diagrama del sistema (SD), que proporciona el contexto para la función del sistema. En el caso de los sistemas creados por el hombre, se espera que esta función beneficie a una persona o a un grupo de personas: el beneficiario. La función es el proceso principal en SD, que también contiene los objetos involucrados en este proceso: el beneficiario, el operando (el objeto sobre el cual opera el proceso) y posiblemente el atributo cuyo valor cambia el proceso.
Los elementos gráficos de OPM se dividen en entidades, expresadas como formas cerradas, y relaciones, expresadas como vínculos que conectan entidades.
Entidades
Las entidades son los componentes básicos de OPM. Incluyen objetos y procesos, denominados colectivamente cosas, y estados de objetos.
- Objeto
- Las asociaciones entre objetos constituyen la estructura de objetos del sistema que se está modelando. En el texto OPL, el nombre del objeto aparecerá en la cara audaz con capitalización de cada palabra.
- Estado objeto
- Un estado de objeto es una clasificación de situación particular de un objeto en algún momento durante su vida. En cada momento, el objeto está en uno de sus estados o en transición entre dos de sus estados, desde su estado de entrada a su estado de salida.
- Proceso
- Un proceso es una expresión del patrón de transformación de objetos en el sistema. Un proceso no existe en aislamiento; siempre está asociado con uno o más objetos o ocurre o ocurre con ellos. Un proceso transforma objetos al crearlos, consumirlos o cambiar su estado. Así, los procesos complementan los objetos proporcionando el aspecto dinámico y conductual del sistema. En el texto OPL, el nombre del proceso aparecerá en la cara audaz con capitalización de cada palabra.
Enlaces


- Enlace estructural
- Un vínculo estructural define una relación estructural. Una relación estructural especificará una asociación que persiste en el sistema por al menos algún intervalo de tiempo.
- Enlace procesal
- Un vínculo procesal define la relación procesal. Una relación procesal especificará cómo funciona el sistema para alcanzar su función, designando tiempo dependiente o desencadenante condicional de procesos, que transforman objetos.
- Evento y condición
- El paradigma Event-Condition-Action proporciona la semántica operacional de la OPM y el flujo de control. Un evento es un punto en el que se crea un objeto (o parece ser creado desde la perspectiva del sistema) o un objeto entra en un estado especificado. At runtime, this process triggering initiates evaluation of the process precondition. Por lo tanto, iniciar una ejecución de proceso tiene dos requisitos: (1) un evento desencadenante, y (2) satisfacción de una condición previa.
Una vez que el evento desencadena un proceso, el evento deja de existir.
Sintaxis y semántica
Cosas
Los objetos y procesos son simétricos en muchos aspectos y tienen mucho en común en términos de relaciones, como agregación, generalización y caracterización.
Para aplicar la OPM de manera útil, el modelador debe hacer la distinción esencial entre objetos y procesos, como requisito previo para el análisis y diseño exitosos del sistema. Por defecto, un sustantivo identificará un objeto.
Atributos genéricos de la cosa
Las cosas OPM tienen tres atributos genéricos:
- Perseverancia
- Essence
- Afiliación
Los atributos genéricos del objeto OPM tienen los siguientes valores predeterminados:
- El valor predeterminado del Afiliación atributo genérico de una cosa es sistémico.
- La esencia del sistema será la esencia principal del sistema. Al igual que la esencia, sus valores son informativos y físicos. Los sistemas de información, en los que la mayoría de las cosas sean informativas, serán principalmente informativos, mientras que los sistemas en los que la mayoría de las cosas sean físicas serán principalmente físicos.
- El valor predeterminado del Essence atributo genérico de una cosa en un sistema [físico] principalmente informativo será informativo [físico].
Estados del objeto

- Objetos estatales y apátridas
- Dov Dori explica en Ingeniería de sistemas de base modelo con OPM y SysML que "Un estado objeto es una situación posible en la que puede existir un objeto. Un estado objeto tiene significado sólo en el contexto del objeto al que pertenece." Un objeto apátrida será un objeto que no tenga especificación de estados. Un objeto declarado será un objeto para el cual se especifique un conjunto de estados permisibles. En un modelo de tiempo de ejecución, en cualquier momento, cualquier instancia de objeto estatal está en un estado permisible particular o en transición entre dos estados.
- Valores atributos
- Un atributo es un objeto que caracteriza una cosa. Un valor de atributo es una especialización del estado en el sentido de que un valor es un estado de atributo: un objeto tiene un atributo, que es un objeto diferente, al que se asigna ese valor por algún período de tiempo durante la existencia del objeto que exhibe ese atributo.
- Representación del Estado objeto
- Un estado se define gráficamente por un rectángulo rotulado y redondeado situado dentro del objeto de propiedad. No puede vivir sin un objeto. En el texto OPL, el nombre del Estado aparecerá en la cara negrita sin capitalización.
- Estados iniciales, predeterminados y finales
- Representación estatal inicial, definitiva y predeterminada
- Un estado inicial es definido gráficamente por una representación estatal con contorno grueso. Un estado final es definido gráficamente por una representación estatal con doble contorno. Un estado que es predeterminado es definido gráficamente por una representación estatal con una flecha abierta apuntando diagonalmente desde la izquierda. Las frases correspondientes del OPL incluirán indicadores explícitos para un estado inicial, final o predeterminado.
Enlaces
Enlaces procesales

Un vínculo procesal es de tres tipos:
- Enlace transformador, que conecta un transformador (un objeto que el proceso transforma) o su estado con un proceso para la transformación de objetos modelo, a saber, la generación, el consumo o el cambio de estado de ese objeto como resultado de la ejecución del proceso.
- Enlace propicio, que conecta un habilitador (un objeto que permite la ocurrencia del proceso pero no se transforma por ese proceso) o su estado, a un proceso que permite la ocurrencia de ese proceso.
- Enlace de control, que es un vínculo procesal (transformar o habilitar) con un modificador de control: la letra e (para evento) o c (para condición), que añade semántica de un elemento de control. La letra e significa un evento para desencadenar el proceso vinculado, mientras que la letra c significa una condición para la ejecución del proceso vinculado, o conexión de dos procesos que denotan invocación, o excepción.
- Principio de unión procesal
- Un proceso necesita transformar al menos un objeto. Por lo tanto, un proceso se conectará a través de un enlace transformador a al menos un estado objeto o objeto. En cualquier medida particular de abstracción, un objeto o cualquiera de sus estados tendrá exactamente un papel como elemento modelo respecto a un proceso al que vincula: el objeto puede ser un transformador o un habilitador. Además, puede ser un disparador para un evento (si tiene el modificador de control e), o un objeto acondicionado (si tiene el modificador de control c), o ambos.
- Enlaces de procedimiento especificados por el Estado
- Un enlace procesal especificado por el Estado es una versión detallada de su contraparte de enlace procesal en ese lugar en lugar de conectar un proceso a un objeto, conecta un proceso a un estado específico de ese objeto.
Enlaces habilitantes para las minas - Transformación de enlaces
- Los tres tipos de enlaces transformadores son:
- Enlace con el consumo: Graphically, una flecha con una punta de flecha cerrada apuntando desde el consumo al proceso de consumo define el enlace de consumo. Por suposición, el objeto consumido desaparece tan pronto como el proceso comienza la ejecución. La sintaxis de un vínculo de consumo frase OPL es: Procesar consume Consumee.
- Efectos: Un enlace transformador que especifica que el proceso vinculado afecta al objeto vinculado, que es el afectivo, es decir, el proceso causa algún cambio no especificado en el estado del afectuoso. Gráficamente, una flecha bidireccional con dos puntas de flecha cerradas, una apuntando en cada dirección entre el proceso que afecta y el objeto afectado, definirá el enlace de efecto. La sintaxis de un enlace de efecto frase OPL es: Procesar afecta a Affectee.
- Enlace de resultados: Graphically, una flecha con una punta de flecha cerrada apuntando desde el proceso de creación al resultado definirá un enlace de resultado. La sintaxis de un vínculo de resultado frase OPL es: Procesamiento de rendimientos Resultee.

- Enlaces propicios
- Un vínculo propicio es un vínculo procesal que especifica un habilitador para un proceso: un objeto que debe estar presente para que ese proceso ocurra, pero la existencia y el estado de ese objeto después de que el proceso esté completo son los mismos que justo antes de que el proceso comience. Los dos tipos de enlaces de habilitación son:
- Agente y enlace agente: Un humano o un grupo de humanos capaces de tomar decisiones inteligentes, que permiten un proceso interactuando con el sistema para permitir o controlar el proceso durante la ejecución. Gráficamente, una línea con un círculo lleno ("lollipop negro") en el extremo terminal que se extiende desde el objeto agente al proceso que permite definir un enlace agente. La sintaxis de una frase de agente enlace OPL es: Agente maneja Procesamiento.
- Enlace de instrumentos y instrumentos: Un inanimado o no-decisionista habilitador de un proceso que no puede comenzar o tener lugar sin la existencia y disponibilidad del instrumento.
- Enlaces de transformación especificados por el Estado
- Enlace de consumo especificado por el Estado: Un vínculo de consumo que se origina de un estado particular del consumidor, lo que significa que el consumidor debe estar en ese estado para que sea consumido por el proceso al que está vinculado. Graphically, una flecha con una punta de flecha cerrada apuntando desde el estado objeto particular al proceso, que consume el objeto, define el enlace de consumo especificado por el estado.
- Enlace de resultados especificado por el Estado: Un enlace de resultado que termina en un estado específico del resultado, lo que significa que el resultado será en ese estado resultante en su construcción. Gráficamente, una flecha con una punta de flecha cerrada apuntando desde el proceso al estado objeto particular define el enlace de resultado especificado por el estado. La frase sintaxis OPL es: El proceso produce objetos de estado calificado.
- Enlaces de efecto especificado por el Estado:
- Enlaces de efecto de entrada y salida- Un enlace de entrada es el enlace del estado de entrada del objeto al proceso de transformación, mientras que el enlace de salida es el enlace del proceso de transformación al estado de salida del objeto.
- Enlace de efecto especificado de entrada: Un par de enlaces de efecto, donde el enlace de entrada se origina de un estado particular del afectuoso y el enlace de salida se origina de ese proceso y termina en el estado de salida del mismo afectuoso. Gráficamente, un par de flechas con una punta de flecha cerrada del estado de entrada del afectuoso al proceso de afectación y una flecha similar de ese proceso al estado del afectante en proceso termina define el enlace de efecto especificado de entrada-salida. La frase OPL sintaxis es: Cambios de proceso Objeto de estado de entrada a estado de salida.
- Enlace de efecto especificado de entrada: Un par de enlaces de efecto, donde el enlace de entrada se origina de un estado particular del afectuoso y el enlace de salida se origina de ese proceso y termina en el afectista sin especificar un estado particular. Gráficamente, un par de flechas que consisten en una flecha cerrada desde un estado particular —el estado de entrada— del afectuoso al proceso, y una flecha similar de ese proceso al afectista pero no a ninguno de sus estados define el enlace de efecto especificado por la entrada. La frase OPL sintaxis es: Cambios de proceso Objeto del estado de entrada.
- Enlace de efecto especificado: Un par de enlaces de efecto, donde el enlace de entrada (fuente) se origina de un afectista, y el enlace de salida se origina del proceso y termina en el estado de salida (destinación, resultado) del mismo afectista. Gráficamente, un par de flechas que consisten en una flecha con una punta de flecha cerrada del afectuoso, pero no de ninguno de sus estados, al proceso que afecta, y una flecha similar de ese proceso a un estado particular de ese afectuoso, el estado de salida, define el enlace de efecto especificado por la salida.

- Enlaces habilitados especificados por el Estado
- Originar de un estado de calificación específico y terminar en un proceso, lo que significa que el proceso puede ocurrir si y sólo si el objeto existe en el estado desde el cual se origina el enlace.
- Enlace de agente especificado por el Estado: Graphically, una línea con un círculo lleno ("lollipop negro") en el extremo terminal que se extiende desde el estado de clasificación del objeto agente al proceso que permite definir un enlace de agente especificado por el estado. La frase de la sintaxis OPL es: Qualifying-state Agent handles Processing.
- Enlace de instrumentos especificados por el Estado: Un vínculo de instrumento que se origina de un estado de calificación específico del instrumento. Graphically, una línea con un círculo vacío ("Lollipop blanco") en el extremo terminal que se extiende desde el estado de clasificación del objeto instrumento al proceso que permite definir un enlace de instrumento especificado por el estado. La frase sintaxis OPL es: Procesar requiere un instrumento de estado calificado.
Control de Condición-Condición
- Preproceso del objeto set y proceso precondición
- Para que un proceso de OPM comience a ejecutar una vez que se haya disparado, necesita un conjunto de objetos que comprendan uno o más consumos, algunos posiblemente en estados específicos y/o afecta, llamados colectivamente el conjunto de objetos de preproceso. En ejecución a nivel de instancia, cada consumo B en el conjunto de objetos de preproceso del proceso P será consumido y dejará de existir al comienzo del subproceso de nivel más bajo de P que consume B. Cada afectado (un objeto cuyo estado cambia) B en el conjunto de objeto de preproceso del proceso P saldrá de su estado de entrada al comienzo del subproceso de nivel más bajo de P.

- Conjunto de objetos posteriores al proceso y proceso posterior a la condición
- Un conjunto de objetos, que comprenden uno o más resultados, algunos posiblemente en determinados estados, y/o afecta, llamados colectivamente el objeto post-proceso establecido, resultarán de ejecutar un proceso y llevar a cabo las transformaciones asociadas con su ejecución. Cada resultado B en el conjunto de objeto de proceso de post-proceso P se creará y comenzará a existir al final del subproceso de nivel más bajo de P que produce B. Cada B afectado en el conjunto de objeto post-proceso del proceso P entrará en su estado de salida al final del subproceso de nivel más bajo de P.
Enlaces de control
Un enlace de evento y un enlace de condición expresan un evento y una condición, respectivamente. Los vínculos de control ocurren entre un objeto y un proceso o entre dos procesos.
- Enlaces de eventos
- El desencadenar un proceso inicia un intento de ejecutar el proceso, pero no garantiza el éxito de este intento. El evento desencadenante obliga una evaluación de la condición previa del proceso para la satisfacción, que, si y sólo si está satisfecho, permite que la ejecución del proceso continúe y el proceso se activa. Independientemente de si la condición previa está satisfecha o no, el evento se perderá. Si la condición previa no está satisfecha, la ejecución del proceso no ocurrirá hasta que otro evento active el proceso y una evaluación previa de éxito permite que el proceso se ejecute.
- Enlaces básicos de eventos transformadores: Un enlace de evento de consumo es un enlace entre un objeto y un proceso, que activa una instancia del objeto.
- Enlace del evento de consumo: Gráficamente, una flecha con una punta de flecha cerrada apuntando desde el objeto al proceso con la letra pequeña e (para el evento). La sintaxis de un enlace de evento de consumo frase OPL es: El proceso de desencadenar objetos, que consume objetos.
- Enlace del evento del efecto: Graphically, una flecha bidireccional con puntas de flecha cerradas en cada extremo entre el objeto y el proceso con una pequeña letra e (para el evento). La sintaxis de un enlace de evento de efecto OPL frase es: El proceso de desencadenamiento de objetos, que afecta a Objeto.
- Enlaces básicos para eventos:
- Enlace del evento del agente: Un enlace de evento de agente es un enlace habilitante de un objeto agente al proceso que activa y permite. Gráficamente, una línea con un círculo lleno ("lollipop negro") en el extremo terminal que se extiende desde un objeto agente al proceso que activa y permite con una pequeña letra e (para el evento). La sintaxis de un enlace de evento agente frase OPL es: Agente dispara y maneja Proceso.
- Enlace del evento de instrumentos: Gráfico, una línea con un círculo vacío ("Lollipop blanco") en el extremo terminal que se extiende desde el objeto del instrumento al proceso que activa y permite con una pequeña letra e (para el evento). La sintaxis de un enlace de evento de instrumento frase OPL es: Proceso de desencadenadores de instrumentos, que requiere Instrumento.
- Enlaces de eventos transformadores especificados por el Estado:
- Enlace del evento de consumo especificado por el Estado: Un enlace de evento de consumo especificado por el Estado es un enlace de consumo que se origina de un estado específico de un objeto y termina en un proceso, que activa una instancia del objeto. Gráficamente, una flecha con una punta de flecha cerrada apuntando desde el estado objeto al proceso con la letra pequeña e (para el evento). La sintaxis de un enlace de evento de consumo especificado por el estado OPL frase es: Objeto de estado especificado activa Proceso, que consume Objeto.
- Enlace de evento de efecto especificado de entrada: Un enlace de evento de efecto especificado de salida es un enlace de efecto especificado de entrada con el significado adicional de activar el proceso de afectación cuando el objeto entra en el estado de entrada especificado. Gráficamente, el enlace de efecto especificado de entrada-salida con una letra pequeña e (para evento). La sintaxis de un enlace de efecto especificado de salida de entrada OPL frase es: Input-state Object dispara Proceso, que cambia Objeto de estado de entrada a estado de salida.
- Enlace de evento de efecto especificado de entrada: Un enlace de evento de efecto especificado de entrada es un enlace de efecto especificado de entrada con el significado adicional de activar el proceso de afectación cuando el objeto entra en el estado de entrada especificado. Graphically, el enlace de efecto especificado por entrada con una pequeña letra e (para evento. La sintaxis de un enlace de evento de efecto especificado por entrada OPL frase es: Input-state Object dispara Proceso, que cambia Objeto de estado de entrada.
- Enlace de evento de efecto especificado: Un enlace de evento de efecto especificado de salida es un enlace de efecto especificado de salida con el significado adicional de activar el proceso de afectación cuando el objeto entra en existencia. Graphically, el enlace de efecto especificado por salida con una pequeña letra e (para evento). La sintaxis de un enlace de evento de efecto especificado de salida OPL frase es: Objeto en cualquier estado desencadena Proceso, que cambia Objeto a estado de destino
- Enlace de un agente especificado por el Estado:
- Enlace de actos de agente especificado por el Estado: Un enlace de evento de agente especificado por el estado es un enlace de agente especificado por el estado con el significado adicional de activar el proceso cuando el agente entra en el estado especificado. Graphically, el agente especificado por el estado enlace con una pequeña letra e (para el evento). La sintaxis de un enlace de eventos de agente especificado por el estado OPL frase es: Qualifying-state Agent dispara y maneja Processing".
- Enlace de actos de instrumentos especificados por el Estado: Un enlace de evento de instrumentos especificado por el Estado es un enlace de instrumento especificado por el Estado con el significado adicional de activar el proceso cuando el instrumento entra en el estado especificado. Gráficamente, el enlace de instrumentos especificado por el Estado con una pequeña letra e (para el evento). La sintaxis de un enlace de evento de instrumentos especificado por el estado OPL frase es: Instrumento de clasificación-estado activa el procesamiento, que requiere Instrumento de estado calificado."
- Enlaces de incitación
- Invocación del proceso
- Enlace de autoinvocación
- Enlace de invocación implícita: La invocación implícita ocurre en la terminación del subproceso dentro del contexto de un proceso in-zoomed, en cuyo momento el subproceso invoca al(s) inmediatamente debajo de él. Gráficamente, no hay vínculo entre la invocación y los subprocesos invocados; sus alturas relativas dentro del contexto in-zoom de su proceso de ancestro implica esta semántica.
- Enlaces de estado
- Un vínculo de condición es un vínculo procesal entre un estado objeto o objeto fuente y un proceso de destino que proporciona un mecanismo de bypass.
- Consumo de condiciones: Un vínculo de consumo de condiciones es un vínculo de condición de un objeto a un proceso, lo que significa que si en tiempo de ejecución existe una instancia de objeto, entonces el proceso precondición está satisfecho, el proceso ejecuta y consume la instancia de objeto. Gráficamente, una flecha con una punta de flecha cerrada apuntando desde el objeto al proceso con la letra pequeña c (por condición) cerca de la punta de flecha denotará un enlace de consumo de condición.
- Efecto de la condición: Sin embargo, si esa instancia de objeto no existe, entonces la evaluación previa del proceso falla y el control salta el proceso. Gráficamente, una flecha bidireccional con dos puntas de flecha cerradas, uno apuntando en cada dirección entre el objeto afectado y el proceso de afectación, con la pequeña letra c (para condición) cerca del extremo del proceso de la flecha.
- Estado de enlace: Gráficamente, una línea con un círculo lleno ('lollipop negro") en el extremo terminal que se extiende desde un objeto agente al proceso que permite, con la letra pequeña c (por condición) cerca del final del proceso. La sintaxis del enlace de agente de condiciones OPL frase es: Agente mangos Proceso si Agente existe, si no Proceso está saltado.
- Enlace de instrumento de condición: Graphically, una línea con un círculo vacío ("Lollipop blanco") en el extremo terminal, que se extiende desde un objeto de instrumento al proceso que permite, con la letra pequeña c (por condición) cerca del final del proceso, denotará un enlace de instrumento de condición. La sintaxis de la relación con el instrumento de condición de la oración OPL será: Proceso ocurre si Instrumento existe, si no Proceso está saltado.
- Estado de estado de conexión de consumo especificado: Un vínculo de consumo especificado por el estado es un enlace de consumo de afección que se origina de un estado especificado de un objeto y termina en un proceso, lo que significa que si una instancia de objeto existe en el estado especificado y el resto del proceso precondición está satisfecho, entonces el proceso ejecuta y consume la instancia del objeto. Gráficamente, una flecha con una punta de flecha cerrada apuntando desde el estado de clasificación objeto al proceso con la letra pequeña c (por condición) cerca de la punta de flecha.
- Enlace de efecto especificado de entrada de salida: Un enlace de efecto especificado de entrada de salida de la condición es un enlace de efecto especificado de salida de entrada con el significado adicional que si en el tiempo de ejecución existe una instancia de objeto y está en el estado de entrada de proceso (y asumiendo que el resto del proceso precondición está satisfecho), entonces el proceso ejecuta y afecta la instancia de objeto. Gráficamente, el vínculo de efecto especificado de entrada de salida con la letra pequeña c (por condición) cerca de la punta de flecha de la entrada. La sintaxis del vínculo de efecto especificado de entrada de salida de la condición OPL es: El proceso ocurre si el objeto es el estado de entrada, en cuyo caso el proceso cambia Objeto de estado de entrada a estado de salida, de lo contrario el proceso se salta.
- Enlace de efecto especificado de entrada: Un enlace de efecto especificado de entrada de condición es un enlace de efecto especificado de entrada con el significado adicional de que si en el tiempo de ejecución existe una instancia de objeto en el estado de entrada especificado y el resto del proceso precondición está satisfecho, entonces el proceso ejecuta y afecta la instancia de objeto cambiando su estado de entrada a un estado no especificado. Sin embargo, si esa instancia de objeto no existe en el estado de entrada, entonces la evaluación previa del proceso falla y el control salta el proceso. Gráficamente, la condición de efecto especificado enlace con la letra pequeña c (por condición) cerca de la punta de flecha del enlace de entrada. La sintaxis de una condición de vínculo de efecto especificado por entrada OPL frase es: Proceso ocurre si Objeto es estado de entrada, en cuyo caso Proceso cambios Objeto del estado de entrada, de lo contrario el proceso se salta.
- Enlace de efecto especificado de salida de estado: Un vínculo de efecto especificado de salida de la condición es un enlace de efecto especificado de salida con el significado adicional que si en el tiempo de ejecución existe una instancia de objeto y el resto del proceso precondición está satisfecho, entonces el proceso ejecuta y afecta la instancia del objeto cambiando su estado al estado de salida especificado. Sin embargo, si esa instancia de objeto no existe, entonces la evaluación previa del proceso falla y el control salta el proceso. Gráficamente, el efecto especificado de la condición enlace con la letra pequeña c (por condición) cerca de la punta de flecha del enlace de entrada. La sintaxis de la condición efecto especificado de salida OPL frase es: Proceso ocurre si Objeto existe, en cuyo caso Proceso cambios Objeto a producción-estado, de lo contrario Proceso está saltado.
- Estado de estado de relación agente especificado: La sintaxis del vínculo agente especificado por estado OPL frase es: Mangos de agente Proceso si el agente es clasificación-estado, si no Proceso está saltado.
- Estado de unión de instrumentos especificados
Puede encontrar más información y ejemplos en Ingeniería de sistemas basada en modelos con OPM y SysML, Capítulo 13 "El aspecto del sistema dinámico".
Vínculos estructurales
Los vínculos estructurales especifican relaciones estáticas, independientes del tiempo y duraderas en el sistema. Un vínculo estructural conecta dos o más objetos o dos o más procesos, pero no un objeto y un proceso, excepto en el caso de un vínculo exposición-caracterización.
- Enlace estructural etiquetado
- Tiene una semántica definida por el usuario respecto a la naturaleza de la relación de una cosa a otra. Gráficomente, una flecha con una punta de flecha abierta. A lo largo del enlace estructural etiquetado, el modelador debe registrar una etiqueta significativa en la forma de una frase textual que expresa la naturaleza de la relación estructural entre los objetos conectados (o procesos) y tiene sentido cuando se coloca en la frase OPL cuya sintaxis sigue.
- Unidirectional null-tagged structural link
- Un vínculo estructural etiquetado unidireccional sin etiqueta. En este caso, se utiliza la etiqueta unidireccional predeterminada. El modelador tiene la opción de establecer la etiqueta unidireccional predeterminada para un sistema específico o un conjunto de sistemas. Si no se define ningún defecto, la etiqueta predeterminada es "relates to".
- Enlace estructural etiquetado bidireccional
- Cuando las etiquetas en ambas direcciones son significativas y no sólo la inversa entre sí, pueden ser grabadas por dos etiquetas en cada lado de un único enlace estructural etiquetado bidireccional. La sintaxis del eslabón estructural etiquetado resultante es dos frases de unión estructural separadas OPL, una para cada dirección. Gráficamente, una línea con puntas de flecha en forma de harpoón en los lados opuestos en ambos extremos de la línea del enlace será.
- Enlace estructural recíproco
- Un enlace estructural etiquetado bidireccional con una etiqueta. En cualquier caso, la reciprocidad indica que la etiqueta de un enlace estructural bidireccional tiene la misma semántica para sus direcciones hacia adelante y hacia atrás. Cuando no aparezca ninguna etiqueta, la etiqueta predeterminada será "are relacionada". La sintaxis del enlace estructural recíproco etiquetado con una sola etiqueta será: Lo de origen y destino son reciprocidad-tag. La sintaxis del enlace estructural recíproco etiquetado con ninguna etiqueta es: Lo de la fuente y lo de Destino están relacionados.
- Relaciones estructurales fundamentales
- Las relaciones estructurales más frecuentes entre las cosas de la OPM y son de particular importancia para especificar y comprender los sistemas. Cada una de las relaciones fundamentales es elaborada o refinada una cosa OPM, la cosa fuente, o refina, en una colección de una o más cosas OPM, la cosa de destino o cosas, o refineables.
- Enlace de participación en la agregación
- Una refinería, toda—agrega una o más refinerías—las partes. Gráficamente, un triángulo sólido negro (llenado en) con su ápice que conecta por una línea al conjunto y las partes que conectan por líneas a la base horizontal opuesta denotarán el enlace de la relación agregación-participación.
- Enlace de exposición-caracterización
- Una cosa exhibe, o se caracteriza por, otra cosa. La relación exposición-characterización une un refino —el expositor— con una o más refinerías, que identificarán características que caracterizan al expositor gráficamente, un triángulo negro más pequeño dentro de un triángulo vacío más grande con el ápice de un triángulo más grande que conecta una línea con el expositor y las características que conectan a la base opuesta (horizontal) define el enlace de relación exposición-characterización.
- Especialización en generalización y herencia
- Estas son relaciones estructurales que prevén la abstracción de cualquier número de objetos o clases de proceso en superclases, y la asignación de atributos de superclases a clases subordinadas.
- Enlace de especialización en generalización
- Herencia mediante la especialización
- Restricción de la especialización mediante atributo discriminante: Un subconjunto de los posibles valores de un atributo hereditario puede restringir la especialización.
- Classification-instantiation and system execution
- Enlace de clasificación-intantiación: Una cosa fuente, que es una clase de objeto o una clase de proceso se conecta a una o más cosas de destino, que son casos valorados del patrón de la fuente, es decir, las características especificadas por el patrón adquieren valores explícitos. Esta relación proporciona al modelista un mecanismo explícito para expresar la relación entre una clase y sus instancias creadas por la provisión de valores de características. Gráficamente, un pequeño círculo negro dentro de un triángulo más grande vacío de otro modo con ápice que conecta por una línea a la cosa de clase y las cosas de instancia que se conectan por líneas a la base opuesta define el enlace de relación clasificación-intantiación. La sintaxis es: La inestabilidad es una instancia de la clase.
- Instances de clase de objeto y clase de proceso
- Relaciones y vínculos estructurales especificados por el Estado
- Relación y vínculo de caracterización especificada por el Estado: Una relación de exposición-caracterización de un objeto especializado que exhibe un valor para un atributo discriminante de ese objeto, lo que significa que el objeto especializado sólo tendrá ese valor. Gráficamente, el símbolo triangular de la exposición-characterización, con su ápice que se conecta al objeto especializado y su base opuesta que se conecta al valor, define la relación de caracterización especificada por el Estado. La sintaxis es: Specialized-object exhibe valor-name Attribute-Name.
- Relaciones y vínculos estructurales ajustados por el Estado: Una relación estructural entre un estado de objeto o valor de un atributo y otro objeto o su estado o valor, lo que significa que estas dos entidades están asociadas con la etiqueta que expresa la semántica de la asociación. En caso de una etiqueta nula (es decir, la etiqueta no se especifica), se utiliza la etiqueta nula predeterminada correspondiente. Existen tres grupos de relaciones estructurales etiquetadas especificadas por el Estado: (1) relación estructural marcada por el estado fuente, (2) relación estructural ajustada por el estado de destino, (3) relación estructural etiquetada por el estado fuente y la destinación, especificada por el estado de la relación estructural etiquetada. Cada uno de estos grupos incluye la correspondiente relación estructural unidireccional, bidireccional y recíproca, que da lugar a siete tipos de enlaces de relación estructural marcados por el Estado y las correspondientes oraciones OPL.
Puede encontrar más información y ejemplos en Ingeniería de sistemas basada en modelos con OPM y SysML, Capítulo 3.3 "Agregar enlaces estructurales".
Cardenales de relación


- Multiplicidad de objetos en los vínculos estructurales y de procedimiento
La multiplicidad de objetos se referirá a un requisito o especificación de restricción sobre la cantidad o el recuento de instancias de objetos asociados con un enlace. A menos que esté presente una especificación de multiplicidad, cada extremo de un enlace especificará sólo una instancia de cosa. La sintaxis de una oración OPL que incluye un objeto con multiplicidad incluirá la multiplicidad del objeto antes del nombre del objeto, y el nombre del objeto aparecerá en su forma plural. Las especificaciones de multiplicidad pueden aparecer en los siguientes casos:
- especificar múltiples instancias de origen o de destino para un enlace estructural etiquetado de cualquier tipo;
- e) especificar un objeto participante con múltiples instancias en un enlace de participación en la agregación, donde se pueda adjuntar una especificación de participación diferente a cada una de las partes del conjunto;
- especificar un objeto con múltiples instancias en relación procesal.
- Expresiones y limitaciones de la multiplicidad de objetos
La multiplicidad de objetos puede incluir expresiones aritméticas, que utilizarán los símbolos de operador "+", "–", "*", " /", "(", y ")" con su semántica habitual y utilizarán la correspondencia textual habitual en las frases OPL correspondientes.
Un número entero o una expresión aritmética pueden restringir la multiplicidad de objetos. Gráficamente, las restricciones de expresión aparecerán después de un punto y coma que las separe de la expresión que restringen y utilizarán los símbolos de igualdad/desigualdad "=", "<", " >", "<=" y ">=", las llaves "{" y "}" para encerrar miembros del conjunto, y el operador de membresía "en" (elemento de, ∈), todos con su semántica habitual. La oración OPL correspondiente colocará la frase de restricción en negrita después del objeto al que se aplica la restricción en la forma ", donde restricción".
- Attribute valor and multiplicity constraints
La expresión de multiplicidad de objetos para enlaces estructurales y de procedimiento especifica valores enteros o símbolos de parámetros que se resuelven en valores enteros. Por el contrario, los valores asociados con atributos de objetos o procesos pueden ser valores enteros o reales, o símbolos de parámetros que se resuelven en valores enteros o reales, así como cadenas de caracteres y valores enumerados. Gráficamente, un rectángulo etiquetado con esquinas redondeadas colocado dentro del atributo al que pertenece denotará un valor de atributo con el valor o rango de valores (enteros, números reales o caracteres de cadena) correspondiente al nombre de la etiqueta. En el texto OPL, el valor del atributo aparecerá en negrita sin mayúsculas.
La sintaxis para un objeto con una oración OPL de valor de atributo será: Atributo de Objeto es valor.
La sintaxis para un objeto con una oración OPL de rango de valores de atributo será: Atributo del rango de Objeto es rango de valores. Un vínculo estructural o procedimental que conecta con un atributo que tiene un valor de número real puede especificar una restricción de relación, que es distinta de una multiplicidad de objetos.
Gráficamente, una restricción de valor de atributo es una anotación mediante un número, entero o real, o un parámetro de símbolo, cerca del final del atributo del enlace y alineado con el enlace.
Operadores lógicos: AND, XOR y OR

- Enlaces lógicos y de procedimiento
Los operadores lógicos AND, XOR y OR entre relaciones de procedimiento permiten la especificación de condiciones previas y posteriores del proceso elaboradas. Los enlaces separados y que no se tocan tendrán la semántica de AND lógico. Aquí, para abrir la caja fuerte se necesitan las tres llaves.
- Enlaces lógicos XOR y OR de procedimiento
Un ventilador de enlace debe seguir la semántica de un operador XOR u OR. El extremo del abanico del enlace que sea común a los enlaces será el extremo del enlace convergente. El extremo del enlace que no sea común a los enlaces será el extremo del enlace divergente.
El operador de XOR significará que exactamente una de las cosas en el lapso del ventilador de enlace existe, si el extremo de enlace divergente tiene objetos, o sucede, si el extremo de enlace divergente tiene procesos. Gráficamente, un arco desgarrado a través de los enlaces en el ventilador de enlace con el punto focal del arco en el punto final convergente de contacto deberá denotar al operador XOR.
El operador OR significará que al menos una de las dos o más cosas en el tramo del abanico del enlace existe, si el extremo del enlace divergente tiene objetos, o sucede, si el extremo divergente tiene procesos. Gráficamente, dos arcos discontinuos concéntricos a través de los enlaces con su punto focal en el punto de contacto final convergente denotarán el operador OR.
- Aficionados de enlace XOR y OR especificados por el Estado

- Aficionados de enlace modificados por control

- Enlace probabilidades y aficionados al enlace probabilístico

- Carril de ejecución y etiquetas de ruta
- Una etiqueta de ruta será una etiqueta a lo largo de un enlace de procedimiento, que, en el caso de que haya más de una opción a seguir después de la terminación del proceso, prescribe que el enlace a seguir será el que tenga la misma etiqueta que el que entramos en el proceso.
Principios de modelado y comprensión del modelo
La definición del propósito, alcance y función del sistema en términos de límites, partes interesadas y condiciones previas es la base para determinar si otros elementos deben aparecer en el modelo. Esto determina el alcance del modelo del sistema. OPM proporciona mecanismos de abstracción y refinamiento para gestionar la expresión de claridad e integridad del modelo.
- Identificación beneficiaria del Stakeholder y del sistema
Para los sistemas creados por el hombre, se espera que esta función beneficie a una persona o un grupo de personas: el beneficiario. Una vez que la función del sistema se alinea con la expectativa de valor funcional de su principal beneficiario, el modelador identifica y agrega otras partes interesadas principales al modelo OPM.
- Diagrama de sistema
El OPD de primer nivel resultante es el diagrama del sistema (SD), que incluye al grupo de interesados, en particular al grupo beneficiario, y otras cosas ambientales de primer nivel, que proporcionan el contexto para la operación del sistema. El SD debe contener sólo las cosas centrales e importantes —las cosas indispensables para comprender la función y el contexto del sistema. La función es el proceso principal en SD, que también contiene los objetos involucrados en este proceso: el beneficiario, el operado (el objeto en el que opera el proceso), y posiblemente el atributo del operado cuyo valor cambia el proceso. SD también debe contener un objeto que represente el sistema que permite la función. El nombre predeterminado de este sistema se crea agregando la palabra "System" al nombre de la función. Por ejemplo, si la función es la pintura de coches, el nombre del sistema sería el sistema de pintura de coches.
- OPD tree
- Comercio de claridad y integridad
Establecer un equilibrio adecuado requiere una gestión cuidadosa del contexto durante el desarrollo del modelo. Sin embargo, el modelador puede aprovechar la unión de información proporcionada por todo el conjunto de OPD de un modelo de sistema OPM y tener un OPD que sea claro e inequívoco pero no completo, y otro que se centre en la integridad de una parte más pequeña del sistema. añadiendo más detalles.
- Mecanismos de refinamiento-abstracción
La OPM deberá proporcionar mecanismos de abstracción y refinamiento para gestionar la expresión de claridad e integridad del modelo. Estos mecanismos permitirán presentar y visualizar el sistema, y las cosas que lo componen, en diversos contextos que se interrelacionan por los objetos, procesos y relaciones que son comunes entre ellos.
- Expresión del Estado y supresión del Estado
La inversa de la supresión del Estado será expresión del Estado, es decir, refinando la OPD añadiendo la información acerca de posibles estados objeto. El OPL correspondiente al OPD sólo expresará los estados de los objetos que se muestran.
- Desplegable y plegado
Revela un conjunto de cosas que se encuentran jerárquicamente por debajo de lo desplegado. El resultado es un árbol jerárquico, cuya raíz es lo desplegado. Ligadas a la raíz están las cosas que constituyen el contexto de lo desplegado. Por el contrario, el plegado es un mecanismo de abstracción o composición, que se aplica a un árbol jerárquico desplegado.
- In-zooming and out-zooming
El zoom interno es un tipo de despliegue que se aplica únicamente a la participación de agregación y tiene una semántica adicional. Para los procesos, el zoom permite modelar los subprocesos, su orden temporal, sus interacciones con los objetos y el paso del control hacia y desde este contexto. Para los objetos, el acercamiento crea un contexto distinto que permite modelar el orden espacial o lógico de los objetos constituyentes. Gráficamente, la línea de tiempo dentro del contexto de un proceso ampliado fluye desde la parte superior de su símbolo de elipse de proceso hasta la parte inferior de la elipse.
Metamodelado

- Estructura modelo OPM

- Modelo de construcción OPD y construcción básica

El modelo, como se ve en la imagen del metamodelo OPD, elabora el concepto de Construcción OPD. El propósito de este modelo es distinguir el constructo básico de otro posible constructo OPD. Una Construcción Básica es una especialización de la Construcción OPD, que consta de exactamente dos Cosas conectadas por exactamente un Enlace. Las construcciones no básicas incluyen, entre otras, aquellas con abanicos de enlace o más de dos refinados.
Un modelador podría agregar un proceso al modelo, agregando estados desconectados y conectados del conjunto de cosas. El propósito del modelo incluye así la acción de transformar un Conjunto de Cosas desconectado en un Conjunto de Cosas conectado utilizando el Conjunto de Enlaces como instrumento de conexión.
- Modelo OPM de Thing

El modelo OPM de cosa, es un modelo para una cosa OPM, que muestra su especialización en Objeto y Proceso, como se muestra en la imagen del modelo de cosa a continuación. Un conjunto de estados caracterizan el Objeto, que puede estar vacío, en un Objeto sin estado, o no vacío en el caso de un Objeto con estado.
Un objeto con estado con s estados da lugar a un conjunto de s objetos específicos de estado sin estado, uno para cada estado. Un objeto específico de estado particular se refiere a un objeto en un estado específico. Modelar el concepto de objeto de estado específico como objeto y estado permite simplificar el modelo conceptual al hacer referencia a un objeto y cualquiera de sus estados simplemente especificando el objeto.
- Modelo OPM de propiedades genéricas Thing

El modelo OPM de propiedades genéricas de la cosa, representa la cosa y sus propiedades genéricas de perseverancia, esencia y afiliación modeladas como atributos refinados de un vínculo de exposición-caracterización. La perseverancia es el atributo que discrimina entre Objeto y Proceso.
- Modelos in-zooming y out-zooming
Tanto el acercamiento como el alejamiento del nuevo diagrama crean un nuevo contexto OPD a partir de un contexto OPD existente. El zoom de nuevo diagrama comienza con un OPD de relativamente menos detalles y agrega elaboración o refinamiento como un OPD descendiente que se aplica a una cosa específica en el OPD menos detallado.
Versiones

- OPM
La versión actual de OPM es ISO/PAS 19450:2015 como se especifica en Sistemas de automatización e integración: metodología objeto-proceso. La especificación del libro de Dori de 2016 es un superconjunto de ISO/PAS 19450:2015.
La versión anterior de OPM se especificó en el libro de Dori de 2002.
- OPCAT
La versión actual del OPCAT es 4.1. Está disponible gratuitamente en el Laboratorio de modelado de sistemas empresariales de Technion.
Una versión anterior de OPCAT, 3.1, con menos capacidades, también está disponible en el mismo sitio. Ambos están codificados en Java. La primera versión de OPCAT, OPCAT 1.X, fue escrita en Visual C++ en 1998.
A principios de 2016, un equipo de estudiantes bajo la dirección de Dori comenzó a trabajar en la nueva generación de OPCAT que se llamará OPCloud. Como sugiere el nombre del software, será una aplicación basada en la nube y permitirá a los usuarios crear modelos OPM utilizando una aplicación basada en web.
Estandarización
ISO, la Organización Internacional de Normalización, es una organización internacional no gubernamental independiente con una membresía de 162 organismos nacionales de normalización, que desarrolla normas internacionales voluntarias, basadas en el consenso y relevantes para el mercado que apoyan la innovación y brindan soluciones a los desafíos globales. . Estos estándares proporcionan especificaciones de clase mundial para productos, servicios y sistemas, para garantizar la calidad, la seguridad y la eficiencia.
ISO y OPM
En junio de 2008, Richard Martin se acercó a Dov Dori después de su presentación en el Simposio Internacional INCOSE en Utrecht, Países Bajos, para preguntarle sobre la posibilidad de crear un estándar internacional para OPM. Martin, coordinador del ISO TC184/SC5/WG1 para arquitectura y modelado de interoperabilidad de sistemas de automatización, llevaba algún tiempo buscando metodologías que ofrecieran más que información estática y modelado de procesos. Le proporcionó a Dori un ejemplo sencillo para modelar que podría demostrar tanto la capacidad de modelado de OPM como su oportunidad de simulación dinámica.
En mayo de 2010, Dori presentó una breve descripción general de OPM y su modelo de demostración en la reunión plenaria del Comité Técnico 184/Subcomité 5 (TC184/SC5) de ISO, que luego adoptó una resolución para crear un Grupo de Estudio OPM para el propósito de examinar el potencial de la OPM para mejorar los estándares creados por el SC5.
El Grupo de Estudio de la OPM comenzó su trabajo en octubre de 2010 y emitió un informe provisional para la Plenaria del SC5 de 2011. El informe incluyó varios usos de OPM para modelar los estándares SC5 existentes y generó una motivación inicial para la estandarización de OPM al darse cuenta de que, al estar basados en texto, los estándares ISO son propensos a sufrir inconsistencias e información incompleta. Esta deficiencia podría reducirse significativamente si los estándares estuvieran basados en modelos en lugar de texto, y OPM ofreciera un paradigma de modelado subyacente útil para este propósito.
En la plenaria del SC5 de 2012 se entregó un informe final del grupo de estudio de la OPM y un borrador de un metamodelo para el documento de creación de estándares basados en modelos. A medida que avanzaba el esfuerzo del Grupo de Estudio OPM, se hizo evidente que OPM también podría servir como una base sólida y completa para la ingeniería de sistemas basada en modelos (MBSE) y para modelar sistemas tanto naturales como artificiales.
Documento ISO 19450
Los participantes del TC184/SC5/WG1 recibieron el primer borrador del OPM PAS en septiembre de 2011 con 16 páginas, 2 anexos y una bibliografía para un total de 25 páginas. La mayor parte del contenido simplemente identificaba títulos de subcláusulas y gráficos de espacios. Para la Plenaria del SC5 de 2012, el borrador de PAS incluía 10 cláusulas completas que describían las características de OPM y 6 anexos con un total de 86 páginas. Un anexo era una especificación EBNF (formulario Backus-Naur extendido, utilizado para especificar formalmente lenguajes libres de contexto, lo que permite el análisis de lenguajes de programación) para OPL y otra gramática gráfica OPD detallada. Para facilitar la verificación de la especificación EBNF, David Shorter escribió un script para evaluar la coherencia y la integridad del conjunto de declaraciones EBNF. Un esfuerzo adicional para agregar ejemplos significativos y completar todas las secciones identificadas dio como resultado un borrador de 138 páginas al momento de la Plenaria del SC5 de 2013. Posteriormente, el borrador de trabajo se registró en la Secretaría del SC5 como borrador del Comité para su distribución inicial a los miembros del SC5.
Debido a que la resolución SC5 que pedía la especificación OPM indicaba que el documento debía registrarse como una Especificación disponible públicamente (PAS), solo tendría una oportunidad de votación de aceptación. En abril de 2014, la propuesta de nuevo elemento de trabajo y el borrador revisado del Comité para ISO/PAS 19450 se entregaron al SC5 para su consideración. A estas alturas, el borrador del Comité tenía 98 páginas más el texto inicial, cuatro anexos y 30 referencias bibliográficas, con un total de 183 páginas. En marzo de 2015, ISO registró el resultado de la votación para ISO/PAS 19450 como 8 Aprobar, 1 Aprobar con comentarios y 1 abstenerse.
ISO/PAS 19450 fue publicado formalmente con un total de 162 páginas de ISO el 15 de diciembre de 2015, culminando un esfuerzo de seis años para proporcionar a la comunidad de estandarización una especificación formal para un nuevo enfoque de modelado que une gráficos y representaciones textuales en un solo paradigma adecuado para la simulación automatizada del comportamiento modelo.
OPM frente a SysML y UML
- OPM vs. SysML
SysML se define como una extensión del Lenguaje de modelado unificado (UML) que utiliza el mecanismo de perfil de UML.
- OPM vs. UML
Las diferencias entre OPM y UML son muy perceptibles durante las etapas de análisis y diseño. Si bien UML es un modelo múltiple, OPM admite un único modelo unificador de estructura y comportamiento. Las diferencias cruciales surgen del enfoque orientado a la estructura de UML, en el que el comportamiento se distribuye en trece tipos de diagramas, un hecho que inevitablemente invoca el problema de la multiplicidad de modelos. Primero, el uso del enfoque OPM permite ver en el diagrama principal (SD) el proceso principal, los objetos y la conexión entre ellos. Además, es fácil entender cuál es el principal beneficio del sistema (presentado en la SD). En OPM, también es más fácil comprender los tres aspectos principales del sistema: comportamiento, estructura y funcionalidad (a diferencia de UML, que describe estos aspectos con diferentes tipos de diagramas). El modelado del despliegue de la base de datos contribuye a la comprensión del sistema y de todos los detalles almacenados en el sistema. Además, la creación de zoom permite simplificar el modelo. OPM requiere un conocimiento amplio de los procesos sistemáticos, como por ejemplo cómo el sistema guardó el camino y tomó decisiones.
Generando vistas SysML a partir de un modelo OPM
Si bien ambos lenguajes tienen el mismo propósito de proporcionar un medio para la ingeniería de sistemas de propósito general, estos lenguajes adoptan enfoques diferentes para lograr este objetivo. SysML es un perfil de UML (Lenguaje de modelado unificado).
La traducción de OPM a SysML es de uno a muchos en el sentido de que un único elemento OPM (entidad o enlace) generalmente se traduce en varios elementos SysML que pertenecen a diferentes tipos de diagramas SysML. Por ejemplo, un proceso OPM, que se define como una entidad que transforma (genera, consume o cambia el estado de) un objeto, se puede asignar a cualquier subconjunto de las siguientes entidades SysML:
- Caso de uso (en un diagrama de caso de uso)
- Acción (en un diagrama de actividad)
- Detonante de transición estatal (en un diagrama de máquina estatal).
Como OPM y SysML son dos lenguajes distintos y diseñados de manera diferente, no todas las construcciones en un lenguaje tienen construcciones equivalentes en el otro lenguaje.
- El primer tipo de diagrama en UML que se puede generar a partir de un diagrama de OPM es el diagrama de caso de uso que está destinado a modelar el uso de un sistema. Los principales elementos que componen el diagrama de casos de uso son actores y utilizan casos (las entidades) junto con las relaciones (enlaces) entre ellos. Por lo tanto, la generación de un diagrama de caso de uso de OPM se basa en objetos ambientales (los actores) y en los procesos (los casos de uso) vinculados a ellos. La Figura 1 es un ejemplo de la generación de diagramas de casos de uso de SD0. La figura muestra el diagrama raíz de OPM (a), el texto correspondiente OPL (b), y el diagrama de caso de uso creado (c). En la figura 2 se muestra un nivel SD1 de OPD del mismo modelo de OPM (a), y el diagrama de caso de uso generado (b).
- El segundo tipo de diagrama es el diagrama de definición de bloques (BDD) que define características de bloques (como propiedades y operaciones) y relaciones entre bloques, como asociaciones y generalizaciones. Generar un BDD se basa en los objetos sistémicos del modelo OPM y sus relaciones, principalmente relaciones estructurales con otros elementos modelo.
- El tercer tipo de diagrama es diagramas de actividad que están destinados a especificar el flujo. Los componentes clave incluidos en el diagrama de actividad son acciones y elementos de flujo de enrutamiento. En nuestro contexto, se puede generar un Diagrama de Actividad separado para cada proceso OPM que contenga subprocesos infantiles, es decir, un proceso que se encuentra en el modelo OPM. Hay dos tipos de parámetros de usuario que se pueden especificar a través del diálogo de configuración. El primero se ocupa de la selección de los procesos OPM: Una opción es especificar explícitamente los procesos OPM requeridos por selección de una lista. La alternativa, que es la opción predeterminada, es comenzar con la raíz OPD (SD) y bajar por la jerarquía. Aquí alcanzamos el segundo parámetro (que es independiente del primero), que es el número requerido de niveles de OPD (k) para bajar la jerarquía. Con el fin de dar el control del usuario sobre el nivel de abstracción, los diagramas se generan hasta k niveles por la jerarquía. Cada nivel dará lugar a la generación de un diagrama de actividad adicional, que es una actividad infantil (subdiagrama) contenida en la actividad de alto nivel que se adjunta. El ajuste predeterminado para esta opción es "todos los niveles abajo" (es decir, "k = ∞").