6 research outputs found

    Behavioural and abstractor specifications

    Get PDF
    AbstractIn the literature, one can distinguish two main approaches to the definition of observational semantics of algebraic specifications. On one hand, observational semantics is defined using a notion of observational satisfaction for the axioms of the specifications and, on the other hand, one can define observational semantics by abstraction with respect to an observational equivalence relation between algebras. In this paper, we present an analysis and a comparative study of the different approaches in a more general framework which subsumes the observational case. The distinction between the different observational concepts is reflected by our notions of behavioural specification and abstractor specification. We provide necessary and sufficient conditions for the semantical equivalence of both kinds of specifications and we show that behavioural specifications can be characterized by an abstractor construction and, vice versa, abstractor specifications can be characterized in terms of behavioural specifications. Hence, there exists a duality between both concepts which allows to express each one by the other. We also study the relationships to fully abstract algebras which can be used for a further characterization of behavioural semantics. Finally, we provide proof-theoretic results which show that behavioural theories of specifications can be reduced to standard theories of some classes of algebras

    Behavioural reasoning for conditional equations

    Get PDF
    Object-oriented (OO) programming techniques can be applied to equational specification logics by distinguishing visible data from hidden data (that is, by distinguishing the output of methods from the objects to which the methods apply), and then focusing on the behavioural equivalence of hidden data in the sense introduced by H. Reichel in 1984. Equational specification logics structured in this way are called hidden equational logics, HELs. The central problem is how to extend the specification of a given HEL to a specification of behavioural equivalence in a computationally effective way. S. Buss and G. Roşu showed in 2000 that this is not possible in general, but much work has been done on the partial specification of behavioural equivalence for a wide class of HELs. The OO connection suggests the use of coalgebraic methods, and J. Goguen and his collaborators have developed coinductive processes that depend on an appropriate choice of a cobasis, which is a special set of contexts that generates a subset of the behavioural equivalence relation. In this paper the theoretical aspects of coinduction are investigated, specifically its role as a supplement to standard equational logic for determining behavioural equivalence. Various forms of coinduction are explored. A simple characterisation is given of those HELs that are behaviourally specifiable. Those sets of conditional equations that constitute a complete, finite cobasis for a HEL are characterised in terms of the HEL's specification. Behavioural equivalence, in the form of logical equivalence, is also an important concept for single-sorted logics, for example, sentential logics such as the classical propositional logic. The paper is an application of the methods developed through the extensive work that has been done in this area on HELs, and to a broader class of logics that encompasses both sentential logics and HELs. © 2007 Cambridge University Press.FCT via UIM

    Closure properties for the class of behavioral models

    Get PDF
    Hidden k-logics can be considered as the underlying logics of program specification. They constitute natural generalizations of k-deductive systems and encompass deductive systems as well as hidden equational logics and inequational logics. In our abstract algebraic approach, the data structures are sorted algebras endowed with a designated subset of their visible parts, called filter, which represents a set of truth values. We present a hierarchy of classes of hidden k-logics. The hidden k-logics in each class are characterized by three different kinds of conditions, namely, properties of their Leibniz operators, closure properties of the class of their behavioral models, and properties of their equivalence systems. Using equivalence systems, we obtain a new and more complete analysis of the axiomatization of the behavioral models. This is achieved by means of the Leibniz operator and its combinatorial properties. © 2007 Elsevier Ltd. All rights reserved.FCT via UIM

    Proving Behavioural Theorems with Standard First-Order Logic

    No full text
    . Behavioural logic is a generalization of first-order logic where the equality predicate is interpreted by a behavioural equality of objects (and not by their identity). We establish simple and general su#cient conditions under which the behavioural validity of some first-order formula with respect to a given first-order specification is equivalent to the standard validity of the same formula in a suitably enriched specification. As a consequence any proof system for first-order logic can be used to prove the behavioural validity of first-order formulas. 1 Introduction Observability plays a prominent role in formal software development, since it provides a suitable basis for defining adequate correctness concepts. For instance, for proving the correctness of a program with respect to a given specification, many examples show that it is essential to abstract from internal implementation details and to rely only on the observable behaviour of the program. A similar situation is the not..

    Proving Behavioural Theorems with Standard First-Order Logic

    No full text
    . Behavioural logic is a generalization of first-order logic where the equality predicate is interpreted by a behavioural equality of objects (and not by their identity). We establish simple and general sufficient conditions under which the behavioural validity of some first-order formula with respect to a given first-order specification is equivalent to the standard validity of the same formula in a suitably enriched specification. As a consequence any proof system for first-order logic can be used to prove the behavioural validity of first-order formulas. 1 Introduction Observability plays a prominent role in formal software development, since it provides a suitable basis for defining adequate correctness concepts. For instance, for proving the correctness of a program with respect to a given specification, many examples show that it is essential to abstract from internal implementation details and to rely only on the observable behaviour of the program. A similar situation is the n..

    Abordagem algébrica à igualdade observacional

    Get PDF
    Mestrado em MatemáticaA especificação algébrica de sistemas de software é um importante tópico dos denominados métodos formais de desenvolvimento de software. Neste contexto, modelam-se programas por álgebras e as suas computações por termos, recorrendo-se aos resultados da Álgebra Universal e da Lógica, como ferramentas de verificação e apoio ao processo de implementação. Em grande parte dos trabalhos sobre o tema presentes na literatura, usa-se a Lógica Equacional como lógica de suporte a estes processos. Contudo, esta lógica mostra-se limitada para a especificação de programas Orientados a Objectos, nomeadamente na especificação de programas com dados encapsulados. A separação entre os aspectos internos e externos do sistema induz uma nova perspectiva do conceito de modelação, segundo a qual, um objecto se considera como sendo uma realização correcta do sistema, se satisfaz os seus requisitos observacionalmente, isto é, se os resultados das computações sobre si executadas satisfazem esses requisitos, podendo não os satisfazer em sentido estrito. Seguindo esta linha de ideias, dois objectos de software são considerados equivalentes quando se comportam da mesma forma perante todas as possíveis computações. Este paradigma é denominado por Abordagem Observacional de Sistemas. Uma forma de adequar a Lógica Equacional a esta abordagem, é pela substituição da igualdade estrita pela relação de Igualdade Observacional, segundo a qual dois elementos se consideram iguais quando se comportam da mesma forma perante qualquer computação, isto é, se produzem os mesmos outputs perante as mesmas computações. Neste trabalho estuda-se a abordagem observacional de sistemas segundo diferentes grupos de investigação, com especial atenção aos trabalhos da Lógica Escondida (por Goguen-Rosu), Lógica Comportamental e Observacional (por Bidoit-Hennicker) e da Lógica Algébrica (por Pigozzi- Martins). Um ponto central do texto é a generalização do processo de desenvolvimento de software por Refinamento Passo-a-Passo a este paradigma. Aprofundam-se aqui algumas variantes deste tópico, incluindo o caso onde se admitem encapsulamentos e desencapsulamentos de dados durante o processo de refinamento. Numa primeira fase do texto o assunto é apresentado ao nível mais geral das especificações algébricas estruturadas (e não exclusivamente do caso das especificações flat) e das igualdades comportamentais (congruências parciais arbitrárias). ABSTRACT: The algebraic specification of software systems is an important topic of socalled formal methods of software development. In this context, programmes are modelled by algebras and computations executed over them by terms, using up the results from Universal Algebra and Logic, as verification and support tools for the implementation process. In a large majority of the works about this subject, it uses the Equational Logic as support logic for these processes. However, this logic is too restrictive for the specification of objectoriented programs, namely, in the programs specification with encapsulated data. The split between the internal and external aspects of the system, induces a new perspective of the modelling concept, whereby an object is considered a correct realization of the system if satisfies observationally their requirements, that is, if the results of computations over it executed satisfies these requirements and being able not to satisfy them in the strict sense. Following this principle, two software objects are considered equivalent when behave the same way at all possible computations. This paradigm is called Observational Approach of Systems. One way to adjust the Equational Logic to the observational approach is by replacing the strict equality by the relation of Observational Equality, according to which two elements are considered equal when behave the same way at the same computations, i.e., if they produce the same outputs before the same computations. We follow this approach according to different research groups, with special attention to the work of Behavioural and Observational Logic (by Bidoit- Hennicker), the Hidden Logic (by Goguen-Rosu) and Abstract Algebraic Logic (by Pigozzi-Martins). A central point of the text is the generalization of the software development process by stepwise refinement to this paradigm. Here some variants of this topic are explored including the case where encapsulated and desencapsulated data are allowed during the refinement process. In a first stage of the text, the subject is presented to a more general level of structured specifications (and not exclusively the case of flat specifications) and the Behavioural Equalities (arbitrary partial congruence)
    corecore