19 research outputs found

    Two Decades of Maude

    Get PDF
    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

    Get PDF
    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

    Full text link
    [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

    Get PDF
    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.

    Conditional Narrowing Modulo in Rewriting Logic and Maude

    Full text link
    corecore