38 research outputs found
A metamodel-based ASN.1 editor and compiler for the implementation of communication protocols
In der Software-Industrie sind viele metamodell-basierte Werkzeuge entwickelt worden, um die Erstellung von Programmiersprachen und insbesondere dom盲nenspezifischen Sprachen (DSL ) zu unterst眉tzen. Ein Beispiel f眉r diese Werkzeuge ist Eclipse Xtext, welches eine gro脽e Popularit盲t im Bereich der modellgetriebenen Softwareentwicklung (MDSE ) besitzt. In diesem Beitrag untersuchen wir, inwieweit Xtext und andere metamodell-basierte Ans盲tze zur Implementierung eines Editors und Compilers f眉r die ASN.1 Spezifikation, welche von der ITU-T standardisiert wurde, verwendet werden k枚nnen. Der metamodell-basierte Ansatz zur Implementierung der ASN.1 Spezifikation erm枚glicht es, ASN.1-Dokumente softwaretechnisch wie ein Modell behandeln zu k枚nnen, sodass dieses ASN.1-Modell mit anderen Softwaremodellen (z. B. Zustandsmaschinen)verkn眉pft werden kann. Unsere Ergebnisse zeigen, dass mit relativ geringem Aufwand eine Basisimplementierung von ASN.1 zu erreichen ist, die bereits eine gute Werkzeugunterst眉tzung liefert. Bei einigen Details der Implementierung ger盲t man allerdings an die Grenze des Machbaren und diese sind daher sehr schwer zu realisieren. Dies betrifft insbesondere den Parser-Generator und das komplexe Metamodell.In the software industry many metamodel-based tools and approaches have been developed to support the creation of programming and especially domain specific languages (DSL). An example of these tools is eclipse Xtext, which has gained much popularity in the model-driven software engineering (MDSE) community. In this article we investigate whether Xtext and related metamodel-based approaches can also be used to implement the ASN.1 specification that was standardized by the ITU-T. The metamodel-based approach for the implementation of the ASN.1 specification allows to treat ASN.1 documents as software models, so that these ASN.1 models can be interrelated with other models (e.g. state machines). Our results show that relatively little efforts are required to create a basic implementation of this standard with good tool support. However, some details of the implementation are quite difficult to realize because they touch the limits of feasibility. This concerns in particular the parser generator and the complex metamodel
Project Final Report Use and Dissemination of Foreground
This document is the final report on use and dissemination of foreground, part of the CONNECT final report. The document provides the lists of: publications, dissemination activities, and exploitable foregroun
Evolving models in Model-Driven Engineering : State-of-the-art and future challenges
The artefacts used in Model-Driven Engineering (MDE) evolve as a matter of course: models are modified and updated as part of the engineering process; metamodels change as a result of domain analysis and standardisation efforts; and the operations applied to models change as engineering requirements change. MDE artefacts are inter-related, and simultaneously constrain each other, making evolution a challenge to manage. We discuss some of the key problems of evolution in MDE, summarise the key state-of-the-art, and look forward to new challenges in research in this area
Integration analysis of solutions based on software as a service to implement Educational Technological Ecosystems
[ES]Una de las principales caracter铆sticas de la actual Sociedad del Conocimiento reside en
el valor del conocimiento como un recurso activo en cualquier tipo de entidad, desde
instituciones educativas hasta grandes corporaciones empresariales. La gesti贸n del
conocimiento surge como una ventaja competitiva de tal forma que las entidades
dedican parte de sus recursos a desarrollar su capacidad para compartir, crear y aplicar
nuevos conocimientos de forma continuada a lo largo del tiempo.
La tecnolog铆a, considerada el motor, el elemento central, en la Sociedad de la
Informaci贸n, pasa a convertirse en un soporte para el aprendizaje, para la
transformaci贸n de conocimiento t谩cito en expl铆cito, de conocimiento individual en
grupal. Internet, las tecnolog铆as de la informaci贸n y la comunicaci贸n y, en particular,
los sistemas de informaci贸n pasan de ser elementos que gu铆an el desarrollo de la
sociedad a ser herramientas cuyo desarrollo est谩 guiado por las necesidades de gesti贸n
del conocimiento y los procesos de aprendizaje.
Los ecosistemas tecnol贸gicos, considerados como la evoluci贸n de los sistemas de
informaci贸n tradicionales, se posicionan como sistemas de gesti贸n del conocimiento
que abarcan tanto la componente tecnol贸gica como el factor humano. En el caso de que
la gesti贸n del conocimiento est茅 dirigida a apoyar fundamentalmente procesos de
aprendizaje, el ecosistema tecnol贸gico se puede denominar ecosistema de aprendizaje.
La met谩fora de ecosistema, que proviene del 谩rea de la biolog铆a, se utiliza en diferentes
contextos para transmitir la naturaleza evolutiva de procesos, actividades y relaciones.
El uso del concepto ecosistema natural se aplica al 谩mbito tecnol贸gico para reflejar un
conjunto de caracter铆sticas o propiedades de los ecosistemas naturales que pueden
transferirse a los ecosistemas tecnol贸gicos o ecosistemas software con el fin de
proporcionar soluciones, las cuales deben estar orientadas resolver los problemas de
gesti贸n del conocimiento. A su vez, estas soluciones tienen que adaptarse a los
constantes cambios que sufre cualquier tipo de entidad o contexto en el que se despliega
alg煤n tipo de soluci贸n tecnol贸gica.
A pesar de las ventajas que ofrecen los ecosistemas tecnol贸gicos, el desarrollo de este
tipo de soluciones tiene una mayor complejidad que los sistemas de informaci贸n
tradicionales. A los problemas propios de la ingenier铆a del software, tales como la
interoperabilidad de los componentes o la evoluci贸n del ecosistema, se unen la
dificultad de gestionar un conocimiento complejo y la diversidad de personas
involucradas.
Los diferentes retos y problemas de los ecosistemas tecnol贸gicos, y en particular de
aquellos centrados en gestionar el conocimiento y el aprendizaje, requieren mejorar los
procesos de definici贸n y desarrollo de este tipo de soluciones tecnol贸gicas.
La presente tesis doctoral se centra en proporcionar un marco arquitect贸nico que
permita mejorar la definici贸n, el desarrollo y la sostenibilidad de los ecosistemas
tecnol贸gicos para el aprendizaje. Dicho marco estar谩 compuesto, principalmente, por
dos resultados asociados a esta investigaci贸n: un patr贸n arquitect贸nico que permita
resolver los problemas detectados en ecosistemas de aprendizaje reales y un
metamodelo de ecosistema de aprendizaje, basado en el patr贸n, que permita aplicar
Ingenier铆a Dirigida por Modelos para sustentar la definici贸n y el desarrollo de los
ecosistemas de aprendizaje.
Para llevar a cabo la investigaci贸n se han definido tres ciclos siguiendo el marco
metodol贸gico Investigaci贸n-Acci贸n. El primer ciclo se ha centrado en el an谩lisis de
varios casos de estudio reales con el fin de obtener un modelo de dominio del problema.
Se han analizado ecosistemas tecnol贸gicos para la gesti贸n del conocimiento y el
aprendizaje desplegados en contextos heterog茅neos, en particular, la Universidad de
Salamanca, el grupo de investigaci贸n GRIAL y el proyecto europeo TRAILER (centrado
en gestionar el conocimiento informal en instituciones y empresas). Como resultado de
este ciclo se han detectado una serie de caracter铆sticas que debe tener un ecosistema
tecnol贸gico y se ha definido un patr贸n arquitect贸nico que permite sentar las bases del
ecosistema, dando soluci贸n a algunos de los problemas detectados y asegurando la
flexibilidad y adaptabilidad de los componentes del ecosistema con el fin de permitir su
evoluci贸n.
El segundo ciclo se ha centrado en la mejora y validaci贸n del patr贸n arquitect贸nico. Los
problemas detectados en el ciclo anterior se han modelado con la notaci贸n Business
Process Model and Notation. Para ello, se han agrupado los problemas relacionados con
procesos de gesti贸n del conocimiento similares y posteriormente se ha realizado para
cada conjunto de problemas un diagrama con un alto nivel de abstracci贸n. Despu茅s,
para cada uno de los diagramas, se han identificado una vez m谩s los problemas a
resolver y se ha definido un nuevo diagrama aplicando el patr贸n. Esto ha permitido
validar el patr贸n arquitect贸nico y sentar las bases para su formalizaci贸n.
Por 煤ltimo, el tercer ciclo ha planteado el Desarrollo Dirigido por Modelos de
ecosistemas tecnol贸gicos para la gesti贸n del conocimiento y el aprendizaje. En concreto,
se ha definido un metamodelo de ecosistema de aprendizaje basado en el patr贸n
arquitect贸nico planteado en el ciclo anterior. El metamodelo se ha validado a trav茅s de
una serie de transformaciones modelo a modelo automatizadas mediante reglas de
transformaci贸n. Para poder llevar a cabo dicho proceso, se ha definido un metamodelo
espec铆fico de plataforma que proporciona un conjunto de recomendaciones, tanto
tecnol贸gicas como humanas, para implementar ecosistemas de aprendizaje basados en
software open source.
El metamodelo de ecosistema de aprendizaje y el metamodelo espec铆fico de plataforma
para definir ecosistemas basados en software open source proporcionan las gu铆as
necesarias para definir ecosistemas de aprendizaje que resuelvan los principales
problemas detectados en este tipo de soluciones software.
Los tres casos de estudio reales que se han desarrollado para validar los resultados
obtenidos a lo largo de los ciclos de Investigaci贸n-Acci贸n, en especial, el patr贸n
arquitect贸nico para modelar ecosistemas de aprendizaje, el metamodelo de ecosistema
de aprendizaje y el metamodelo espec铆fico de plataforma para definir ecosistemas
basados en software open source, permiten afirmar, como conclusi贸n m谩s general, que
es posible mejorar la definici贸n y el desarrollo de los ecosistemas tecnol贸gicos
enfocados en gestionar el conocimiento y los procesos de aprendizaje. M谩s
concretamente, el uso de ingenier铆a dirigida por modelos, sustentada sobre una s贸lida
propuesta arquitect贸nica, permite definir ecosistemas de aprendizaje que evolucionan
y se adaptan a las necesidades cambiantes del entorno y de los usuarios, as铆 como
resolver un conjunto de problemas comunes identificado en este tipo de soluciones
tecnol贸gicas
Towards efficient comparison of change-based models
Comparison of large models can be time-consuming since every element has to be visited, matched, and compared with its respective element in other models. This can result in bottlenecks in collaborative modelling environments, where identifying differences between two versions of a model is desirable. Reducing the comparison process to only the elements that have been modified since a previous known state (e.g., previous version) could significantly reduce the time required for large model comparison. This paper presents how change-based persistence can be used to localise the comparison of models so that only elements affected by recent changes are compared and to substantially reduce comparison and differencing time (up to 90% in some experiments) compared to state-based model comparison
Dise帽o de software para validaci贸n diet茅tica de men煤s nutritivos
Introduction: There is a number of software tools aimed at the validation of healthy menus, but their underlying model remains unknown and they are not very flexible to be modified. The goal of this project is to show a basis model, described in standard computer languages, flexible to be modified and also a related software tool for menu planning and validation. The software tool validates the Laws of Correct Nutrition, criteria described in most of the food guides are included in this model, yet allows to create constraint formulation without having knowledge in programming.Materials and methods: After the definition of the requirements via food guides analysis, we consult nutrition scientists from Universidad Ju谩rez Aut贸noma de Tabasco. Then we design the software and implemented it. We capture the values included in the Mexican food tables. We finally validate and verify the model and some menus.Results: We develop an embedded system in which we perform the validation of 7 menus of people with different characteristics: 4 women and 3 men, ages ranging from 18 to 43 years, heights from 153 to 178 cm, weights from 48 to 78 kg, and budget from 200 Mexican pesos. These menus were validated by nutrition scientists.Conclusion: Menu planning for a nutritional-diet point of view is essential, as this is a heavy-resources-consuming process. To offer an adaptable software tool which performs menu validation automatically targets the solution of health problems related to feeding.Introducci贸n: Aunque existe software que apoya la validaci贸n de men煤s nutritivos, el modelo que subyace es desconocido y poco flexible a modificaciones. El objetivo de este trabajo es mostrar un modelo base, descrito en lenguajes est谩ndar, flexible a modificaciones para validar men煤s nutritivos, as铆 como una herramienta que automatiza el proceso de generaci贸n de software a partir de modelos. Aunque el software generado valida las Leyes de la Correcta Alimentaci贸n, criterios descritos en la mayor铆a de las gu铆as alimentarias son incluidos en este modelo, donde la formulaci贸n de restricciones puede ser modificada sin necesidad de tener conocimientos en programaci贸n.Material y m茅todo: Despu茅s definir los requerimientos al analizar varias gu铆as alimentarias y consultar a nutri贸logas de la Universidad Ju谩rez Aut贸noma de Tabasco, se llev贸 a cabo el dise帽o del software e implementaci贸n, capturando los valores de las tablas de valor nutritivo de los alimentos de mayor consumo en M茅xico que sirvieron como base de datos. Al finalizar, se validaron y verificaron los men煤s.Resultados: Se gener贸 un sistema embedido con el que se validaron 7 men煤s de personas con caracter铆sticas variadas, 4 mujeres y 3 hombres, edades entre 18 y 43 a帽os, tallas entre 153 y 178 cm, pesos entre 49 y 78 kg, y presupuestos entre 200 pesos. Todos los men煤s fueron tambi茅n validados por nutri贸logas y aceptados como adecuados.Conclusi贸n: La elaboraci贸n de men煤s nutritivos para la intervenci贸n diet茅tico-nutricional es esencial, este proceso consume demasiados recursos, as铆 al ofrecer herramientas tecnol贸gicas adaptables que automatizan la validaci贸n de esta tarea, se apoya en la soluci贸n de los problemas de salud directamente relacionados con la alimentaci贸n
RML: Runtime Monitoring Language
Runtime verification is a relatively new software verification technique that aims to prove the correctness of a specific run of a program, rather than statically verify the code. The program is instrumented in order to collect all the relevant information, and the resulting trace of events is inspected by a monitor that verifies its compliance with respect to a specification of the expected properties of the system under scrutiny. Many languages exist that can be used to formally express the expected
behavior of a system, with different design choices and degrees of expressivity.
This thesis presents RML, a specification language designed for runtime verification, with the goal of being completely modular and independent from the instrumentation and the kind of system being monitored. RML is highly expressive, and allows one to express complex, parametric, non-context-free properties concisely. RML is compiled down to TC, a lower level calculus, which is fully formalized with a deterministic, rewriting-based semantics.
In order to evaluate the approach, an open source implementation has been developed, and several examples with Node.js programs have been tested. Benchmarks show the ability of the monitors automatically generated from RML specifications to effectively and efficiently verify complex properties