La Metodología de Procesos de Objetos ( OPM ) es un lenguaje y metodología de modelado de concepciones para capturar conocimiento y diseñar sistemas , especificado como ISO / PAS 19450. [1] 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 los sistemas naturales y artificiales 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. [2] Desde entonces, OPM ha evolucionado y se ha desarrollado.
En 2002, se publicó el primer libro sobre OPM [3] , y el 15 de diciembre de 2015, después de seis años de trabajo por ISO TC184 / SC5, ISO adoptó OPM como ISO / PAS 19450. [1] Un segundo libro sobre OPM fue publicado en 2016. [4]
Desde 2019, OPM se ha convertido en la base de un programa de Certificado Profesional en Ingeniería de Sistemas Basados en Modelos - MBSE en EdX . Las conferencias están disponibles como videos web en Youtube .
Descripción general
La Metodología de Procesos de Objetos (OPM) es un lenguaje y 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 una mejor representación, comprensión, comunicación y aprendizaje.
En OPM, un objeto es una cosa que existe, o podría existir, física o informáticamente. Los objetos tienen estado: pueden tener estados, de modo que en cada momento, el objeto se encuentra en uno de sus estados o en transición entre estados. Un proceso es una cosa que transforma un objeto al crearlo o consumirlo, o al cambiar su estado.
OPM es bimodal; se expresa tanto visualmente / gráficamente en diagramas de proceso de objeto (OPD) como verbal / textualmente en lenguaje de proceso de 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. [5]
Historia
El cambio al paradigma orientado a objetos (OO) para los lenguajes de programación de computadoras , que ocurrió en las décadas de 1980 y 1990, fue seguido por la idea de que la programación debería estar precedida por el análisis y el diseño orientados a objetos de los programas y, de manera más general, los sistemas que esos programas representan y sirven. Así, a principios de la década de 1990, florecieron más de 30 anotaciones y métodos de análisis y diseño orientados a objetos, lo que llevó a lo que se conoció como la "guerra de métodos". [6]
Alrededor de ese tiempo, en 1991, Dov Dori , quien luego se unió al Technion - Instituto de Tecnología de Israel como facultad, se dio cuenta de que así como el enfoque procedimental del software no era necesariamente el más adecuado, tampoco lo era el enfoque OO "puro", que pone objetos como los únicos ciudadanos de "primera clase", siendo los "métodos" (o "servicios" u "operaciones") sus procedimientos subordinados de segunda clase. [ cita requerida ] Cuando él y sus colegas de la Universidad de Washington estaban tratando de modelar un sistema para la transformación automatizada de dibujos de ingeniería a modelos CAD , se dio cuenta de que no todas las cajas en su modelo eran realmente objetos; algunas eran cosas que les suceden a los objetos. [7] Cuando rodeó esas cosas, surgió un gráfico bipartito, en el que los nodos que representan los objetos, las cosas que existen, estaban mediados por esos nodos encerrados, que se identificaron como procesos, las cosas que transforman los objetos. Dori publicó el primer artículo sobre OPM en 1995. [2]
En 1997, la "guerra de métodos" culminó con la adopción del Lenguaje de modelado unificado (UML), por el Grupo de administración de objetos (OMG), convirtiéndolo en el estándar de facto para el diseño de software. UML 1.1 fue presentado al OMG en agosto de 1997 y adoptado por el OMG en noviembre de 1997.
UML 1.X tenía nueve tipos de diagramas. Siguiendo una iniciativa de 2001 del Consejo Internacional de Ingeniería de Sistemas (INCOSE), en 2003 OMG emitió la Solicitud de Propuestas de UML para Ingeniería de Sistemas, y en 2006 OMG adoptó la especificación SysML ( Lenguaje de Modelado de Sistemas ) 1.0, que se basa en UML 2. Desde luego, SysML se ha convertido en el estándar de facto para la ingeniería de sistemas.
El primer libro sobre OPM, Metodología objeto-proceso: un paradigma de sistemas holísticos , se publicó en 2002, [3] y desde entonces OPM se ha aplicado en muchos dominios, desde la Web Semántica hasta la defensa y la biología molecular. [8] El reconocimiento de que los modelos pueden y deben convertirse en el artefacto central en los ciclos de vida de los sistemas ha ido ganando impulso en los últimos años, dando lugar a la ingeniería de sistemas basada en modelos (MBSE) como un campo en evolución en el área de la ingeniería de sistemas. [9]
SysML y OPM han estado sirviendo como los dos lenguajes MBSE, pero dado que SysML se adoptó como estándar unos ocho años antes que OPM y ha sido respaldado por proveedores de primer nivel, su adopción está actualmente más extendida. Sin embargo, OPM está ganando rápidamente aceptación en la academia y la industria. [ cita requerida ]
En agosto de 2014, después de cinco años de trabajo por ISO TC184 / SC5, ISO adoptó OPM como ISO / PAS 19450. [1]
En 2016 se publicó un segundo libro sobre OPM, que también cubre SysML. [4]
Diseño
![Opm methodology phases](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/6/69/Opm_methodology_phases.png/220px-Opm_methodology_phases.png)
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 todo-parte) y generalización-especialización (relación "es-una"). El comportamiento está representado por procesos y cómo transforman los objetos: cómo crean o consumen objetos, o cómo cambian los estados de un objeto. De hecho, OPM es fundamentalmente simple; se basa en un conjunto mínimo de conceptos: objetos con estado, cosas que existen o podrían existir física o informaticamente en algún estado, y procesos, cosas que les suceden a los objetos y los transforman al crearlos o consumirlos o al cambiar sus estados. [4] : 2
OPM ofrece una forma de modelar sistemas de casi cualquier dominio, ya sea artificial o natural. OPM tiene un compromiso ontológico con una ontología mínima universal según la cual los objetos existen, mientras que los procesos los transforman. [4] : x [10] La transformación incluye la creación y el consumo de objetos, así como el cambio del estado de un objeto. Por lo tanto, los objetos con estado y los procesos que los transforman son los únicos dos conceptos en la ontología mínima universal de OPM. Otras dos piedras angulares de OPM son su representación gráfico-textual bimodal y sus mecanismos incorporados de gestión de complejidad de refinamiento-abstracción de ampliación y despliegue de un solo tipo de diagrama: diagrama de proceso de objeto (OPD).
Modelado
OPM representa el modelo del sistema simultáneamente en dos modalidades diferentes: Diagrama de proceso de objetos ׂ s (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, [5] una herramienta de software que admite el modelado en OPM. [11]
- Diagrama de proceso de objeto (OPD)
OPD es el único tipo de diagrama de OPM. Esta singularidad del tipo de diagrama es un importante contribuyente a la simplicidad de OPM, y contrasta claramente con UML, que tiene 14 tipos de diagramas, y con SysML, que tiene nueve de estos tipos. [12] Un OPD describe gráficamente objetos, procesos y enlaces entre ellos. Los enlaces 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 del sistema dinámico: cómo cambia el sistema 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 la vista de "ojo de pájaro" del sistema, y los OPD de nivel inferior especifican el sistema en niveles crecientes de detalle. Todos los OPD en el conjunto de OPD del sistema son "conscientes" entre sí, y cada uno muestra el sistema, o parte de él, con cierto nivel de detalle. Todo el sistema está especificado en su totalidad por la unión de los detalles (hechos modelo) que aparecen en todos los OPD.
- Lenguaje de 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. Dado que cada hecho del modelo se expresa tanto gráfica como textualmente, en un subconjunto del inglés natural, es fácilmente accesible para las partes interesadas no técnicas, lo que les permite participar en las primeras etapas críticas de la obtención, la arquitectura y el desarrollo de los requisitos del sistema. Estas son las etapas donde se toman las decisiones de diseño más importantes. La bimodalidad gráfico-texto de OPM lo hace adecuado para modelar conjuntamente los requisitos 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. [4] : 3
- Simulación animada del modelo OPM
Los modelos OPM no son solo representaciones gráficas y textuales estáticas del sistema, también son ejecutables. Un modelo OPM correcto construido en OPCAT se puede simular animándolo, expresando visualmente cómo se comporta el sistema a lo largo del tiempo para lograr su función en todos los niveles de detalle. Un modelo OPM incorrecto no se ejecutará en su totalidad e indicará dónde y por qué está bloqueado, sirviendo efectivamente como un depurador visual.
Desarrollo
En su prólogo al libro de Dori Ingeniería de sistemas basados en modelos con OPM y SysML , Edward F. Crawley dijo:
La semántica de OPM se orientó 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 OPM comenzó a servir también a investigadores en biología molecular, produciendo nuevos hallazgos publicados relacionados con el ciclo de vida del ARNm. Ésta es una clara indicación de la universalidad de la ontología de objeto y proceso. [4] : vi [13]
Lo esencial
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/b/bd/OPMEntities.png/330px-OPMEntities.png)
OPM tiene dos partes principales: el lenguaje y la metodología. El lenguaje es bimodal, se expresa de dos formas complementarias (modalidades): la parte visual, gráfica, un conjunto de uno o más diagramas de objeto-proceso (OPD), y una parte textual correspondiente, un conjunto de oraciones en objeto-proceso. Language (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 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 objeto.
- Objeto
- Un objeto es una cosa que, una vez construida, existe o puede existir física o informáticamente. Las asociaciones entre objetos constituyen la estructura de objetos del sistema que se modela. En el texto OPL, el nombre del objeto aparecerá en negrita con mayúsculas de cada palabra.
- Estado del objeto
- Un estado de objeto es una clasificación de situación particular de un objeto en algún momento durante su vida. En todo momento, el objeto se encuentra 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 de forma aislada; siempre está asociado con uno o más objetos y le ocurre o le sucede. Un proceso transforma objetos al crearlos, consumirlos o cambiar su estado. Por lo tanto, los procesos complementan los objetos proporcionando el aspecto dinámico y conductual del sistema. En el texto OPL, el nombre del proceso aparecerá en negrita con mayúsculas de cada palabra.
Enlaces
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/8/83/OPM_Sructural_Links.png/330px-OPM_Sructural_Links.png)
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/b/b4/OPM_Procedural_Links.png/330px-OPM_Procedural_Links.png)
- Enlace estructural
- Un vínculo estructural define una relación estructural. Una relación estructural debe especificar una asociación que persiste en el sistema durante al menos algún intervalo de tiempo.
- Enlace procesal
- Un vínculo procesal define la relación procesal. Una relación de procedimiento deberá especificar cómo opera el sistema para lograr su función, designando la activación de procesos dependiente del tiempo o condicional, que transforman objetos.
- Evento y condición
- El paradigma Evento-Condición-Acción proporciona la semántica operativa OPM y el flujo de control. Un evento es un momento en el que se crea un objeto (o parece crearse desde la perspectiva del sistema) o un objeto entra en un estado específico. En tiempo de ejecución, esta activación del proceso inicia la evaluación de la condición previa del proceso. Por lo tanto, el inicio de la ejecución de un proceso tiene dos requisitos previos: (1) un evento desencadenante y (2) la satisfacción de una condición previa.
Una vez que el evento desencadena un proceso, el evento deja de existir. La condición previa es la existencia de las instancias de objeto requeridas en el conjunto de objetos de preproceso, posiblemente en estados específicos, según el modelo. Si y solo si la evaluación revela la satisfacción de la condición previa, el proceso comienza a ejecutarse.
Sintaxis y semántica
Cosas
Una cosa OPM es una generalización de objeto y proceso. 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. Los objetos OPM y los procesos OPM dependen unos de otros en el sentido de que un objeto no se puede transformar sin un proceso, mientras que un proceso no puede suceder sin transformar al menos un objeto.
Para aplicar OPM de una manera útil, el modelador debe hacer la distinción esencial entre objetos y procesos, como un requisito previo para el análisis y diseño exitosos del sistema. Por defecto, un sustantivo identificará un objeto.
Atributos genéricos de cosa
Las cosas OPM tienen los siguientes tres atributos genéricos:
- Perseverancia , que se refiere a la persistencia de la cosa y determina si la cosa es estática, es decir, un objeto, o dinámica, es decir, un proceso.
- Esencia , que pertenece a la naturaleza de la cosa y determina si la cosa es física o informática. En consecuencia, los valores del atributo genérico Esencia son físicos e informáticos.
- Afiliación , que pertenece al alcance de la cosa y determina si la cosa es sistémica, es decir, parte del sistema, o ambiental, es decir, parte del entorno del sistema. En consecuencia, los valores del atributo genérico Afiliación son sistémicos y ambientales. Los efectos de sombreado gráficamente representarán elementos OPM físicos y las líneas discontinuas representarán elementos OPM ambientales.
Los atributos genéricos de OPM tienen los siguientes valores predeterminados:
- El valor predeterminado del atributo genérico Afiliación de una cosa es sistémico.
- La esencia del sistema será la esencia principal del sistema. Como esencia de cosa, sus valores son informativos y físicos. Los sistemas de información, en los que la mayoría de los elementos son informáticos, serán principalmente informáticos, mientras que los sistemas en los que la mayoría de los elementos son físicos serán principalmente físicos.
- El valor por defecto del atributo genérico Esencia de una cosa en un sistema [físico] principalmente informático será informático [físico].
Estados de objeto
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/4/44/OPM_Things.png/330px-OPM_Things.png)
- Objetos con estado y sin estado
- Un estado de objeto es una situación posible en la que puede existir un objeto. Un estado de objeto tiene significado solo en el contexto del objeto al que pertenece. Un objeto sin estado será un objeto que no tenga especificación de estados. Un objeto con estado será un objeto para el que se especifique un conjunto de estados permisibles. En un modelo en tiempo de ejecución, en cualquier momento, cualquier instancia de objeto con estado se encuentra en un estado permisible particular o en transición entre dos estados.
- Valores de atributo
- Un atributo es un objeto que caracteriza una cosa. Un valor de atributo es una especialización de estado en el sentido de que un valor es un estado de un atributo: un objeto tiene un atributo, que es un objeto diferente, al que se le asigna ese valor por un período de tiempo durante la existencia del objeto. exhibiendo ese atributo.
- Representación del estado del objeto
- Un estado se define gráficamente mediante un rectángulo etiquetado de esquinas redondeadas colocado dentro del objeto propietario. No puede vivir sin un objeto. En el texto de la OPL, el nombre del estado aparecerá en negrita sin mayúsculas.
- Estados inicial, predeterminado y final
- El estado inicial de un objeto es su estado cuando el sistema comienza a ejecutarse o su estado cuando el sistema lo genera durante la ejecución. El estado final de un objeto es su estado cuando el sistema completa la ejecución o su estado cuando el sistema lo consume durante la ejecución. El estado predeterminado de un objeto es su estado esperado, el estado en el que es más probable que se encuentre el objeto cuando se inspecciona al azar. Un objeto puede tener cero o más estados iniciales, cero o más estados finales y cero o un estado predeterminado.
- Representación estatal inicial, final y predeterminada
- Un estado que es inicial se define gráficamente por una representación de estado con contorno grueso. Un estado final se define gráficamente mediante una representación de estado con doble contorno. Un estado predeterminado se define gráficamente mediante una representación de estado con una flecha abierta apuntando diagonalmente desde la izquierda. Las sentencias OPL correspondientes incluirán indicadores explícitos para un estado inicial, final o por defecto.
Enlaces
Enlaces de procedimiento
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/9/94/OPM_Transforming_Links.png/330px-OPM_Transforming_Links.png)
Un vínculo de procedimiento es de tres tipos:
- Enlace de transformación , que conecta un transformador (un objeto que el proceso transforma) o su estado con un proceso para modelar la transformación de objetos, es decir, la generación, el consumo o el cambio de estado de ese objeto como resultado de la ejecución del proceso.
- Enlace habilitador , que conecta un habilitador (un objeto que habilita la ocurrencia del proceso pero no es transformado por ese proceso) o su estado, a un proceso, que habilita la ocurrencia de ese proceso.
- Enlace de control , que es un enlace de procedimiento (transformador o habilitador) con un modificador de control: la letra e (para evento) oc (para condición), que agrega la 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 la conexión de dos procesos que denota invocación o excepción.
- Principio OPM de unicidad de enlace procedimental
- Un proceso necesita transformar al menos un objeto. Por lo tanto, un proceso se conectará a través de un enlace de transformación a al menos un objeto o un estado de objeto. En cualquier grado particular de abstracción, un objeto o cualquiera de sus estados tendrá exactamente una función como elemento modelo con respecto a un proceso al que se vincula: el objeto puede ser un transformado o un habilitador. Además, puede ser un disparador de un evento (si tiene el modificador de control e), o un objeto condicionante (si tiene el modificador de control c), o ambos. De acuerdo con el principio OPM de unicidad de vínculo de procedimiento, en un grado dado de abstracción, un objeto o un estado de objeto se vinculará a un proceso mediante un solo vínculo de procedimiento.
- Vínculos de procedimiento especificados por el estado
- Cada enlace de procedimiento puede calificarse como enlaces de procedimiento especificados por el estado. Un enlace de procedimiento especificado por el estado es una versión detallada de su contraparte de enlace de procedimiento en el sentido de que, en lugar de conectar un proceso a un objeto, conecta un proceso a un estado específico de ese objeto. Enlaces de habilitación de OPM
- Transformando enlaces
- Un enlace transformador especifica una conexión entre un proceso y su transformado (el objeto que crea, consume o cambia el estado del objeto). Los tres tipos de enlaces transformadores son:
- Enlace de consumo : Un enlace transformador que especifica que el proceso enlazado consume (destruye, elimina) el objeto enlazado, el consumidor. La existencia del consumidor es una condición previa (o parte de la condición previa) para la activación del proceso. Gráficamente, una flecha con una punta de flecha cerrada que apunta del consumidor al proceso de consumo define el vínculo del consumo. Por supuesto, el objeto consumido desaparece tan pronto como el proceso comienza a ejecutarse. La sintaxis de una sentencia de OPL de enlace de consumo es: El procesamiento consume Consumee.
- Vínculo de efecto : vínculo transformador que especifica que el proceso vinculado afecta al objeto vinculado, que es el afectado, es decir, el proceso provoca algún cambio no especificado en el estado del afectado. 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 vínculo del efecto. La sintaxis de una oración de OPL de vínculo de efecto es: El procesamiento afecta a la persona afectada.
- Enlace de resultado : un enlace de transformación que especifica que el proceso vinculado crea (genera, produce) el objeto vinculado, que es el resultado. Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el proceso de creación hasta el resultado definirá un enlace de resultado. La sintaxis de una oración de OPL de enlace de resultados es: El procesamiento produce el resultado.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/5/5c/OPM_State-specified_transforming_links.png/330px-OPM_State-specified_transforming_links.png)
- Habilitación de enlaces
- Un vínculo habilitador es un vínculo de procedimiento que especifica un habilitador para un proceso, un objeto que debe estar presente para que ocurra ese proceso, pero la existencia y el estado de ese objeto después de que el proceso se completa son los mismos que antes de que comenzara el proceso. Los dos tipos de enlaces habilitadores son:
- Enlace agente y agente : un ser humano o un grupo de humanos capaces de tomar decisiones inteligentes, que habilitan un proceso al interactuar con el sistema para habilitar o controlar el proceso a lo largo de la ejecución. Es un enlace de habilitación que especifica que el objeto de agente es necesario para que se ejecute el proceso vinculado. Gráficamente, una línea con un círculo relleno ("piruleta negra") en el extremo del terminal que se extiende desde el objeto de agente hasta el proceso que habilita define un enlace de agente. La sintaxis de una sentencia OPL de enlace de agente es: El agente maneja el procesamiento.
- Instrumento e vínculo de instrumento : Un habilitador inanimado o que no permite la toma de decisiones de un proceso que no puede iniciarse o tener lugar sin la existencia y disponibilidad del instrumento. Es un enlace de habilitación que especifica que el objeto del instrumento es necesario para que se ejecute el proceso vinculado. Gráficamente, una línea con un círculo abierto ("piruleta blanca") en el extremo del terminal que se extiende desde el objeto del instrumento hasta el proceso que habilita define un enlace de instrumento. La sintaxis de una sentencia OPL de enlace de instrumento es: El procesamiento requiere Instrumento.
- Enlaces de transformación especificados por estado
- Un enlace de transformación especificado por estado conecta uno de los estados transformados hacia o desde ese proceso.
- Vínculo de consumo especificado por el estado : vínculo de consumo que se origina en 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. Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el estado del objeto particular al proceso, que consume el objeto, define el enlace de consumo especificado por el estado. La oración de sintaxis OPL es: El proceso consume Objeto de estado calificado.
- Enlace de resultado especificado por el estado : un enlace de resultado que termina en un estado específico del resultado, lo que significa que el resultado estará en ese estado resultante en el momento de su construcción. Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el proceso al estado del objeto particular define el enlace de resultado especificado por el estado. La oración de sintaxis OPL es: El proceso produce un objeto de estado calificado.
- Enlaces de efectos especificados por el estado :
- Enlaces de efectos 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 de entrada-salida especificado: un par de enlaces de efecto, donde el enlace de entrada se origina en un estado particular del afectado y el enlace de salida se origina en ese proceso y termina en el estado de salida del mismo afectado. Gráficamente, un par de flechas con una punta de flecha cerrada desde el estado de entrada del afectado al proceso que lo afecta y una flecha similar desde ese proceso al estado del afectado en el proceso termina define el enlace de efecto de entrada-salida especificado. La sentencia de sintaxis OPL es: El proceso cambia el objeto de estado de entrada a estado de salida.
- Enlace de efecto de entrada especificada: un par de enlaces de efecto, donde el enlace de entrada se origina en un estado particular del afectado y el enlace de salida se origina en ese proceso y termina en el afectado sin especificar un estado en particular. Gráficamente, un par de flechas que consisten en una flecha con una punta de flecha cerrada desde un estado particular (el estado de entrada) del afectado al proceso, y una flecha similar de ese proceso al afectado pero no a cualquiera de sus estados define el enlace de efecto especificado por la entrada. La sentencia de sintaxis OPL es: El proceso cambia el objeto del estado de entrada.
- Enlace de efecto de salida especificada: un par de enlaces de efecto, donde el enlace de entrada (fuente) se origina en un afectado, y el enlace de salida se origina en el proceso y termina en el estado de salida (destino, resultante) del mismo afectado. Gráficamente, un par de flechas que consisten en una flecha con una punta de flecha cerrada desde el afectado, pero no desde cualquiera de sus estados, hasta el proceso que lo afecta, y una flecha similar desde ese proceso hasta un estado particular de ese afectado: el estado de salida. : Define el enlace de efecto especificado por la salida. La oración de sintaxis OPL es: El proceso cambia el objeto al estado de salida.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/4/4d/OPM_Basic_transforming_event_links.png/330px-OPM_Basic_transforming_event_links.png)
- Enlaces de habilitación especificados por estado
- Se originan en un estado de calificación específico y terminan en un proceso, lo que significa que el proceso puede ocurrir si y solo si el objeto existe en el estado en el que se origina el enlace.
- Enlace de agente especificado por el estado : enlace de agente que se origina en un estado de calificación específico del agente. Gráficamente, una línea con un círculo relleno ("piruleta negra") en el extremo del terminal que se extiende desde el estado de calificación del objeto de agente hasta el proceso que habilita define un enlace de agente especificado por estado. La oración de sintaxis OPL es: El agente de estado calificado maneja el procesamiento.
- Enlace de instrumento especificado por el estado : Un enlace de instrumento que se origina en un estado de calificación específico del instrumento. Gráficamente, una línea con un círculo vacío ("piruleta blanca") en el extremo del terminal que se extiende desde el estado de calificación del objeto de instrumento hasta el proceso que habilita define un enlace de instrumento especificado por estado. La oración de sintaxis OPL es: El procesamiento requiere un instrumento de estado calificado.
Control de evento-condición-acción
- Conjunto de objetos de preproceso y condición previa de proceso
- Para que un proceso OPM comience a ejecutarse una vez que se ha activado, necesita un conjunto de objetos que comprenda uno o más consumos, algunos posiblemente en estados específicos y / o afectos, denominados colectivamente conjunto de objetos de preproceso. El conjunto de objetos de preproceso determina la condición previa que debe cumplirse antes de que comience la ejecución de ese proceso y como condición para que ese proceso comience a ejecutarse. En la ejecución a nivel de instancia, cada consumo B en el conjunto de objetos de preproceso del proceso P se consumirá 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 objetos de preproceso del proceso P deberá salir de su estado de entrada al comienzo del subproceso de nivel más bajo de P.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/8/8b/OPM_Basic_Enabling_event_links.png/330px-OPM_Basic_Enabling_event_links.png)
- Conjunto de objetos de posproceso y poscondición de proceso
- Un conjunto de objetos, que comprende uno o más resultados, algunos posiblemente en estados dados, y / o afectos, denominados colectivamente conjunto de objetos post-proceso, resultarán de ejecutar un proceso y llevar a cabo las transformaciones asociadas con su ejecución. El conjunto de objetos de posproceso determinará la poscondición, que se cumplirá después de que finalice la ejecución de ese proceso. Cada B resultante en el conjunto de objetos de posproceso del 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 objetos de posproceso del proceso P deberá ingresar 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 se producen entre un objeto y un proceso o entre dos procesos.
- Enlaces de eventos
- Un enlace de evento especifica un evento de origen y un proceso de destino para activar en caso de que ocurra un evento. La activación de un proceso inicia un intento de ejecutar el proceso, pero no garantiza el éxito de este intento. El evento desencadenante fuerza una evaluación de la condición previa del proceso para la satisfacción, que, si y solo si se satisface, permite que la ejecución del proceso continúe y el proceso se active. Independientemente de si se cumple o no la condición previa, el evento se perderá. Si no se cumple la condición previa, la ejecución del proceso no ocurrirá hasta que otro evento active el proceso y una evaluación exitosa de la condición previa permita que el proceso se ejecute.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/1/17/OPM_State-specified_transforming_event_links.png/330px-OPM_State-specified_transforming_event_links.png)
- Vínculos básicos de eventos transformadores : Un vínculo de eventos de consumo es un vínculo entre un objeto y un proceso, que activa una instancia del objeto. La satisfacción de la condición previa del proceso y la posterior ejecución del proceso deben consumir (afectar) la instancia del objeto de activación.
- Enlace de evento de consumo: Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el objeto al proceso con la letra e minúscula (por evento). La sintaxis de una sentencia de OPL de enlace de evento de consumo es: Objeto desencadena Proceso, que consume Objeto.
- Enlace de evento de efecto: Gráficamente, una flecha bidireccional con puntas de flecha cerradas en cada extremo entre el objeto y el proceso con una letra e minúscula (para evento). La sintaxis de una oración de OPL de enlace de evento de efecto es: Objeto desencadena Proceso, que afecta Objeto.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/e/ed/OPM_State-specified_agent_event_link.png/330px-OPM_State-specified_agent_event_link.png)
- Enlaces de eventos de habilitación básicos :
- Enlace de evento de agente: un enlace de evento de agente es un enlace de habilitación de un objeto de agente al proceso que activa y habilita. Gráficamente, una línea con un círculo relleno ("piruleta negra") en el extremo terminal que se extiende desde un objeto agente hasta el proceso que activa y habilita con una letra e minúscula (por evento). La sintaxis de una sentencia de OPL de enlace de evento de agente es: El agente desencadena y maneja el proceso.
- Enlace de evento de instrumento: Un enlace de evento de instrumento es un enlace de habilitación desde un objeto de instrumento al proceso que activa y habilita. Gráficamente, una línea con un círculo vacío ("piruleta blanca") en el extremo terminal que se extiende desde el objeto del instrumento hasta el proceso que activa y habilita con una letra e minúscula (para evento). La sintaxis de una oración OPL de enlace de evento de instrumento es : El instrumento activa el proceso, que requiere Instrumento.
- Enlaces de eventos de transformación especificados por el estado :
- Enlace de evento de consumo especificado por estado: Un enlace de evento de consumo especificado por estado es un enlace de consumo que se origina en un estado específico de un objeto y termina en un proceso, que activa una instancia del objeto. La satisfacción de la condición previa del proceso, incluida la instancia del objeto de activación que se encuentra en su estado especificado, y la posterior ejecución del proceso consume la instancia del objeto de activación. Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el estado del objeto al proceso con la letra e minúscula (por evento). La sintaxis de una sentencia de OPL de enlace de evento de consumo especificado por estado es: Objeto de estado especificado desencadena Proceso, que consume Objeto.
- Enlace de evento de efecto especificado de entrada-salida: Un enlace de evento de efecto especificado de entrada-salida es un enlace de efecto especificado de entrada-salida con el significado adicional de activar el proceso que afecta cuando el objeto entra en el estado de entrada especificado. Gráficamente, el efecto de entrada-salida especificado se vincula con una letra e minúscula (para evento). La sintaxis de una sentencia de OPL de enlace de evento de efecto especificado de entrada-salida es: Estado de entrada Objeto desencadena Proceso, que cambia Objeto de estado de entrada a estado de salida.
- Enlace de evento de efecto especificado por entrada: Un enlace de evento de efecto especificado por entrada es un enlace de efecto especificado por entrada con el significado adicional de activar el proceso que afecta cuando el objeto entra en el estado de entrada especificado. Gráficamente, el enlace de efecto especificado por entrada con una letra e minúscula (para evento. La sintaxis de una sentencia OPL de enlace de evento de efecto especificado por entrada es: Input-state Object desencadena el proceso, que cambia el objeto de input-state.
- Enlace de evento de efecto de salida especificada: Un enlace de evento de efecto de salida especificada es un enlace de efecto de salida especificado con el significado adicional de activar el proceso que afecta cuando el objeto entra en existencia. Gráficamente, el efecto de salida especificado se vincula con una letra e minúscula (para evento). La sintaxis de una sentencia de OPL de enlace de evento de efecto especificado por salida es: Objeto en cualquier estado desencadena Proceso, que cambia Objeto a estado de destino
- Enlace de evento de agente especificado por el estado :
- Enlace de evento de agente especificado por estado: Un enlace de evento de agente especificado por estado es un enlace de agente especificado por estado con el significado adicional de activar el proceso cuando el agente entra en el estado especificado. Gráficamente, el enlace del agente especificado por el estado con una letra e minúscula (para el evento). La sintaxis de una sentencia de OPL de enlace de evento de agente especificado por estado es: El agente de estado calificado activa y maneja el procesamiento ".
- Enlace de evento de instrumento especificado por estado: Un enlace de evento de instrumento especificado por estado es un enlace de instrumento especificado por estado con el significado adicional de activar el proceso cuando el instrumento entra en el estado especificado. Gráficamente, el instrumento especificado por el estado se vincula con una letra e minúscula (para evento). La sintaxis de una sentencia de OPL de enlace de evento de instrumento especificado por estado es: El instrumento de estado de calificación activa el procesamiento, que requiere el instrumento de estado de calificación ".
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/5/51/OPM_Invocation_links.png/330px-OPM_Invocation_links.png)
- Vínculos de invocación
- Un enlace de invocación conecta un proceso de origen con el proceso de destino que inicia.
- Invocación de proceso : la invocación de proceso es un evento de activación de un proceso por parte de un proceso. Un enlace de invocación es un enlace de un proceso de invocación al proceso que invoca (desencadena), lo que significa que cuando termina el proceso de invocación, inmediatamente desencadena el proceso en el otro extremo del enlace de invocación. Gráficamente, una línea irregular del símbolo de un rayo del proceso de invocación que termina con una punta de flecha cerrada en el extremo del proceso invocado denota un enlace de invocación. La sintaxis de una oración de OPL de enlace de invocación es: Invocación-proceso invoca proceso-invocado.
- Enlace de autoinvocación : la autoinvocación es la invocación de un proceso por sí mismo, de modo que al finalizar el proceso, el proceso se invoca a sí mismo inmediatamente. El enlace de auto-invocación denotará auto-invocación. Gráficamente, un par de enlaces de invocación, que se originan en el proceso y se unen de cabeza a cola antes de terminar de nuevo en el proceso original, denotan el enlace de autoinvocación. La sintaxis de una oración de OPL de enlace de auto-invocación es: El proceso de invocación se invoca a sí mismo.
- Enlace de invocación implícita : la invocación implícita se produce tras la terminación del subproceso dentro del contexto de un proceso ampliado, momento en el que el subproceso invoca el o los que están inmediatamente debajo de él. Gráficamente, no existe un vínculo entre los subprocesos invocado y invocado; sus alturas relativas dentro del contexto ampliado de su proceso antepasado implica esta semántica.
- Enlaces de condición
- Un vínculo de condición es un vínculo de procedimiento entre un objeto de origen o un estado de objeto y un proceso de destino que proporciona un mecanismo de derivación, que permite que el control del sistema omita el proceso de destino si falla la evaluación de la satisfacción de la condición previa; de lo contrario, el proceso espera a que la condición previa se vuelva verdadera. .
- Enlace de consumo de condición : Un enlace de consumo de condición es un enlace 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 se cumple la condición previa del proceso, el proceso se ejecuta y consume la instancia de objeto. Sin embargo, si esa instancia de objeto no existe, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el objeto al proceso con la letra c minúscula (para condición) cerca de la punta de flecha indicará un vínculo de consumo de condición. La sintaxis de la sentencia de OPL de enlace de consumo de condición es: El proceso ocurre si el Objeto existe, en cuyo caso el Objeto se consume, en caso contrario, el Proceso se omite.
- Enlace de efecto de condición : Un enlace de efecto de condición es un enlace de condición entre un objeto y un proceso, lo que significa que si en el tiempo de ejecución existe una instancia de objeto y se cumple el resto de la condición previa del proceso, el proceso se ejecuta y afecta a la instancia de objeto. . Sin embargo, si esa instancia de objeto no existe, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, una flecha bidireccional con dos puntas de flecha cerradas, una apuntando en cada dirección entre el objeto afectado y el proceso afectado, con la letra c minúscula (por condición) cerca del final del proceso de la flecha. La sintaxis de la sentencia de OPL de vínculo de efecto de condición es: El proceso ocurre si el objeto existe, en cuyo caso el proceso afecta al objeto , en caso contrario, se omite el proceso.
- Enlace de agente de condición : Un enlace de agente de condición es un enlace de condición de un objeto a un proceso, lo que significa que si en tiempo de ejecución existe una instancia de agente y se cumple el resto de la condición previa del proceso, el proceso se ejecuta y el agente maneja la ejecución. Sin embargo, si esa instancia de agente no existe, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, una línea con un círculo relleno ("piruleta negra") en el extremo de la terminal que se extiende desde un objeto de agente hasta el proceso que habilita, con la letra c minúscula (para condición) cerca del final del proceso. La sintaxis del enlace de agente de condición La oración de OPL es: El agente maneja el proceso si el agente existe, de lo contrario se omite el proceso . Enlace de habilitación de condición básica OPMEnlace transformador especificado por estado de condición OPM
- Enlace de instrumento de condición : Un enlace de instrumento de condición es un enlace de condición de un objeto a un proceso, lo que significa que si en el tiempo de ejecución existe una instancia de instrumento y se cumple el resto de la condición previa del proceso, el proceso se ejecuta. Sin embargo, si esa instancia de instrumento no existe, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, una línea con un círculo vacío ("paleta blanca") en el extremo del terminal, que se extiende desde un objeto de instrumento hasta el proceso que habilita, con la letra c minúscula (para condición) cerca del final del proceso, indicará un vínculo de instrumento de condición . La sintaxis de la sentencia OPL de enlace de instrumento de condición será: El proceso ocurre si el instrumento existe, de lo contrario se omite el proceso .
- Enlace de consumo de condición especificada por estado: Un enlace de consumo de condición especificada por estado es un enlace de consumo de condición que se origina en 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 se cumple la condición previa del proceso, entonces el proceso se ejecuta y consume la instancia del objeto. Sin embargo, si esa instancia de objeto no existe en el estado especificado, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, una flecha con una punta de flecha cerrada que apunta desde el estado de calificación del objeto al proceso con la letra c minúscula (para condición) cerca de la punta de la flecha.
- Condición enlace de efecto de entrada-salida-especificado : Un enlace de efecto de condición entrada-salida-especificado es un enlace de efecto de entrada-salida especificado con el significado adicional de que si en el tiempo de ejecución existe una instancia de objeto y está en el estado de entrada del proceso (y asumiendo que se cumple el resto de la condición previa del proceso), el proceso se ejecuta y afecta a la instancia del objeto. El efecto es cambiar el estado de la instancia del objeto de su estado de entrada a su estado de salida (el estado al que apunta la punta de flecha del enlace del proceso). Sin embargo, si esa instancia de objeto no existe en el estado de entrada, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, la condición de efecto de entrada-salida-especificada se vincula con la letra c minúscula (para condición) cerca de la punta de flecha de la entrada. La sintaxis de la sentencia OPL de enlace de efecto especificado de entrada-salida de condición es: El proceso ocurre si el objeto es estado de entrada, en cuyo caso el proceso cambia el objeto de estado de entrada a estado de salida; de lo contrario, se omite el proceso.
- Enlace de efecto de entrada de condición especificada: Un enlace de efecto de entrada de condición especificado es un enlace de efecto de entrada especificado 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 se cumple el resto de la condición previa del proceso, entonces el proceso se ejecuta y afecta a la instancia del objeto cambiando su estado de su estado de entrada a un estado no especificado. Sin embargo, si esa instancia de objeto no existe en el estado de entrada, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, la condición de efecto de entrada especificada se vincula con la letra c minúscula (para condición) cerca de la punta de flecha del enlace de entrada. La sintaxis de una sentencia de OPL de enlace de efecto especificado de entrada de condición es: El proceso ocurre si el objeto es el estado de entrada, en cuyo caso el proceso cambia el objeto del estado de entrada, de lo contrario, se omite el proceso.
- Enlace de efecto de salida de condición especificada : Un enlace de efecto de salida de condición especificada es un enlace de efecto de salida especificada con el significado adicional de que si en el tiempo de ejecución existe una instancia de objeto y se cumple el resto de la condición previa del proceso, entonces el proceso se ejecuta y afecta a la instancia del objeto cambiando su estado al estado de salida especificado. Sin embargo, si esa instancia de objeto no existe, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, la condición de efecto de salida especificada se vincula con la letra c minúscula (para condición) cerca de la punta de flecha del enlace de entrada. La sintaxis de la sentencia de OPL de efecto de salida especificada de condición es: El proceso ocurre si el objeto existe, en cuyo caso el proceso cambia el objeto al estado de salida ; de lo contrario, se omite el proceso .
- Condición especificada de estado de enlace agente : Un estado condición de enlace agente especificado es un enlace agente especificado por el estado de un estado determinado de un objeto a un proceso, lo que significa que si en tiempo de ejecución existe una instancia de objeto en ese estado y el resto de la se cumple la condición previa del proceso, entonces el proceso se ejecuta y el agente maneja la ejecución. Sin embargo, si una instancia de agente no existe en ese estado, la evaluación de la condición previa del proceso falla y el control omite el proceso. Gráficamente, el vínculo del agente de condición se extiende desde un estado de agente específico hasta el proceso que habilita. La sintaxis de la sentencia de OPL de enlace de agente de condición especificada por estado es: El agente maneja el proceso si el agente está en estado de calificación , de lo contrario, se omite el proceso .
- Enlace de instrumento especificado por estado de condición: Un enlace de instrumento especificado por estado de condición es un enlace de instrumento especificado por estado desde un estado especificado de un objeto a un proceso, lo que significa que si en tiempo de ejecución existe una instancia de objeto en ese estado y se cumple la condición previa del proceso , luego se ejecuta el proceso. Sin embargo, si una instancia de instrumento no existe en ese estado, la evaluación de la condición previa del proceso falla y el control omite el proceso. Si el proceso omitido está dentro de un contexto de zoom y hay un proceso posterior en este contexto, el control activa ese proceso; de lo contrario, el control se transfiere un nivel hasta el proceso de zoom. Gráficamente, el vínculo del instrumento de condición se extiende desde un estado de instrumento específico hasta el proceso que habilita. La sintaxis de la sentencia de OPL de enlace de instrumento especificado por estado de condición es: El proceso se produce si el instrumento está en estado de calificación; de lo contrario, se omite el proceso.
Puede encontrar más información y ejemplos en Ingeniería de sistemas basados en modelos con OPM y SysML , Capítulo 13 "El aspecto del sistema dinámico". [4]
Enlaces estructurales
Los enlaces 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 unidireccional
- Tiene una semántica definida por el usuario con respecto a la naturaleza de la relación de una cosa a otra. Gráficamente, una flecha con punta de flecha abierta. A lo largo del enlace estructural etiquetado, el modelador debe registrar una etiqueta significativa en forma de frase textual que exprese la naturaleza de la relación estructural entre los objetos (o procesos) conectados y tenga sentido cuando se coloque en la oración OPL cuya sintaxis sigue.
- Enlace estructural unidireccional con etiqueta nula
- Un enlace estructural etiquetado unidireccional sin etiqueta. En este caso, se utiliza la etiqueta unidireccional predeterminada. El modelador tiene la opción de configurar la etiqueta unidireccional predeterminada para un sistema específico o un conjunto de sistemas. Si no se define ningún valor predeterminado, la etiqueta predeterminada es "se relaciona con".
- Enlace estructural etiquetado bidireccional
- Cuando las etiquetas en ambas direcciones son significativas y no solo inversas entre sí, se pueden registrar mediante dos etiquetas a cada lado de un único enlace estructural etiquetado bidireccional. Cada etiqueta se alineará en el lado de la flecha con el borde del arpón sobresaliendo de la punta de la flecha, determinando sin ambigüedades la dirección en la que se aplica cada relación. La sintaxis del enlace estructural etiquetado resultante es dos oraciones OPL de enlace estructural etiquetado separadas, una para cada dirección. Gráficamente, una línea con puntas de flecha en forma de arpón en lados opuestos en ambos extremos de la línea del enlace será.
- Enlace estructural etiquetado recíproco
- Un enlace estructural etiquetado recíproco es un enlace estructural etiquetado bidireccional con no más de 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 aparece ninguna etiqueta, la etiqueta predeterminada será "están relacionados". La sintaxis del enlace estructural etiquetado recíproco con una sola etiqueta será: la cosa de origen y la cosa de destino son etiqueta de reciprocidad. La sintaxis del enlace estructural etiquetado recíproco sin etiqueta es: la cosa de origen y la cosa de destino están relacionadas.
- Relaciones estructurales fundamentales
- Las relaciones estructurales más prevalentes entre las cosas OPM y son de particular importancia para especificar y comprender los sistemas. Cada una de las relaciones fundamentales es elaborar o refinar una cosa OPM, la cosa fuente, o refinar, en una colección de una o más cosas OPM, la cosa o cosas de destino, o refinables. Las relaciones estructurales fundamentales son; Agregación, Exposición-caracterización, Generalización-especialización y Clasificación-instanciación.
- Enlace de agregación-participación
- Un refinado — el todo — agrega uno o más refinables — las partes. Gráficamente, un triángulo negro sólido (relleno) con su vértice conectado por una línea al todo y las partes conectadas por líneas a la base horizontal opuesta denotarán el vínculo de relación de agregación-participación.
- Enlace exposición-caracterización
- Una cosa exhibe, o se caracteriza por, otra cosa. La relación exposición-caracterización une a un refinado, el expositor, con uno o más refinables, que identificarán las 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 vértice de ese triángulo más grande que se conecta por una línea al expositor y las características que se conectan a la base opuesta (horizontal) definen el vínculo de relación exposición-caracterización.
- Generalización-especialización y herencia
- Estas son relaciones estructurales que permiten abstraer cualquier número de objetos o clases de proceso en superclases y asignar atributos de superclases a clases subordinadas.
- Vínculo generalización-especialización : el refinado —lo general— generaliza los refinables, que son especializaciones de lo general. Vincula una o más especializaciones con el mismo valor de atributo de persistencia que la general, de modo que la general y todas sus especializaciones son objetos o la general y todas sus especializaciones son procesos. Gráficamente, un triángulo vacío con su vértice conectado por una línea a lo general y las especializaciones conectadas por líneas a la base opuesta define el vínculo generalización-especialización.
- Herencia por especialización : La herencia es la asignación de elementos OPM de un general a sus especializaciones. Una especialización hereda de lo general a través del vínculo generalización-especialización los siguientes cuatro tipos de elementos heredables, si los hay: 1. todas las partes del general de su vínculo agregación-participación; 2. todos los rasgos del general desde su vínculo exposición-caracterización; 3. todos los enlaces estructurales etiquetados a los que se conecta el general; y 4. todos los vínculos procesales con los que se conecta el general. Enlace de habilitación especificado por estado de condición OPM
- Restricción de especialización mediante atributo discriminatorio : Un subconjunto de los posibles valores de un atributo heredado puede restringir la especialización. Un atributo cuyos diferentes valores determinan las especializaciones correspondientes es un atributo discriminatorio. Relaciones y vínculos estructurales fundamentales de la OPM
- Clasificación-instanciación y ejecución del sistema
- La relación entre una clase de cosas y una instancia de esa clase en el sistema a nivel operativo.
- Enlace de clasificación-instanciación : una cosa de origen, que es una clase de objeto o una clase de proceso, se conecta a una o más cosas de destino, que son instancias valoradas del patrón de la cosa de origen, es decir, las características especificadas por el patrón adquieren valores explícitos. Esta relación proporciona al modelador 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 que de otro modo estaría vacío con un ápice que se conecta por una línea a la cosa de clase y las cosas de instancia conectadas por líneas a la base opuesta define el vínculo de relación de clasificación-instanciación. La sintaxis es: Instance-thing es una instancia de Class-thing.
- Instancias de clase de objeto y clase de proceso : estos son dos tipos distintos de clases. Una instancia de una clase es una encarnación de una instancia identificable particular de esa clase, un objeto real de alguna clase de objetos que llevan el mismo identificador de clasificación. Un solo objeto real es una instancia de objeto, mientras que el patrón de objeto, que siguen todas las instancias, es una clase de objeto. Una clase de proceso es un patrón de sucesos, que involucra clases de objetos que son miembros de los conjuntos de objetos de preproceso y posproceso. Una única ocurrencia de proceso real, que sigue este patrón e involucra instancias de objetos particulares en sus conjuntos de objetos previos al proceso y posproceso, es una instancia de proceso. Por lo tanto, una instancia de proceso es una ocurrencia particular de una clase de proceso a la que pertenece esa instancia. Cualquier instancia de proceso tiene asociado un conjunto distinto de conjuntos de instancias de objetos previos al proceso y posproceso.
- Relaciones y vínculos estructurales especificados por el estado
- Estos permiten asociar un estado de un objeto con otro objeto o con un estado de otro objeto. Relaciones y vínculos estructurales especificados por el estado de OPM
- Relación de caracterización especificada por el estado y vínculo : Una relación de caracterización de exhibición de un objeto especializado que exhibe un valor para un atributo discriminatorio de ese objeto, lo que significa que el objeto especializado solo tendrá ese valor. Gráficamente, el símbolo triangular del vínculo exposición-caracterización, con su vértice conectado al objeto especializado y su base opuesta al valor, define la relación de caracterización especificada por el estado. La sintaxis es: Specialized-object exhibits value-name Attribute-Name.
- Relaciones y vínculos estructurales etiquetados especificados por el estado : una relación estructural entre el estado de un objeto o el 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 el 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 etiquetada especificada por el estado de origen, (2) relación estructural etiquetada especificada por el estado de destino, (3) relación estructural etiquetada especificada por el estado de origen y destino. Cada uno de estos grupos incluye la relación estructural etiquetada unidireccional, bidireccional y recíproca apropiada, dando lugar a siete tipos de enlace de relación estructural etiquetada especificada por el estado y las correspondientes oraciones OPL.
Puede encontrar más información y ejemplos en Ingeniería de sistemas basados en modelos con OPM y SysML , Capítulo 3.3 "Adición de enlaces estructurales". [4]
Cardinalidades de relación
- Multiplicidad de objetos en enlaces estructurales y procedimentales
La multiplicidad de objetos se referirá a una especificación de requisito o restricción sobre la cantidad o recuento de instancias de objeto asociadas con un enlace. A menos que esté presente una especificación de multiplicidad, cada extremo de un enlace deberá especificar solo una instancia de cosa. La sintaxis de una oración OPL que incluye un objeto con multiplicidad incluirá la multiplicidad de objetos que precede al nombre del objeto, y el nombre del objeto aparece en su forma plural. Pueden aparecer especificaciones de multiplicidad en los siguientes casos:
- para especificar múltiples instancias de objeto de origen o destino para un enlace estructural etiquetado de cualquier tipo;
- para especificar un objeto participante con múltiples instancias en un enlace de agregación-participación, donde se puede adjuntar una especificación de participación diferente a cada una de las partes del todo;
- para especificar un objeto con múltiples instancias en una relación de procedimiento.
- Expresiones y restricciones de 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 la correspondientes sentencias OPL.
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 separa de la expresión que restringen y usarán los símbolos de igualdad / desigualdad "=", "<", ">", "<=" y "> =", el rizado llaves "{" y "}" para incluir miembros del conjunto, y el operador de pertenencia "en" (elemento de, ∈), todos con su semántica habitual. La oración de 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".
- Valor de atributo y restricciones de multiplicidad
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 de esquinas redondeadas colocado dentro del atributo al que pertenece debe 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 un valor de atributo en la oración OPL será: El atributo de objeto es valor .
La sintaxis para un objeto con una sentencia OPL de rango de valor de atributo será: El atributo de rango de objeto es rango de valor . Un vínculo estructural o de procedimiento que se conecta con un atributo que tiene un valor numérico 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 por un número, entero o real, o un parámetro de símbolo, cerca del extremo del atributo del enlace y alineado con el enlace.
Operadores lógicos: AND, XOR y OR
- Vínculos lógicos Y de procedimiento
Los operadores lógicos AND, XOR y OR entre las relaciones de procedimiento permiten la especificación de precondiciones y poscondiciones de procesos elaborados. Los enlaces separados que no se tocan deben tener la semántica de AND lógico.
En el ejemplo, abrir la caja fuerte requiere las tres llaves.
- Vínculos lógicos de procedimiento XOR y OR
Un grupo de dos o más enlaces procedimentales del mismo tipo que se originan o llegan al mismo objeto o proceso será un abanico de enlaces. Un ventilador de enlace debe seguir la semántica de un operador XOR u OR. El extremo del ventilador del enlace que es común a los enlaces será el extremo del enlace convergente. El extremo del enlace que no es común a los enlaces será el extremo del enlace divergente.
El operador XOR significará que existe exactamente una de las cosas en el tramo del ventilador del enlace, si el extremo del enlace divergente tiene objetos, o sucede, si el extremo del enlace divergente tiene procesos. Gráficamente, un arco punteado a través de los enlaces en el ventilador de enlace con el punto focal del arco en el punto de contacto final convergente indicará el operador XOR.
El operador OR significará que al menos una de las dos o más cosas en el tramo del ventilador 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.
- Ventiladores de enlace XOR y OR especificados por estado
Cada uno de los ventiladores de enlace en tendrá una versión especificada de estado correspondiente, donde la fuente y el destino pueden ser estados de objetos específicos u objetos sin una especificación de estado. Pueden producirse combinaciones de enlaces sin estado y especificados por estado como destinos de un abanico de enlaces.
- Ventiladores de enlace con control modificado
- Cada uno de los ventiladores del enlace XOR para los enlaces de consumo, resultado, efecto y habilitación y sus versiones especificadas por estado deberá tener su correspondiente ventilador de enlace modificado de control: un ventilador de enlace de eventos y un ventilador de enlace de condición. El ejemplo presenta los ventiladores de enlace de efecto de evento y condición, como representantes de la versión de enlaces básica (no especificada por el estado) de los ventiladores de enlace modificado.
- Probabilidades de enlace y ventiladores de enlace probabilístico
- Un proceso P con un enlace de resultado que produce un objeto con estado B con n estados s1 a sn significará que la probabilidad de generar B en cada uno de sus estados será 1 / n. Se utilizará el enlace de resultado único en lugar del ventilador de enlace de resultado. Por lo general, las probabilidades de seguir un enlace específico en un abanico de enlaces no son iguales. La probabilidad de enlace será un valor asignado a un enlace en un ventilador de enlace divergente XOR que especifica la probabilidad de seguir ese enlace en particular entre los posibles enlaces en el enlace de ventilador. Un ventilador de enlace probabilístico será un ventilador de enlace con anotaciones de probabilidad en cada enlace de ventilador, donde la suma de las probabilidades será exactamente 1. Gráficamente, a lo largo de cada enlace de ventilador aparecerá una anotación en la forma Pr = p, donde p es el enlace. probabilidad valor numérico o un parámetro, que denota la probabilidad del control del sistema para seleccionar y seguir ese enlace particular del ventilador. La oración de OPL correspondiente será la oración de ventilador de enlace divergente XOR sin probabilidades de enlace omitiendo la frase "exactamente uno de ..." y la frase "... con probabilidad p" después del nombre de cada cosa con una anotación de probabilidad "Pr = p".
- Ruta 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 al finalizar el proceso, prescribe que el enlace a seguir será el que tenga la misma etiqueta que el que ingresamos. el proceso, Una etiqueta de ruta es una etiqueta en un enlace de procedimiento que elimina la ambigüedad que surge de múltiples enlaces de procedimiento salientes al especificar que el enlace a seguir es el que tiene la misma etiqueta que con el que se ingresó el proceso.
Principios de modelado y comprensión de modelos
La función del sistema y el propósito del modelado es guiar el alcance y el nivel de detalle de un modelo OPM. 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 deben aparecer otros elementos 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. El modelo tiene un árbol de jerarquía para refinamiento, elaboración o descomposición obtenido por desdoblamiento. [1] [4]
- Identificación de las partes interesadas y los beneficiarios del sistema
Para iniciar un modelo OPM de un sistema, el primer paso es determinar la función del sistema, el proceso principal del sistema. Un beneficiario del sistema artificial creado por el hombre es un interesado que recibe valor funcional y se beneficia de 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 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. El modelado de un sistema comienza definiendo, nombrando y representando la función del sistema, que también es su proceso de nivel superior.
- Sistema de diagrama
El OPD de nivel superior resultante es el diagrama del sistema (SD), que incluye el grupo de partes interesadas, en particular el grupo de beneficiarios, y elementos ambientales de nivel superior adicionales, que proporcionan el contexto para la operación del sistema. El SD debe contener solo las cosas centrales e importantes, aquellas 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 operando (el objeto sobre el cual opera el proceso) y posiblemente el atributo del operando cuyo valor cambia el proceso. Un hecho del modelo OPM debe aparecer en al menos un OPD para que se represente en el modelo. SD también debe contener un objeto que represente el sistema que habilita la función. El nombre predeterminado de este sistema se crea agregando la palabra "Sistema" al nombre de la función. Por ejemplo, si la función es Pintura de coches, el nombre del sistema sería Sistema de pintura de coches.
- Árbol OPD
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/6/65/OPD_process_tree.png)
SD es siempre el único OPD de nivel superior: es la raíz del árbol OPD. El conjunto de OPD, organizado como un árbol de procesos, que en conjunto especifican el sistema. El conjunto de OPD sigue creciendo a medida que se construyen gradualmente OPD adicionales para refinar cada vez más el modelo y hacerlo más concreto. La capacidad de agregar un OPD subordinado descendiente siempre que el que se está trabajando actualmente alcanza sus límites de congestión hace posible evitar el desorden excesivo de cualquier OPD individual.
- Compensación de claridad e integridad
La claridad es el grado de comprensión inequívoca que transmiten la estructura del sistema y los modelos de comportamiento. La integridad es el grado de especificación de todos los detalles del sistema. Estos dos atributos del modelo entran en conflicto entre sí. Por un lado, la integridad requiere la estipulación completa de los detalles del sistema. Por otro lado, la necesidad de claridad impone un límite superior al grado de detalle dentro de un diagrama de modelo individual, después del cual la comprensión se deteriora debido al desorden y la sobrecarga. Establecer un equilibrio apropiado 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 OPD de un modelo de sistema OPM y tener un OPD que es claro e inequívoco pero no completo, y otro que se enfoca en la integridad de una parte más pequeña del sistema por agregando más detalles.
- Mecanismos de refinamiento-abstracción
OPM proporcionará mecanismos de abstracción y perfeccionamiento para gestionar la expresión de la claridad y la integridad del modelo. Estos mecanismos hacen posible la especificación de segmentos de modelo contextualizados como OPD separados pero interconectados que, tomados en conjunto, proporcionarán un modelo del sistema de suministro de valor funcional. Estos mecanismos permitirán presentar y visualizar el sistema, y las cosas que lo componen, en diversos contextos que están interrelacionados por los objetos, procesos y relaciones que son comunes entre ellos. Representar explícitamente los estados de un objeto en un OPD puede resultar en un diagrama que está demasiado lleno u ocupado, lo que dificulta su lectura o comprensión. Los mecanismos de refinamiento-abstracción de OPM serán los siguientes pares de operaciones inversas: Estado de expresión y supresión, desplegado y plegado, y acercamiento y alejamiento.
- Expresión estatal y supresión estatal
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/3/30/State_OPM.png/330px-State_OPM.png)
OPM proporcionará una opción para la supresión de estados, es decir, suprimir la aparición de algunos o todos los estados dentro de un objeto como se representa en un OPD particular cuando esos estados no son necesarios en el contexto de ese OPD. La inversa de la supresión de estado será la expresión de estado, es decir, refinando el OPD añadiendo la información relativa a los posibles estados del objeto. La OPL correspondiente a la OPD expresará únicamente los estados de los objetos que se representan.
- Despliegue y plegado
El desdoblamiento es un mecanismo de refinamiento, elaboración o descomposición. Revela un conjunto de cosas que están jerárquicamente por debajo de lo desplegado. El resultado es un árbol jerárquico, cuya raíz es lo desplegado. Vinculadas a la raíz están las cosas que constituyen el contexto de la cosa desplegada. Por el contrario, el plegado es un mecanismo de abstracción o composición, que se aplica a un árbol jerárquico desplegado.
- Acercar y alejar el zoom
In-zooming es una especie de despliegue, que es aplicable solo 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 zoom crea un contexto distinto que permite modelar el orden lógico o espacial 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.
Meta modelado
Un metamodelo es un modelo de un modelo. En particular, el uso del modelo OPM para presentar aspectos de OPM. Los ejemplos descritos aquí son parte de los metamodelos completos de OPM que aparecen en un anexo de ISO 19450.
- Estructura del modelo OPM
El modelo OPM es un metamodelo, como se muestra en la imagen del modelo OPM a la derecha. Usar OPM para especificar la estructura de un modelo OPM de un sistema. Representa los aspectos conceptuales de OPM como jerarquías paralelas de las modalidades OPM gráficas y textuales y su correspondencia para producir expresiones de modelo equivalentes. Una construcción OPD es la expresión gráfica de la oración OPL textual correspondiente, que expresa el mismo hecho modelo. Un OPD y su párrafo OPL correspondiente son colecciones de hechos del modelo que un modelador coloca en el mismo contexto del modelo.
- Modelo de construcción OPD y construcción básica
El modelo, como se ve en la imagen del metamodelo OPD, elabora el concepto OPD Construct. El propósito de este modelo es distinguir la construcción básica de otra construcción OPD posible. Una construcción básica es una especialización de OPD Construct, que consta de exactamente dos cosas conectadas por exactamente un enlace. Las construcciones no básicas incluyen, entre otras, aquellas con ventiladores de enlace o más de dos refinados.
Un modelador podría agregar un proceso al modelo, agregando estados desconectados y conectados de Thing Set. Por tanto, el propósito del modelo incluye la acción de transformar un Thing Set desconectado en un Thing Set conectado utilizando el Link Set como instrumento de conexión.
- Modelo OPM de Thing
El modelo OPM de Thing, es un modelo de OPM Thing, 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 caracteriza al 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 Específico de Estado como Objeto y Estado permite simplificar el modelo conceptual al referirse a un objeto y cualquiera de sus estados simplemente especificando Objeto.
- Modelo OPM de propiedades genéricas de Thing
El modelo OPM de las propiedades genéricas de Thing, representa Thing y sus propiedades genéricas de perseverancia, esencia y afiliación modeladas como atributos refinados de un enlace de exhibición-caracterización. La perseverancia es el atributo que discrimina entre Objeto y Proceso. La esencia es el atributo que discrimina entre el objeto físico y el proceso físico por un lado, el objeto informático y el proceso informático por el otro. La afiliación es el atributo que discrimina entre el objeto sistémico y el proceso sistémico por un lado, el objeto ambiental y el proceso ambiental por el otro.
- Modelos con zoom de acercamiento y alejamiento
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/a/a0/Zoom_OPM.png/330px-Zoom_OPM.png)
Tanto la ampliación del diagrama nuevo como la ampliación del diagrama nuevo crean un nuevo contexto OPD a partir de un contexto OPD existente. El acercamiento del diagrama nuevo 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.
El alejamiento del diagrama nuevo comienza con un OPD de relativamente más detalles y elimina la elaboración o el refinamiento para producir algo menos detallado y más abstracto en un contexto ancestral.
El zoom de nuevo diagrama elabora un presente refinable en un OPD existente, digamos SDn, al crear un nuevo OPD, SDn + 1, que elabora lo refinable agregando objetos asociados a subprocesos y enlaces relevantes. Los procesos de ampliación del nuevo diagrama y de ampliación del diagrama nuevo son operaciones inversas.
Los modelos de acercamiento y alejamiento de nuevos diagramas representan los procesos de acercamiento y alejamiento del nuevo diagrama. El modelo de la derecha utiliza el acercamiento dentro del diagrama del modelo de la izquierda para elaborar los dos procesos, uno para crear un contexto acercado del diagrama nuevo y el otro para crear un contexto alejado del diagrama nuevo.
La ampliación del diagrama nuevo comienza con la visualización de contenido, seguida de la mejora de enlaces. El alejamiento del nuevo diagrama comienza con Link Abstracting, el proceso inverso de Link Refining, seguido de Content Hiding, el proceso inverso de Content Show.
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. [1] La especificación en el libro de Dori de 2016 es un superconjunto de ISO / PAS 19450: 2015. [4]
La versión anterior de OPM se especificó en el libro de Dori de 2002. [3]
- OPCAT
La versión actual de OPCAT es 4.1. Está disponible gratuitamente en el Laboratorio de Modelado de Sistemas Empresariales de Technion. [5]
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, se escribió 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. [14] 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 la web. [15]
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 consenso y relevantes para el mercado que respaldan 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 calidad, seguridad y 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. [ cita requerida ] Martin, coordinador de ISO TC184 / SC5 / WG1 para la arquitectura y el modelado de interoperabilidad de sistemas de automatización, había estado buscando durante algún tiempo metodologías que ofrecieran más que información estática y modelado de procesos. [ cita requerida ] Le dio a Dori un ejemplo simple para modelar que podría demostrar tanto la capacidad de modelado de OPM como su oportunidad de simulación dinámica. [ cita requerida ]
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 ISO 184 / Subcomité 5 (TC184 / SC5), que luego adoptó una resolución para crear un Grupo de Estudio OPM con el propósito de examinar el potencial de OPM para mejorar los estándares creados por SC5. [dieciséis]
El Grupo de Estudio OPM comenzó su trabajo en octubre de 2010 y emitió un informe intermedio para la Plenaria SC5 de 2011. [17] El informe incluyó varios usos de OPM para modelar los estándares SC5 existentes y condujo a una motivación inicial para la estandarización de OPM con la comprensión 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 basados en texto, y OPM ofreciera un paradigma de modelado subyacente útil para este propósito.
En la Plenaria del SC5 de 2012 se entregaron un informe final del Grupo de Estudio OPM y un borrador de un metamodelo para el documento de creación de estándares basados en modelos. [18] 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. [ cita requerida ]
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. [ cita requerida ] La mayor parte del contenido simplemente identificaba encabezados de subcláusulas y gráficos de espacio. [ cita requerida ] Para la Plenaria SC5 de 2012, el borrador de PAS incluía 10 cláusulas completas que describen las características de la OPM y 6 anexos que totalizan 86 páginas. [ cita requerida ] Un anexo era una especificación EBNF (Extended Backus-Naur Form, utilizada para especificar formalmente lenguajes libres de contexto, permitiendo 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 guión para evaluar la coherencia y la integridad del conjunto de instrucciones EBNF. [ cita requerida ] Un mayor esfuerzo para agregar ejemplos significativos y completar todas las secciones identificadas resultó en un borrador de 138 páginas para el momento de la Plenaria SC5 de 2013. [ cita requerida ] Posteriormente, el borrador de trabajo fue registrado en la Secretaría del SC5 como un Borrador del Comité para su distribución inicial a los miembros del SC5. [ cita requerida ]
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 al público (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. [ cita requerida ] A estas alturas, el Borrador del Comité tenía 98 páginas más la portada, cuatro anexos y 30 referencias bibliográficas, totalizando 183 páginas. [ cita requerida ] 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. [ cita requerida ]
ISO / PAS 19450 fue publicado formalmente con un total de 162 páginas por 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 único paradigma adecuado para la simulación automatizada del comportamiento del modelo.
OPM frente a SysML y UML
- OPM frente a SysML
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/0/04/OPMvsSYSML.png/330px-OPMvsSYSML.png)
OPM y SysML representan dos enfoques diferentes para el modelado de sistemas. SysML se define como una extensión del Lenguaje de modelado unificado (UML) utilizando el mecanismo de perfil de UML . En SysML se utilizan hasta nueve modelos múltiples, que se derivan de forma independiente y pueden no ser completamente consistentes. [3] [ página necesaria ] En OPM, solo surge un modelo. La necesidad de integrar varios tipos de modelos puede ser más complicada en OPM. En OPM hay una combinación entre complejo (el hecho inherente de que un sistema contiene muchas partes que interactúan de maneras múltiples, a menudo inexplicables) y complejidad, la forma en que un modelo de sistema se presenta a través de un cierto lenguaje de modelado y es percibido por un usuario. OPM con su ontología mínima de objetos y procesos con estado responde favorablemente al desafío de reducir la complejidad de la representación a las necesidades básicas sin sacrificar la precisión y los detalles. [12]
- OPM frente a 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 provienen 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 del modelo. [19] Primero, el uso del enfoque OPM permite ver en el diagrama principal (SD) el proceso principal, los objetos y la conexión entre ellos. [3] [ página necesaria ] Además, es fácil entender cuál es el beneficio del sistema principal (presentado en el SD). En OPM, también es más fácil comprender los tres aspectos principales del sistema: comportamiento, estructura y funcionalidad (al contrario que UML que describe estos aspectos con diferentes tipos de diagramas). [3] [ página necesaria ] El modelado de despliegue de la base de datos contribuye a la comprensión del sistema y todos los detalles que se almacenan en el sistema. Además, la creación de zoom permite simplificar el modelo. OPM requiere un amplio conocimiento de los procesos sistemáticos, como cómo el sistema salvó el camino y toma decisiones.
Generación de vistas SysML a partir de un modelo OPM
Si bien ambos lenguajes apuntan al mismo propósito de proporcionar un medio para la ingeniería de sistemas de propósito general, estos lenguajes adoptan diferentes enfoques para lograr este objetivo. SysML es un perfil de UML (Lenguaje de modelado unificado). Por lo tanto, es posible convertir un diagrama OPM en un diagrama UML o SysML.
La traducción de OPM a SysML es de uno a muchos en el sentido de que un solo 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)
- Activador de transición de estado (en un diagrama de máquina de estado).
Como OPM y SysML son dos lenguajes distintos y de diseño diferente, no todas las construcciones en un idioma tienen construcciones equivalentes en el otro idioma.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/e/e6/OPMtoUML_SD0.png/330px-OPMtoUML_SD0.png)
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/f/fd/OPMtoUML_SD1.png/330px-OPMtoUML_SD1.png)
- El primer tipo de diagrama en UML que se puede generar a partir de un diagrama OPM es el diagrama de casos de uso, que está destinado a modelar el uso de un sistema. Los elementos principales que componen el diagrama de casos de uso son los actores y los casos de uso (las entidades) junto con las relaciones (enlaces) entre ellos. Por lo tanto, la generación de un diagrama de casos de uso a partir de OPM se basa en los objetos ambientales (los actores) y los procesos (los casos de uso) vinculados a ellos. La Figura 1 es un ejemplo de generación de diagrama de casos de uso de SD0. La figura muestra el diagrama OPM raíz (a), el texto OPL correspondiente (b) y el diagrama de casos de uso creado (c). La Figura 2 muestra un nivel SD1 de OPD del mismo modelo OPM (a) y el diagrama de casos 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. La generación de un BDD se basa en los objetos sistémicos del modelo OPM y sus relaciones, principalmente relaciones estructurales con otros elementos del modelo.
- El tercer tipo de diagrama son los diagramas de actividad, cuyo objetivo es especificar el flujo. Los componentes clave incluidos en el Diagrama de actividades 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 secundarios, es decir, un proceso que se amplía en el modelo OPM. Hay dos tipos de parámetros de usuario que se pueden especificar a través del cuadro de diálogo de configuración. El primero trata de la selección de los procesos OPM: una opción es especificar explícitamente los procesos OPM requeridos mediante la selección de una lista. La alternativa, que es la opción predeterminada, es comenzar con el OPD raíz (SD) y descender en la jerarquía. Aquí llegamos al segundo parámetro (que es independiente del primero), que es el número requerido de niveles OPD (k) para descender en la jerarquía. Para dar al usuario control sobre el nivel de abstracción, los diagramas se generan hasta k niveles en la jerarquía. Cada nivel dará como resultado la generación de un diagrama de actividad adicional, que es una actividad secundaria (subdiagrama) contenida en la actividad de nivel superior adjunta. La configuración predeterminada para esta opción es "todos los niveles hacia abajo" (es decir, "k = ∞"). [20]
![The OPM to Activity Diagram Map.jpg](http://wikiimg.tojsiabtv.com/wikipedia/commons/9/96/The_OPM_to_Activity_Diagram_Map.jpg)
Estudio de comprensión de modelos
Para evaluar y examinar la efectividad del algoritmo y la aplicación OPM-to-SysML recientemente desarrollados, Dov Dori y Yariv Grobshtein realizaron un experimento controlado, que tenía dos objetivos principales:
- Dado que la comprensión mejorada del sistema estaba entre los posibles beneficios previstos, se aventuraron a examinar si los diagramas SysML adicionales que se habían generado automáticamente con su nueva aplicación afectaban la comprensión del modelo del sistema;
- Querían probar la calidad de los diagramas creados automáticamente, principalmente en términos de errores de modelado e inconsistencias con el modelo OPM original a partir del cual se generaron.
Llevaron a cabo el experimento dentro de una conferencia del curso "Modelado de sistemas empresariales" impartido en 2008. Probar la hipótesis nula de que no hay diferencia en el nivel de comprensión entre el modelo solo de OPM y el modelo combinado de OPM y SysML, contra el alternativa bilateral de que existe una diferencia, rechazaron la hipótesis nula en ambos casos. Para ambos sistemas, las respuestas de los estudiantes a las preguntas de comprensión relacionadas con los modelos OPM y SysML combinados fueron significativamente mejores que las respuestas relacionadas con los modelos solo de OPM.
Parece que los diagramas adicionales fueron útiles para responder algunas de las preguntas más que otras. Solo una pregunta de ocho en cada uno de los casos obtuvo una puntuación más baja cuando se utilizó la especificación de diagramas combinados. El diagrama SysML que parece tener el mayor valor agregado es el Diagrama de definición de bloques (BDD), que especifica la jerarquía del sistema y las características de los bloques como atributos y operaciones. La utilidad relativamente alta del BDD es evidente tanto en la evaluación de los estudiantes de la contribución de este tipo de diagrama como en el análisis de los puntajes en las preguntas individuales en ambos sistemas. De acuerdo con los resultados del experimento, el diagrama de casos de uso parece tener el menor efecto en la comprensión del sistema, y esto también está de acuerdo con la evaluación de los estudiantes sobre la contribución del tipo de diagrama de casos de uso. En el medio se encuentran el diagrama de actividad y el diagrama de máquina de estados, que parecen tener un efecto positivo, aunque no tan alto como el efecto del BDD.
Como se señaló, el otro objetivo del experimento fue evaluar la calidad de la aplicación OPM a SysML en términos de errores e inconsistencias entre el modelo OPM de origen y los diagramas SysML generados. En este sentido, los estudiantes no encontraron ningún problema de errores, inconsistencias o contradicciones asociados con los diagramas SysML, lo que indica que la aplicación ha logrado un alto nivel de fidelidad de traducción de modelo a modelo.
En el estudio se desarrolló y aplicó un algoritmo para la generación automática de vistas SysML a partir de un modelo OPM. Para cada vista SysML, un esquema de mapeo de elementos OPM a elementos SysML constituye la base para el subalgoritmo OPM-toSysML y la aplicación del motor de traducción. Las asignaciones son parciales y no utilizan todos los elementos de lenguaje disponibles. La implementación del software fue OPCAT, la herramienta de modelado compatible con OPM. [21]
Ver también
- Ontología formal
- Ontología de procesos
- Lenguaje de ontología
- Ontología superior
Referencias
- ^ a b c d e "ISO / PAS 19450: 2015 - Integración y sistemas de automatización - Metodología objeto-proceso" . iso.org . Diciembre de 2015 . Consultado el 3 de mayo de 2017 .
- ^ a b Dori, Dov (1995). "Análisis objeto-proceso: mantener el equilibrio entre la estructura del sistema y el comportamiento". Revista de Lógica y Computación . 5 (2): 227–249. doi : 10.1093 / logcom / 5.2.227 .
- ^ a b c d e f Dori, Dov (2002). Metodología objeto-proceso: un paradigma de sistemas holísticos . Berlín, Heidelberg, Nueva York: Springer-Verlag . doi : 10.1007 / 978-3-642-56209-9 . ISBN 978-3540654711. S2CID 13600128 .
- ^ a b c d e f g h yo j Dori, Dov (2016). Ingeniería de sistemas basada en modelos con OPM y SysML . Nueva York: Springer-Verlag . doi : 10.1007 / 978-1-4939-3295-5 . ISBN 9781493932955. OCLC 959032986 . S2CID 32425215 .
- ^ a b c "Laboratorio de Modelado de Sistemas Empresariales» Instalación OPCAT " . technion.ac.il . Consultado el 3 de mayo de 2017 .
- ^ Booch, G. "Es hora de un alto el fuego en la guerra de métodos". Journal of Object-Oriented Programming , julio / agosto de 1993.
- ^ Dori, Dov; Tombre, Karl (1995). "Desde dibujos de ingeniería hasta modelos CAD en 3D: ¿estamos listos ahora?" (PDF) . Diseño asistido por computadora . 27 (4): 243-254. doi : 10.1016 / 0010-4485 (95) 91134-7 . hdl : 10068/41847 .
- ^ Perelman, Valeria; Somekh, Judith; Dori, Dov (2011). Modelo de marco de verificación con aplicación a la biología molecular . Sociedad Internacional de Simulación por Computadora. págs. 140-145.
- ^ Fischer, Amit; Nolan, Mike; Friedenthal, Sanford; Loeffler, Michael; Sampson, Mark; Bajaj, Manas; VanZandt, Lonnie; Hovey, Krista; Palmer, John; Hart, Laura (2014). "3.1.1 Gestión del ciclo de vida del modelo para MBSE". Simposio Internacional INCOSE . 24 : 207-229. doi : 10.1002 / j.2334-5837.2014.tb03145.x .
- ^ Ver también: Herre, Heinrich; Heller, Barbara; Burek, Patryk; Hoehndorf, Robert; Loebe, Frank; Michalek, Hannes (julio de 2006). "Ontología formal general (GFO): una ontología fundamental que integra objetos y procesos: parte I: principios básicos" (PDF) . Informe Onto-Med . 8 : 3.
Los lenguajes actuales en uso para el modelado conceptual como el Lenguaje de modelado unificado (UML), el modelado entidad-relación en el campo de la base de datos o la Metodología de objeto-proceso pueden examinarse de acuerdo con sus compromisos ontológicos.
- ^ Dori, Dov; Linchevski, Chen; Manor, Raanan (2010). "OPCAT - Un entorno de software para el modelado conceptual basado en la metodología de procesos de objetos de sistemas complejos". Proc. I Congreso Internacional de Modelización y Gestión de Procesos de Ingeniería . Universidad de Cambridge, Cambridge, Reino Unido, Heisig, P., Clarkson, J. y Vajna, S. (Eds.): 147-151.
- ^ a b Grobshtein, Yariv; Perelman, Valeriya; Safra, Eliyahu; Dori, Dov (2007). Lenguajes de modelado de sistemas: OPM versus SysML . Haifa, Israel: IEEE. págs. 102-109. ISBN 978-1-4244-0770-5. Consultado el 15 de noviembre de 2018 .
- ^ Ver también: "El ciclo de vida del ARNm" (PDF) . technion.ac.il . Consultado el 3 de mayo de 2017 .
- ^ Laboratorio de Modelado de Sistemas Empresariales. "opcloud" .
- ^ Dori, Dov; Jbara, Ahmad; Levi, Natali; Wengrowicz, Niva. "Metodología Objeto-Proceso, OPM ISO 19450 - OPCloud y la Evolución de las Herramientas de Modelado OPM" . Project Performance International . Consultado el 18 de noviembre de 2018 .
- ^ Dori, Dov; Howes, David; Blekhman, Alex; Martin, Richard. "OPM como base para estándares empresariales basados en modelos, Informe del grupo de trabajo OPM ISO TC184 / SC5 a la reunión plenaria ISO TC184 / SC5, Tokio 26, 2010" (PDF) . Consultado el 18 de noviembre de 2018 .
- ^ Blekhman, Alex; Dori, Dov; Martin, Richard. "Creación de estándares basados en modelos" (PDF) . Consultado el 18 de noviembre de 2018 .
- ^ SC 5 SESIÓN PLENARIA. "Informe de la reunión" (PDF) . Consultado el 18 de noviembre de 2018 .
- ^ Peleg, M .; Dori, D. (2000). "El problema de la multiplicidad de modelos: experimentar con métodos de especificación en tiempo real". Transacciones IEEE sobre ingeniería de software . 26 (8): 742–759. CiteSeerX 10.1.1.321.5507 . doi : 10.1109 / 32.879812 .
- ^ Grobshtein, Yariv; Dori, Dov (2009). Creación de vistas SysML a partir de un modelo OPM . Haifa, Israel: IEEE. págs. 36–44. doi : 10.1109 / MBSE.2009.5031718 . ISBN 978-1-4244-2967-7. S2CID 6195904 .
- ^ Grobshtein, Yariv; Dori, Dov (febrero de 2011). "Generación de vistas SysML a partir de un modelo OPM: Diseño y evaluación". Ingeniería de sistemas . 14 (3): 327–340. doi : 10.1002 / sys.20181 .
enlaces externos
- Metodología objeto-proceso y su aplicación a la Web semántica visual , presentación de Dov Dori, 2003.
- Algunas características del lenguaje técnico de Navya-Nyāya
- Formalización del proceso de pensamiento del modelado conceptual en beneficio de ingenieros y científicos. , presentación de Dov Dori, 2015.
- Formalización del proceso de pensamiento del modelado conceptual en beneficio de ingenieros y científicos
- Patente de EE. UU. US7099809B2 sobre la conversión de OPD hacia y desde formatos de texto