19 research outputs found
Two Decades of Maude
This paper is a tribute to José Meseguer, from the rest of us in the Maude team, reviewing the past, the present, and the future of the language and system with which we have been working for around two decades under his leadership. After reviewing the origins and the language's main features, we present the latest additions to the language and some features currently under development. This paper is not an introduction to Maude, and some familiarity with it and with rewriting logic are indeed assumed.Universidad de Málaga. Campus de Excelencia Internacional AndalucÃa Tech
Semantics of Transient Connectors in Rewriting Logic
Research in Software Architectures has put forward the concept of connector to express complex relationships between system components, thus facilitating the separation of coordination from computation. A system can then be understood, at a given level of abstraction, in terms of its components and the connectors that establish how they interact. However, for systems in which many interconnections exist between their components, the architectures themselves may become very complex due to the high number of connectors in place. This is especially true in the context of mobile systems in which the interconnections are, by nature, transient in the sense that, at a given instant of time, only a subset of the potential connectors are actually effective. In this paper, we formalise a notion of transient connector that allows, at any given moment, for the architecture to depict only the connectors that are active and, in this way, capture the dynamics of architectures themselves. Our approach is based on the use of Community, a Unity-like program design language that has a semantics in Category Theory, and rewriting logic as a means of capturing the dynamic aspects of connector
Desarrollo de una herramienta de escritorio para depuración de programas basada en fragmentación de trazas
[ES] El concepto de aplicación web está relacionado con el almacenamiento en la nube
y el acceso a la información vÃa Internet, quedando una copia temporal dentro de
nuestro dispositivo. Sin embargo, las aplicaciones web no pueden garantizar ciertos
beneficios en cuanto a programas grandes se refiere.
Las aplicaciones de escritorio, también llamadas aplicaciones desktop, suelen estar
desarrolladas acorde a un sistema operativo, pudiendo acceder más fácilmente
al hardware del equipo y asà tener un mejor tiempo de respuesta. Sin embargo, los
lenguajes utilizados en la programación online suelen ser interpretados o pseudointerpretados,
por lo que tienen como inconveniente un peor rendimiento. También
requieren de un menor tiempo de desarrollo y, por consiguiente, menor coste, dado
que las herramientas de desarrollo y depuración para la programación tradicional
están más desarrolladas.
ANIMA es un depurador de programas escritos en lenguaje Maude, que implementa
eficientemente la lógica de reescritura (RWL). La técnica de depuración
implementada en ANIMA se basa en la fragmentación de trazas (trace slicing) y
en técnicas de visualización, habiendo sido desarrollada como una aplicación on-line
que despliega interactivamente el árbol de computación del programa que se pretende
depurar.
Este trabajo de fin de grado se ha centrado en el desarrollo de la aplicación
dANIMA (desktop ANIMA), una versión de escritorio y multiplataforma de la aplicación
online ANIMA. dANIMA ha sido implementada utilizando Java como lenguaje
principal de manera que pueda ejecutarse en diferentes sistemas operativos (p.
ej., Windows, OS X, Linux) y al mismo tiempo beneficiarse de la eficiencia caracterÃstica
que las tradicionales aplicaciones de escritorio ofrecen frente a las aplicaciones
online, limitadas en muchas ocasiones por el propio navegador.[CA] El concepte d’aplicació web està relacionat amb l’emmagatzemament en el núvol
i l’accés a la informació via Internet, quedant una còpia temporal dins del nostre
dispositiu. No obstant això, les dites aplicacions no poden garantir certs beneficis
quant a programes grans es referix.
Les aplicacions d’escriptori solen estar desenvolupades d’acord amb un sistema
operatiu, podent accedir mes fà cilment al maquinari de l’equip i aixà tindre un millor
temps de resposta. No obstant això, els llenguatges utilitzats en la programació
online solen ser interpretats o pseudointerpretats, per la qual cosa tenen com a
inconvenient un pitjor rendiment. També requerixen d’un menor temps de desenvolupament
i, per consegüent, menor cost, atés que les ferramentes de desenvolupament
i depuració per a la programació tradicional estan mes desenvolupades.
ANIMA és un depurador de programes escrits en llenguatge Maude, que implementa
eficientment la lògica de reescriptura (RWL). La tècnica de depuració
implementada en ANIMA es basa en la fragmentació de traces (trace slicing) i en
tècniques de visualització, havent sigut desenvolupada com una aplicació online que
desplega interactivament l’arbre de computació del programa que es pretén depurar.
Este treball de fi de grau s’ha centrat en el desenvolupament de l’aplicació
dANIMA (desktop ANIMA), una versió d’escriptori i multiplataforma de l’aplicació
online ANIMA. dANIMA ha sigut implementada utilitzant Java com a llenguatge
principal de manera que puga executar-se en diferents sistemes operatius (p. ex.,
Windows, OS X, Linux) i al mateix temps beneficiar-se de l’eficiència caracterÃstica
que les tradicionals aplicacions d’escriptori oferixen enfront de las aplicacions online,
limitades en moltes ocasions pel propi navegador.[EN] Web applications o!er involve the storage of information in the cloud and access
to it through the Internet, keeping a temporary copy inside the user’s computer.
Unfortunately, for the case of large programs, web applications cannot guarantee
some important demands.
Desktop applications are usually developed according to an operating system,
being able to more easily access the hardware, and this way they o!er better performance.
The languages used in online programming are usually interpreted or
pseudointerpreted. They require less development time and, consequently, less cost,
since also the development hardware and tools are more sophisticated for traditional
programming.
ANIMA is a debugger for programs written in the Maude language that e"ciently
implements Rewriting Logic (RWL). The debugging techniques implemented in ANIMA
are based on trace slicing and visualization techniques, having been developed
as an online application that interactively displays the computation tree for the
considered program we want to debug.
This Final Degree Project has focused on developing the dANIMA (desktop ANIMA)
application, a desktop and cross-platform online version of the original application
ANIMA. dANIMA has been implemented using Java as the main language so
that it runs on di!erent operating systems (e.g., Windows, OS X, Linux) and at the
same time benefits from the characteristic e"ciency o!ered by traditional desktop
applications in comparison to online applications limited in many occasions by the
browser itself.Requena Casares, C. (2016). Desarrollo de una herramienta de escritorio para depuración de programas basada en fragmentación de trazas. http://hdl.handle.net/10251/70846.TFG
Formalisierung und Architektur von Medien und ihren Gemeinschaften
Zusammenfassung:
"Medienmodell und Medienreferenzmodell werden als Modelle für Plattformen für Gemeinschaften von natürlichen und künstlichen Agenten eingeführt. Diese Modelle werden mit Logik, Rewrite Logic, Labelled Deductive Systems und Modaler Logik formalisiert. Aus dieser Formalisierung wird eine generische Architektur für Medien entwickelt. Anhand der Beispiele eines Online-Buchladens, eines Online Marktes und der Analyse von Gemeinschaften werden Modelle, Modellierung und Architektur motiviert und konkretisiert.