scholarly journals Implementación de técnicas de evaluación y refinamiento para OCL 2.0 sobre múltiples lenguajes basados en MOF

2006 ◽  
Author(s):  
◽  
Carlos Diego Garcia

La complejidad de los problemas del mundo real ha llevado a que la construcción de un sistema de software debe ser precedida por la construcción de un modelo, tal como ocurre en otros sistemas ingenieriles. El modelo de un sistema es una representación conceptual obtenida a partir de la identificación, clasificación y abstracción de los elementos que constituyen el problema y su posterior organización en una estructura formal. De esta forma, el modelo de un sistema actúa como una especificación de los requerimientos que el sistema debe satisfacer, proveyendo un medio de comunicación y negociación entre usuarios, clientes, analistas y desarrolladores, así como también un documento de referencia durante la verificación y validación, y durante la evolución del producto. Es de suma importancia expresar el problema claramente y con precisión; pero esta meta es difícil de lograr, los modelos tienden a contener errores, omisiones e inconsistencias porque ellos son el resultado de una actividad compleja y creativa. El modelo del sistema se expresa utilizando un lenguaje de modelado. El éxito de los lenguajes gráficos de modelados como el Unified Modelling Language (UML) son principalmente basado en el uso de construcciones gráficas que transmiten un significado intuitivo. Estos lenguajes son atractivos para los usuarios porque ellos son claros y entendibles. Estas características son vitales ya que el modelo también cumple una función contractual. Sin embargo es fundamental contar con un lenguaje que permita expresar restricciones semánticas adicionales sobre los objetos del modelo, pudiendo obtener modelos más precisos y verificables. OCL es un lenguaje de especificación formal fácil de leer y escribir. Fue definido por la OMG (Object Management Group), permite expresar restricciones semánticas del sistema que no se pueden expresar a partir de una notación gráfica. De esta forma, los diagramas complementados con expresiones OCL son más precisos, su documentación es más clara, se mejora la comunicación entre desarrolladores (evitando errores producidos por malas interpretaciones) y la compresibilidad del sistema en etapas iniciales del desarrollo de software es mayor. Tanto UML como OCL están definidos a través de MOF (Meta Object Facility) una especificación de tecnología estandarizada por OMG en 1997. MOF es un meta-metamodelo que es utilizado para crear metamodelos. OCL puede ser utilizado para cualquier metamodelo que adhiera a MOF. Otras características que son muy importantes para la utilización de los lenguajes de modelado, en sistemas de software complejos, es contar con técnicas de refinamientos, permitiendo un desarrollo por etapas con distintos niveles de abstracción, postergando los detalles del problema en etapas posteriores. En los lenguajes formales como Z [33] es posible demostrar si una especificación dada es un refinamiento de otra especificación, o incluso derivar refinamientos a partir de una determinada especificación. Para poder utilizar mecanismos de refinamientos en UML, es necesario aumentar la precisión de dicho lenguaje de modelado, y definir un marco para expresar la noción de refinamiento. Algunos grupos de investigadores proponen la traducción de UML/OCL en lenguajes formales que soporten mecanismos de refinamientos para disminuir las deficiencias de UML. Esta tesis está organizada de la siguiente manera. En el capitulo 2 se introduce el concepto de MOF y metamodelos. En el capítulo 3 se describe el uso de OCL en modelos basados en MOF. En el capitulo 4 se expone el metamodelo de OCL 2.0. En el capítulo 5 se describe una estrategia de evaluación para las condiciones de refinamientos en modelos UML/OCL. En el capítulo 6 se describe la implementación de la herramienta que asiste al proceso de especificación y evaluación de refinamiento con UML y OCL. En el capitulo 7 se exponen los trabajos relacionados. En el capitulo 8 se expone las conclusiones finales y se citan futuros trabajos.

2008 ◽  
Author(s):  
◽  
Liliana Inés Martínez

La arquitectura Model-Driven (Model-Driven Architecture o MDA) es un framework para el desarrollo de software definido por el Object Management Group (OMG) (MDA, 2007). Su propuesta es elevar el nivel de abstracción en el que se desarrollan sistemas complejos separando la especificación de la funcionalidad de un sistema de su implementación en una plataforma tecnológica específica. MDA promueve el uso de modelos y transformaciones de modelos para el desarrollo de sistemas de software. El proceso de desarrollo MDA distingue cuatro clases de modelos: - Modelo independiente de la computación (Computation Independent Model o CIM): describe los requerimientos del sistema y los procesos de negocio que debe resolver sin tener en cuenta aspectos computacionales. - Modelo independiente de la plataforma (Platform Independent Model o PIM): es un modelo computacional independiente de las características específicas a una plataforma de desarrollo, como por ejemplo .NET, J2EE o relacional. - Modelo específico a la plataforma (Platform Specific Model o PSM): describe un sistema en términos de una plataforma de implementación particular. - Modelo específico a la implementación (Implementation Specific Model o ISM): se refiere a componentes y aplicaciones que usan lenguajes de programación específicos. Los elementos esenciales de MDA son los modelos, los metamodelos y las transformaciones. Un modelo es una descripción o especificación de un sistema y su ambiente para algún cierto propósito. Dentro de MDA un modelo debe estar escrito en un lenguaje de forma tal de ser interpretado por una computadora. Dentro del contexto de MDA, los metamodelos son expresados usando MOF (Meta Object Facility) que define una forma común de capturar todos los estándares y construcciones de intercambio (MOF, 2006). Los metamodelos MOF se basan en los conceptos de entidades, interrelaciones y sistemas y se expresan como una combinación de diagramas de clases UML y restricciones OCL (UML-Infrastructure, 2007; UML-Superstructure, 2007; OCL, 2006). La transformación de modelo a modelo es el proceso de convertir un modelo en otro modelo del mismo sistema. Para expresar las transformaciones, OMG está trabajando en la definición del QVT (Query\View\Transformation) para expresar transformaciones como una extensión de MOF (QVT, 2007). El proceso de desarrollo Model-Driven (MDD) en el contexto de MDA es llevado a cabo como una secuencia de transformaciones de modelos que incluye al menos los siguientes pasos: construir un PIM, transformar el PIM en uno o más PSMs, y construir componentes ejecutables y aplicaciones directamente a partir de un PSM. Un alto grado de automatización de PIMs a PSMs, y de PSMs a ISMs es esencial en el proceso de desarrollo de MDA. Las herramientas que llevan a cabo la automatización se basan en la definición de las transformaciones, las cuales describen como generar un modelo a partir de otro. El éxito de esta propuesta depende de la definición de las transformaciones entre modelos y de librerías de componentes que tengan un impacto significativo sobre las herramientas que proveen soporte a MDA. Entre los posibles componentes MDA se pensó en definir componentes para patrones de diseño (Gamma y otros, 1995) dada su amplia difusión, aceptación y uso, debido a que describen soluciones a problemas de diseño recurrentes. Arnaut (2004) analiza los patrones de diseño de Gamma y otros (1995) para identificar cuales de ellos pueden ser transformados en componentes reusables en una librería Eiffel. Su hipótesis de trabajo es que “los patrones de diseño son buenos, pero los componentes son mejores”. En este caso en particular la reusabilidad está dada en términos de código, pero nos inspiró a pensar en los patrones de diseño en términos de componentes MDA.


