Article

Técnicas de especificación formal de sistemas orientados a objetos basadas en lógica de reescritura

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

Las técnicas de especificación formal de sistemas concurrentes pueden agruparse en general en dos niveles; en el primero se incluyen las técnicas consistentes en el desarrollo de modelos formales del sistema y en el segundo las técnicas que realizan la especificación del sistema mediante la definición de propiedades abstractas del mismo. El objetivo de esta tesis es proponer una metodología de especificación de sistemas que cubra ambos niveles de especificación mediante el uso de un marco matemático uniforme, proporcionado por la lógica de reescritura y su implementación vía el metalenguaje Maude. La especificación en el primer nivel se realizará directamente en el propio lenguaje Maude, mientras que para realizar la especificación de segundo nivel definiremos una lógica modal para probar propiedades de sistemas especificados en Maude, en la cual las transiciones definidas por las reglas de reescritura se capturan como acciones en la lógica. La lógica definida puede utilizarse además mediante la definición de la interfaz apropiada para probar propiedades específicas en otras lógicas temporales o modales. En la tesis se estudian en primer lugar las especificaciones en el lenguaje Maude. Mediante el desarrollo de una especificación de un modelo orientado a objetos para redes de telecomunicación de banda ancha se muestra el poder del lenguaje para especificar este tipo de sistemas y en particular la relación de herencia, la relación del contenido y las relaciones explícitas de grupo (ser-miembro-de, cliente-servidor, ..). Se estudia el uso de la reflexión en el control de un proceso de modificación de características de la red. En este sentido se combinan ideas del campo de la reflexión lógica con ideas provenientes del campo de la reflexión orientada a objetos mediante el uso de un mediador, un metaobjeto que vive en el metanivel y que tiene acceso a la configuración de la red para su gestión. En segundo lugar se procede a la definición de la lógica modal Verificación Logic for Rewriting Logic (VLRL). La principal característica de esta lógica es que proporciona dos modalidades, una de ellas una modalidad de acción que permite capturar las reglas de reescritura como acciones de la lógica, y la otra modalidad espacial que permite definir propiedades sobre partes del sistema y relacionarlas con propiedades del sistema completo así como definir propiedades sobre acciones realizadas en partes del sistema. La lógica VLRL permite además probar propiedades definidas en otras lógicas modales o temporales mediante la definición de la interfaz apropiada. Se muestra el uso de la lógica en la prueba de propiedades de seguridad de varios sistemas orientados a objetos: un protocolo de exclusión mutua, el sistema del mundo de los bloques y el sistema Mobile Maude como modelo de movilidad de objetos entre procesos. Por último se muestra otro medio de probar propiedades de sistemas especificados en lógica de reescritura mediante un ejemplo en el que se realiza una prueba semi-formal por inducción de propiedades de seguridad y vivacidad del protocolo para la elección de líder del bus en serie multimedia IEEE 1394

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... Strategies (at the metalevel) in Maude have also been studied in the context of an object-oriented model for broadband telecommunication networks [8,7]. The basic objects of the model are nodes, links, and connections. ...
... The strategies that describe how the protocol works and when the above rules have to be applied are as follows: [8,7]. Strategy Smediator controls the mediator. ...
Article
Full-text available
We describe a first proposal for a strategy language for Maude, to control the rewriting process and to be used at the object level instead of at the metalevel. We also describe a prototype implementation built over Full Maude using the metalevel and the metalanguage facilities provided by Maude. Finally, we include a series of examples that illustrate the main features of the proposed language.
... The Verification Logic for Rewriting Logic (VLRL) [3,10,11] is a modal action logic in which rewrite rules are captured as actions. It supports the verification of properties of systems specified in rewriting logic [6,7]. ...
... VLRL [3,10,11] is a logic to talk about change in an indirect and global manner like other modal and temporal logics [5,4], in contrast with rewriting logic which is a logic of change. The idea is to make available attributes for making observations of the state of a system and action symbols to account for its elementary state changes. ...
Article
Full-text available
The Verification Logic for Rewriting Logic (VLRL) is a modal action logic in which rewrite rules are captured as actions. This paper studies a possible representation of the VLRL action formulae using the Next and the Until operators of Linear Temporal Logic (LTL). In particular, it studies the use of the Maude model checker to prove VLRL action formulae. Action modalities of VLRL fix the transition that will take place in a state and the context in which it will be applied, while LTL operators do not. Thus, to represent action modalities in LTL it is necessary to transform the initial rewrite theory into a new one in which the states carry the information about the transitions used and the context in which they have taken place. VLRL properties are then studied in the transformed theory by translating VLRL formulae into equivalent LTL formulae.
... In Maude we can use the model checker to describe properties defined with a modal logic of time. Furthermore, a spatial logic to describe properties in Maude specifications has also been studied [47,57]. ...
Article
This bibliography compiles, to the best of our knowledge, all the papers on rewriting logic and its applications which have been written during the more than 20 years that have passed since the introduction of rewriting logic in 1990. The papers are classified according to five main areas: foundations, logical and semantic framework, languages, tools, and applications.
Article
Full-text available
We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas we consider two substantial case studies. In the first one, we represent both the semantics of Milner's CCS and a modal logic for describing local capabilities of CCS processes. Although a rewriting logic representation of the CCS semantics is already known, it cannot be directly executed in the default interpreter of Maude. Moreover, it cannot be used to answer questions such as which are the successors of a process after performing an action, which is used to define the semantics of Hennessy-Milner modal logic. Basically, the problems are the existence of new variables in the righthand side of the rewrite rules and the nondeterministic application of the semantic rules, inherent to CCS. We show how these problems can be solved in a general, not CCS dependent way by controlling the rewriting process by means of reflection. This executable specification plus the reflective control of rewriting can be used to analyze CCS processes. The same techniques are also used to implement a symbolic semantics for LOTOS in our second case study. The good properties of Maude as a metalanguage allow us to implement a whole formal tool where LOTOS specifications without restrictions in their data types (given as ACT ONE specifications) can be executed. In summary, we present Maude as an executable semantic framework by providing easy-tool-building techniques for a language given its operational semantics.
Article
Full-text available
Abstract The Rewriting Calculus has been proposed as a foundational system combining the central ideas of - calculus and term rewriting The rewriting is explicit, in the sense that rules must be applied explicitly to terms to transform them This paper begins with an imperative version of the Rewriting Calculus called Rogue It then shows how Rogue can itself be conveniently implemented by an even more foundational system called MicroRogue MicroRogue rewrites terms using a global set of rst - order rules Rules can be enabled, disabled, and dynamically added in scopes, which can be pushed and popped MicroRogue also provides mechanisms for specifying evaluation order Using these primitives, a Rogue interpreter can be implemented in less than 40 lines of MicroRogue code
Article
Full-text available
La lógica de reescritura, propuesta por José Meseguer en 1990 como marco de unificación de modelos de computación concurrente, es una lógica para razonar sobre sistemas concurrentes con estado que evolucionan por medio de transiciones. Desde su definición, se ha propuesto a la lógica de reescritura como marco lógico y semántico en el cual poder expresar de forma natural otras muchas lógicas, lenguajes y modelos de computación. Además, la lógica de reescritura es ejecutable utilizando el lenguaje multiparadigma Maude cuyos módulos son teorías en la lógica de reescritura. El objetivo principal de esta tesis es extender la idea de la lógica de reescritura y Maude como marco semántico a la idea de marco semántico ejecutable. Este objetivo se ha abordado desde diferentes puntos de vista. En primer lugar, presentamos representaciones ejecutables de semántica operacionales estructurales. En concreto, hemos estudiado dos implementaciones diferentes de la semántica de CCS y su utilización para implementar la lógica modal de Hennessy-Milner; hemos realizado una implementación de una semántica simbólica para LOTOS incluyendo especificaciones de tipos de datos en ACT ONE que son traducidos a módulos Maude y de una herramienta que permite al usuario ejecutar directamente sus especificaciones LOTOS; y hemos utilizado las mismas técnicas para implementar otros tipos de semánticas operacionales de lenguajes funcionales e imperativos sencillos, incluyendo tanto semánticas de evaluación (o paso largo) como semánticas de computación (o paso corto). En segundo lugar, hemos querido contribuir al desarrollo de una metodología propuesta recientemente por Denker, Meseguer y Talcott para la especificación y análisis de sistemas basada en una jerarquía de métodos incrementalmente más fuertes, especificando y analizando tres descripciones ejecutables del protocolo de elección de líder dentro de la especificación del bus multimedia en serie IEEE 1394 (conocido como "FireWire"). En dos de estas descripciones hacemos especial énfasis en los aspectos relacionados con el tiempo, esenciales para este protocolo. Por último, hemos abordado la dotación de semántica formal a lenguajes de la web semántica, mediante la traducción del lenguaje de descripción de recursos web RDF (Resource Description Framework) a Maude y su integración con Mobile Maude, una extensión de Maude para permitir cómputos móviles.
Article
Full-text available
The differences between and appropriateness of branching versus linear time temporal logic for reasoning about concurrent programs are studied. These issues have been previously considered by Lamport. To facilitate a careful examination of these issues, a language, CTL*, in which a universal or existential path quantifier can prefix an arbitrary linear time assertion, is defined. The expressive power of a number of sublanguages is then compared. CTL* is also related to the logics MPL of Abrahamson and PL of Harel, Kozen, and Parikh. The paper concludes with a comparison of the utility of branching and linear time temporal logics.
Conference Paper
Full-text available
The discussion of the relative merits of linear-versus branching-time frameworks goes back to early 1980s. One of the beliefs dominating this discussion has been that “while specifying is easier in LTL (linear-temporal logic), verification is easier for CTL (branching-temporal logic)”. Indeed, the restricted syntax of CTL limits its expressive power and many important behaviors (e.g., strong fairness) can not be specified in CTL. On the other hand, while model checking for CTL can be done in time that is linear in the size of the specification, it takes time that is exponential in the specification for LTL. Because of these arguments, and for historical reasons, the dominant temporal specification language in industrial use is CTL. In this paper we argue that in spite of the phenomenal success of CTL-based model checking, CTL suffers from several fundamental limitations as a specification language, all stemming from the fact that CTL is a branching-time formalism: the language is unintuitive and hard to use, it does not lend itself to compositional reasoning, and it is fundamentally incompatible with semi-formal verification. These inherent limitations severely impede the functionality of CTL-based model checkers. In contrast, the linear-time framework is expressive and intuitive, supports compositional reasoning and semi-formal verification, and is amenable to combining enumerative and symbolic search methods. While we argue in favor of the linear-time framework, we also we argue that LTL is not expressive enough, and discusswhat would be the “ultimate” temporal specification language.
Chapter
Full-text available
This chapter concentrates on a challenging problem of information system specification and design, namely how to cope on a high level of abstrac- tion with concurrent behaviour and communication as implied by distribution. Since distributed information systems are reactive and open systems maintain- ing data bases and applications, it is crucial to develop high-level specification techniques that can cope with data and programs as well as with concurrent workflow and communication issues. Techniques from conceptual modeling, abstract data types, concurrent processes and communication protocols are rel- evant and have to be combined. In the approach presented here, temporal logic is used for specifying sequential object behaviour, and communication facilities are added for specifying interaction between concurrent objects. We study two distributed temporal logics dealing with communication in two different ways. D0 adds basic statements that can only express synchronous “calling” of predicates, while D1 adds much richer facilities for making local statements about other objects in their respective local logics. D0 is more operational and can be animated or implemented more easily, while D1 is intuitively more appealing and convenient for modeling and specification. We demonstrate by example how D1 can be effectively reduced to D0 in a sound and complete way.
Conference Paper
Full-text available
RDF looks like the first step to build the Semantic Web vi- sion. Our long-term goal is to have a sound way to verify and validate the semantic web interactions that applications and agents may develop in a distributed environment. The first step for reaching this goal is to provide a useful semantic support to RDF itself. Based on this formal support, properties may be analyzed, as well as transformations and ver- ifications can be performed. In this paper we propose an intuitive and formal semantics for RDF by means of a translation of RDF documents into executable object-oriented modules in the formal language Maude. This translation provides a semantics for RDF documents and allows programs managing them to be expressed in the same formalism, since Maude specifications are executable. Moreover, due to the reflective fea- tures of Maude, this translation can be implemented in Maude itself. Finally, translated RDF documents are integrated in an agent applica- tion written in Mobile Maude, that is, the same framework is used for both translating RDF documents and expressing the programs that ma- nipulate them.
Article
Full-text available
This paper presents an object-oriented database model for broadband telecommunication networks, which can be used both for network management and for network planning purposes. The object-oriented data model has been developed using the parallel object-oriented specification language Maude [8,11], which allows us to define not only structural aspects of the database, but also procedural aspects. Several modeling approaches are compared, emphasizing the definition of the object relationships and some of the procedural aspects of the model. 1 Introduction Maude is a specification language based on rewriting logic [7], which integrates equational and object-oriented programming in a satisfactory way. Its logical basis facilitates a clear definition of the object-oriented semantics and makes it a good choice for the formal specification of object-oriented systems. Rewriting logic was first proposed by Meseguer as a unifying framework for concurrency in 1990 [6]. Since then much work has b...
Article
Full-text available
This report describes the design and implementation of a model checker for linear time temporal logic. The model checker uses a depth-first search algorithm that attempts to find a minimal satisfying model and uses as little space as possible during the checking procedure. The depth-first nature of the algorithm enables the model checker to be used where space is at a premium. 1 Introduction Temporal logic has been widely used for the specification and verification of reactive systems. It has been successfully used to describe verifiable properties of state-machines derived from practical applications [CES83, BCDM84, GB88]. In this report we consider the verification of temporal properties of such state-machines through model-checking [CES83] (also known as satisfiability checking). Using this approach, a finite state-machine, often derived from some practical system, is checked to see if it satisfies various properties represented by temporal formulae. The satisfaction of these prope...
Article
In achieving their goals, programs manipulate data and thereby may change th state of the computer. Regarded as a dynamic system, the computer responds to program instructions and in so doing may change state. Activity and change are formalized by the operational semantics of programs and systems. Modal and temporal logics can directly express activity with their paradigm operators such as [a) (box a) when a is an action, and F. Where Φ is a proposition, [a)Φ expresses after every a action Φ holds while FΦ expresses eventually Φ holds. The modal operator [a] highlights the action that may provoke change of state whereas the temporal operator F focuses on the resulting changes. In both cases these operators may express properties of events that happen during a run of a system, events that may be crucial to understanding its overall behaviour. It is no accident that these logics can be used to express such notions. For their models comprehend structures that are encountered in operational semantics of programs and systems. These structures, (labelled) transition systems, are pivotal to this chapter.
Article
A temporal logic is defined which contains both linear and branching operators. The underlying model is the tree of all possible computations. The following metatheoretical results are proven: 1) an exponential decision procedure for satisfiability; 2) a finite model property; 3) the completeness of an axiomatization.
Article
This paper is part of a long-term effort to increase expressiveness of algebraic specification languages while at the same time having a simple semantic foundation on which efficient execution by rewriting and powerful theorem-proving tools can be based. In particular, our rewriting techniques provide semantic foundations for Maude's functional sublanguage, where they have been efficiently implemented. This effort started in the late 1970s, led by the ADJ group, who promoted equational logic and universal algebra as the semantic basis of program specification languages. An important later milestone was the work around order-sorted algebras and the OBJ family of languages developed at SRI-International in the 1980s. This effort has been substantially advanced in the mid-1990s with the development of Maude, a language based on membership equational logic. Membership equational logic is quite simple, and yet quite powerful. Its atomic formulae are equations and sort membership assertions, and its sentences are Horn clauses. It extends in a conservative way both (a version of) order-sorted equational logic and partial algebra approaches, while Horn logic with equality can be very easily encoded. After introducing the basic concepts of the logic, we give conditions and proof rules with which efficient equational deduction by rewriting can be achieved. We also give completion techniques to transform a specification into one meeting these conditions. We address the important issue of proving that a specification protects a subspecification, a property generalizing the usual notion of sufficient completeness. Using tree-automata techniques, we develop a test-set-based approach for proving inductive theorems about a parameterized specification. We briefly discuss a number of extensions of our techniques, including rewriting modulo axioms such as associativity and commutativity, having extra variables in conditions, and solving goals by narrowing. Finally, we discuss the generality of our approach and how it extends several previous approaches.
Article
This paper surveys the logical and mathematical foundations of CafeOBJ, which is a successor of the famous algebraic specification language OBJ but adds to it several new primitive paradigms such as behavioural concurrent specification and rewriting logic.We first give a concise overview of CafeOBJ. Then we focus on the actual logical foundations of the language at two different levels: basic specification and structured specification, including also the definition of the CafeOBJ institution. We survey some novel or more classical theoretical concepts supporting the logical foundations of CafeOBJ, pointing out the main results but without giving proofs and without discussing all mathematical details. Novel theoretical concepts include the coherent hidden algebra formalism and its combination with rewriting logic, and Grothendieck (or fibred) institutions. However, for proofs and for some of the mathematical details not discussed here we give pointers to relevant publications.The logical foundations of CafeOBJ are structured by the concept of institution. Moreover, the design of CafeOBJ emerged from its logical foundations, and institution concepts played a crucial rôle in structuring the language design.
Article
Maude is a high-level language and a high-performance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and theories. The underlying equational logic chosen for Maude is membership equational logic, that has sorts, subsorts, operator overloading, and partiality definable by membership and equality conditions. Rewriting logic is reflective, in the sense of being able to express its own metalevel at the object level. Reflection is systematically exploited in Maude endowing the language with powerful metaprogramming capabilities, including both user-definable module operations and declarative strategies to guide the deduction process. This paper explains and illustrates with examples the main concepts of Maude's language design, including its underlying logic, functional, system and object-oriented modules, as well as parameterized modules, theories, and views. We also explain how Maude supports reflection, metaprogramming and internal strategies. The paper outlines the principles underlying the Maude system implementation, including its semicompilation techniques. We conclude with some remarks about applications, work on a formal environment for Maude, and a mobile language extension of Maude.
Article
Rewriting with conditional rewrite rules modulo a set E of structural axioms provides a general framework for unifying a wide variety of models of concurrency. Concurrent rewriting coincides with logical deduction in conditional rewriting logic, a logic of actions whose models are concurrent systems. This logic is sound and complete and has initial models. In addition to general models interpreted as concurrent systems which provide a more operational style of semantics, more restricted semantics with an incresingly denotational flavor such as preorder, poset, cpo, and standard algebraic models appear as special cases of the model theory. This permits dealing with operational and denotational issues within the same model theory and logic. A programming language called Maude whose modules are rewriting logic theories is defined and given denotational and operational semantics. Maude provides a simple unification of concurrent programming with functional and object-oriented programming and supports high level declarative programming of concurrent systems.
Article
We formalise, using Category Theory, modularisation techniques for parallel and distributed systems based on the notion of superposition, showing that parallel program design obeys the “universal laws” formulated by Goguen for General Systems Theory, as well as other algebraic properties of modularity formulated for Specification Theory. The resulting categorical formalisation unifies the different notions of superposition that have been proposed in the literature and clarifies their algebraic properties with respect to modularisation. It also suggests ways of extending or revising existing languages in order to provide higher levels of reusability, modularity and incrementality in system design.
Conference Paper
In this paper we consider the Computation Tree Logic (CTL) proposed in [CE] which extends the Unified Branching Time Logic (UB) of [BMP] by adding an until operator. We establish that CTL has the small property by showing that any satisfiable CTL formulae is satisfiable in a small finite model obtained from a small -&-ldquo;pseudo-model-&-rdquo; resulting from the Fischer Ladner quotient construction. We then give an exponential time algorithm for deciding satisfiability in CTL, and extend the axiomatization of UB given in [BMP] to a complete axiomatization for CTL. Lastly, we study the relative expressive power of a family of temporal logics obtained by extending or restricting the syntax of UB and CTL.
Conference Paper
The inheritance anomaly [23] refers to the serious difficulty in combining inheritance and concurrency in a simple and satisfactory way within a concurrent object-oriented language. The problem is closely connected with the need to impose synchronization constraints on the acceptance of a message by an object. In most concurrent object-oriented languages this synchronization is achieved by synchronization code controlling the acceptance of messages by objects. Synchronization code is often hard to inherit and tends to require extensive redefinitions. The solutions that have appeared so far in the literature to alleviate this problem seem to implicitly assume that better, more reusable, mechanisms are needed to create and structure synchronization code. The approach taken in this paper is to consider the inheritance anomaly as a problem caused by the very presence of synchronization code. The goal is then to completely eliminate synchronization code. This is achieved by using order-sorted rewriting logic, an abstract model of concurrent computation that is machine-independent and extremely fine grain, and that can be used directly to program concurrent object-oriented systems. Our proposed solution involves a distinction between two different notions of inheritance, a type-theoretic one called class inheritance, and a notion called module inheritance that supports reuse and modification of code. These two different notions address two different ways in which the inheritance anomaly can appear; for each of them we propose declarative solutions in which no explicit synchronization code is ever used.
Conference Paper
We enrich the object-oriented + concurrent specification language Maude with language constructs for reuse and gain a high degree of code reusability. We consider three reuse constructs: (1) Maude's inheritance relation, (2) an algebra of messages and (3) the construct of a subconfiguration. By employing these constructs for different kinds of reuse, we show for all examples of the seminal paper on the inheritance anomaly [11] how to circumvent the inheritance anomaly. Our running example is the bounded buffer.
Conference Paper
A generic formal model of distributed object reflection is proposed, that combines logical reflection with a structuring of distributed objects as nested configurations of metaobject that can control subobjects under them. The model provides mathematical models for a good number of existing models of distributed reflection and of reflective middleware. To illustrate the ideas, we show in some detail how two important models of distributed actor reflection can be naturally obtained as special cases of our generic model, and discuss how several recent models of reflective middleware can be likewise formalized as instances of our model.
Conference Paper
We develop an application of the reflective properties of rewriting logic to the specification of the management process of broad-band telecommunications networks. The application is illustrated by a process that modifies the demand of a service between two nodes in the network. The strategy language selected for controlling the process is based on the one presented in [2] which has been enhanced with a new operation that applies a strategy over a set of objects. The specification of the system is developed in the rewriting logic language Maude, which, thanks to its reflective capabilities, can also be used for specifying internally the strategies that control the system. Several modeling approaches are compared, emphasizing the benefits obtained from using reflection to control the rewriting process as opposed to the extra effort required to control the process at the object level itself.
Conference Paper
Without Abstract
Conference Paper
We define a propositional version of the -calculus, and give an exponential-time decision procedure, small model property, and complete deductive system. We also show that it is strictly more expressive than PDL. Finally, we give an algebraic semantics and prove a representation theorem.
Article
Starting from a deontic specification modelling the behaviour of a system, we show how it is possible to reason about the temporal properties of the normative behaviours of that system. In particular, we show how safety and liveness properties can be derived, respectively, from permission and obligation structures. A formal relationship is thus established between the recently proposed deontic accounts of behaviour, that are more action-oriented, and the already traditional and successful property-oriented frameworks based on temporal logics.
Article
This paper presents an object-oriented model for broadband telecommunication networks, which can be used both for network management and for network planning purposes. The object-oriented model has been developed using the parallel object-oriented specification language Maude, which allows us to define not only structural aspects of the model but also procedural aspects. The reflective properties of rewriting logic are applied to control the rewriting process, using a strategy language that can be specified internally to the logic. Several modeling approaches are compared, emphasizing the definition of the object relationships and the benefits obtained from using reflection as opposed to the extra effort required to control the process at the object level itself.
Article
ELAN implements computational systems, a concept that combines two first class entities: rewrite rules and rewriting strategies. ELAN can be used either as a logical framework or to describe and execute deterministic as well as non-deterministic rule-based ...
Article
ELAN implements computational systems, a concept that combines two first class entities: rewrite rules and rewriting strategies. ELAN can be used either as a logical framework or to describe and execute deterministic as well as non-deterministic rule-based processes. With the general goal to make precise a rewriting logic-based semantics of ELAN, this paper has three contributions: a presentation of the concepts of rules and strategies available in ELAN, an expression of rewrite rules with matching conditions in conditional rewriting logic, and finally an enrichment mechanism of a rewrite theory into a strategy theory in conditional rewriting logic.
Article
In this paper timed rewriting logic is presented and its application to the specification of real-time object-oriented systems is shown by an example.Time rewriting logic (TRL) is an extension of Meseguer's rewriting logic. The functional and the static properties of a system are described by algebraic specifications, whereas the behaviour of a process is described by nondeterministic term rewriting where each rewriting step is labelled by a time stamp or a time interval.Thus our approach is similar to timed transition systems and can be seen as a generalization of timed automata combined with algebraic specifications. The approach is illustrated by several examples, such as clocks, time out and timer.As the main application we present Timed Maude, an object-based specification language for real-time concurrent systems. Timed Maude is a timed variant of Meseguer's language Maude which is based on rewriting logic. The algebraic specification part and the module part of Maude are kept unchanged in Timed Maude, only concurrent rewriting is replaced by TRL.
Article
In this paper, we bring together the use of temporal logic for specifying concurrent systems, in the tradition initiated by A. Pnueli, and the use of tools from category theory as a means for structuring specifications as combinations of theories in the style developed by R. Burstall and J. Goguen. As a result, we obtain a framework in which systems of interconnected components can be described by assembling the specifications of their components around a diagram, using theory morphisms to specify how the components interact. This view of temporal theories as specification units naturally brings modularity to the description and analysis of systems. Moreover, it becomes possible to import into the area of formal development of reactive systems the wide body of specification techniques that have been defined for structuring specifications independently of the underlying logic, and that have been applied with great success in the area of Abstract Data Types. Finally, as a discipline of design, we use the object-oriented paradigm according to which components keep private data and interact by sharing actions, with a view towards providing formal tools for the specification of concurrent objects.
Conference Paper
The Ambient Calculus is a process calculus where processes may reside within a hierarchy of locations and modify it. The purpose of the calculus is to study mobility, which is seen as the change of spatial configurations over time. In order to describe properties of mobile computations we devise a modal logic that can talk about space as well as time, and that has the Ambient Calculus as a model.
Article
The popularity of the notion of object for structuring (the specification of) systems has not been accompanied by the necessary formalisation of the concepts and constructions involved. We have a well developed theory of abstract data types that explains how to structure specifications based on the notion of value, but objects involve imperative notions such as those of action and state which are not well captured in an applicative way. In this paper, we focus on the development of an alternative framework to support systems design based on the concept of object. We provide a notion of object signature around which we define the notion of locality (encapsulation). We adopt a deontic action logic for the description of objects. We define the notion of morphism between object descriptions, and show how these notions can be used to combine object descriptions and, in this way, define the behaviour of societies of interacting objects. And, finally, we show by means of an example ho...
Article
This paper proposes a declarative paradigm in which parallelism is implicit and machine-independent, and the programs so developed are intrinsically parallel. This paradigm is obtained by generalizing the notion of rewriting to make it more widely applicable and capable of expressing not only functional computations but also a wide variety of parallel computations that are highly nonfunctional in nature. The generalization in question is provided by rewriting logic, a logic of change in which the states of a system are understood as algebraically axiomatized data structures, and the basic local changes that can concurrently occur in a system are axiomatized as rewrite rules that correspond to local patterns that, when present in the state of a system, can change into other patterns. Simple Maude, a carefully designed sublanguage of rewriting logic supporting three types of rewriting -- term, graph, and object-oriented --, is then proposed as a machine-independent parallel programming ...
Article
Abstract The paper presents an axiomatic system for quantified propositional temporal logic (qptl), which is propositional temporal logic equipped with quantification over propositions (boolean variables). The advantages of this extended temporal logic is that its expressive power is strictly higher than that of the unquantified version (ptl) and is equal to that of S1S, as well as that of !-automata. Another important application of qptl is its use for formulating and verifying refinement relations between reactive systems. In fact, the completeness proof is based on the reduction of a qptl formula into a Buchi automaton, and performing equivalence transformations on this automata, formally justifying these transformations. 1 Introduction For a long time, temporal logics have been mainly used for the specification and verification of properties of reactive systems. According to this approach, a system is specified by a list of properties, all of which should be satisfied by any acc...
Article
The very success and breadth of reflective techniques underscores the need for a general theory of reflection. At present what we have is a wide-ranging variety of reflective systems, each explained in its own idiosyncratic terms. Metalogical foundations can allow us to capture the essential aspects of reflective systems in a formalismindependent way. This paper proposes metalogical axioms for reflective logics and declarative languages based on the theory of general logics [34]. In this way, several strands of work in reflection, including functional, equational, Horn logic, and rewriting logic reflective languages, as well as a variety of reflective theorem proving systems are placed within a common theoretical framework. General axioms for computational strategies, and for the internalization of those strategies in a reflective logic are also given. 1
10), (5.13), (5.14) y (4.62) para obtener el resultado. operaciones sobre estados
  • Aplicar Las Propiedades