2021 ◽  
Vol 14 (1) ◽  
pp. 281-295
Author(s):  
Irene Tangkawarow ◽  
◽  
Riyanarto Sarno ◽  
Daniel Siahaan ◽  
◽  
...  

The Semantics of Business Vocabulary and Rules (SBVR) standard was developed by the Object Management Group (OMG) for business purposes. SBVR is used for transformation of business vocabulary and business rules into business processes. Gateways are used for regulating the divergence and convergence of flow objects in the business process. The existing business rules in SVBR do not support all gateways in BPMN, whereas there are conditions where branching situations in business rules occur. This article introduces parallelism rules (OR rules) and complex rules to increase 50.6% usage of the existing AND rules and XOR rules in SBVR. The main contribution of this research is to introduce new formal model of inclusive gateway (OR) and complex gateway that allow parallelism and branching to be modeled using SBVR. Thus, this study increases coverage of the usage gateway in SBVR achieved 66.7%. The authors provide branching cases with various levels of complexity, i.e. nested conditions and non-free choice conditions, using the formal description of SBVR.


Robotica ◽  
2012 ◽  
Vol 31 (2) ◽  
pp. 217-224 ◽  
Author(s):  
Seungbin Moon ◽  
Sungsoo Rhim ◽  
Young-Jo Cho ◽  
Kwang-Ho Park ◽  
Gurvinder S. Virk

SUMMARYThis paper summarizes the recent standardization activities in the field of robotics by ISO (International Organization for Standardization), IEC (International Electrotechnical Commission), OMG (Object Management Group), and other organizations. While the standards in industrial robots have been mainly developed by ISO, the standards on the emerging service robots are initiated by many organizations. One of the goals of this paper is to coordinate the efforts among these groups so that more effective standardization activity can be executed. Standardization in the emerging service robots will eventually promote the proliferation of service robot markets in the near future.


Author(s):  
O. V. Polska ◽  
R. K. Kudermetov ◽  
N. V. Shcherbak

Технології інтернет-сервісів пропонують передові рішення для створення розподілених бізнес-процесів та додатків. У наш час кількість інтернет- сервісів продовжує постійно зростати. Перед споживачами інтернет- сервісів постає проблема вибору із сервісів з однаковою або подібною функціональністю саме того сервісу, який їм найбільше підходить за набором критеріїв, наприклад, вартість, час відгуку, пропускна здатність, безпека, надійність. Такі критерії якості вебсервісів називають нефункціональними характеристиками сервісів або якістю сервісу (Quality of Service, QoS). Залежно від домену та категорій користувачів, а також контексту використання сервісу вебсервіс може мати багато специфічних властивостей та характеристик якості. Є багато стандартів та специфікацій якості вебсервісів. Незважаючи на це, дослідники, розробники та замовники часто по-різному розуміють якість вебсервісів. Вони можуть зменшити або розширити перелік і навіть значення характеристик якості вебсервісів. Метою цієї роботи є розроблення моделі критеріїв якості вебсервісів, яка могла б ураховувати різні аспекти впливу на якість вебсервісів. У цій роботі розглянуто специфікації та стандарти таких організацій, як OASIS, ISO/IEC та OMG. Здійснено пошук інформації у наукометричних базах даних, таких як Scopus та Web of Science. Із розглянутих стандартів та відповідних наукових робіт обрано характеристики якості та критерії для розроблення ієрархічних моделей якості. На основі стандарту метамоделі QoS від Object Management Group запропоновано модель для синтезу колекцій характеристик вебсервісу QoS. У результаті дослідження розроблено модель, засновану на аналізі наявних стандартів, наукових досліджень та оглядів, присвячених вивченню та класифікації характеристик якості та атрибутів якості вебсервісів. Ця модель може бути корисною для вибору вебсервісу з метою безпосереднього застосування, побудови композитних вебсервісів та хмарних сервісів, створення систем на основі сервіс-орієнтованої архітектури та інтернету речей.


Sign in / Sign up

Export Citation Format

Share Document