Aplicar las propiedades (5.10), (5.13), (5.14) y (4.62) para obtener el resultado. operaciones sobre estados (en este caso, solo ):
((blOnBl x,y ∧ ¬blHold x ) ⊃ [α 1 ](blOnBl x,y ∨ blHold x ), (blOnBl x,y ∧ ¬blHold x ) ⊃ [α 2 ](blOnBl x,y ∨ blHold x ) true, true ⊃ (blOnBl x,y ∧ ¬blHold x ) ⊃ [ (α 1
  • Operaciones Sobre Estados
operaciones sobre estados: 12. ((blOnBl x,y ∧ ¬blHold x ) ⊃ [α 1 ](blOnBl x,y ∨ blHold x ), (blOnBl x,y ∧ ¬blHold x ) ⊃ [α 2 ](blOnBl x,y ∨ blHold x ) true, true ⊃ (blOnBl x,y ∧ ¬blHold x ) ⊃ [ (α 1, α 2 )](blOnBl x,y ∨ blHold x )
obtenemos el resultado deseado usando la propiedad estructural (5.18)
  • Finalmente
Finalmente, obtenemos el resultado deseado usando la propiedad estructural (5.18).
International Workshop on Application of Formal Methods to IEEE 1394 Standard , páginas 39–43
  • J Romijn
  • C Shankland
J. Romijn y C. Shankland, editores, International Workshop on Application of Formal Methods to IEEE 1394 Standard, páginas 39–43. Berlín, Alemania, marzo 2001.
volumen 15 de Electronic Notes in Theoretical Computer Science, páginas 273–294
  • C En
  • H Kirchner
  • Kirchner
En C. Kirchner y H. Kirchner, editores, Proceedings Second International Workshop on Rewriting Logic and its Applications, WRLA'98, Pont-` a- Mousson, France, September 1–4, 1998, volumen 15 de Electronic Notes in Theoretical Computer Science, páginas 273–294. Elsevier, 1998. http://www.elsevier.nl/locate/entcs/volume15.html.
  • J W En
  • J De Bakker Y
  • Van Leeuwen
En J. W. de Bakker y J. van Leeuwen, editores, Proceedings 7 th ICALP, Noordwijkerhout, volumen 85 de Lecture Notes in Computer Science, páginas 299–309. Springer-Verlag, julio 1980.
por la propiedad derivada de las observaciones (5.13) tenemos blOnBl a,b ⊃ ¬blHold a por lo que blOnBl a,b ≡ blOnBl a,b ∧ ¬blHold a . Entonces, usando la propiedad estructural (5.17), blOnBl x
  • Ahora Nótese Que
Ahora nótese que, por la propiedad derivada de las observaciones (5.13) tenemos blOnBl a,b ⊃ ¬blHold a por lo que blOnBl a,b ≡ blOnBl a,b ∧ ¬blHold a. Entonces, usando la propiedad estructural (5.17), blOnBl x,y ⊃ [ (α 1, α 2 )]( (blOnBl x,y ∨ blHold x ), true).
N 2 no son variables de estado, podemos aplicar (4.15): #blocks = N ⊃ ∃N 1
  • N Dado Que
Dado que N, N 1, N 2 no son variables de estado, podemos aplicar (4.15): #blocks = N ⊃ ∃N 1, N 2.[ (α 1, α 2 )] #blocks = N 1, #blocks = N 2 ∧ [ (α 1, α 2 )](N = N 1 + N 2 ).