Results 1  10
of
26
Logic in Computer Science: Modelling and Reasoning about Systems
, 1999
"... ion. ACM Transactions on Programming Languages and Systems, 16(5):15121542, September 1994. Bibliography 401 [Che80] B. F. Chellas. Modal Logic  an Introduction. Cambridge University Press, 1980. [Dam96] D. R. Dams. Abstract Interpretation and Partition Refinement for Model Checking. PhD thesi ..."
Abstract

Cited by 268 (8 self)
 Add to MetaCart
ion. ACM Transactions on Programming Languages and Systems, 16(5):15121542, September 1994. Bibliography 401 [Che80] B. F. Chellas. Modal Logic  an Introduction. Cambridge University Press, 1980. [Dam96] D. R. Dams. Abstract Interpretation and Partition Refinement for Model Checking. PhD thesis, Institute for Programming research and Algorithmics. Eindhoven University of Technology, July 1996. [Dij76] E. W. Dijkstra. A Discipline of Programming. Prentice Hall, 1976. [DP96] R. Davies and F. Pfenning. A Modal Analysis of Staged Computation. In 23rd Annual ACM Symposium on Principles of Programming Languages. ACM Press, January 1996. [EN94] R. Elmasri and S. B. Navathe. Fundamentals of Database Systems. Benjamin/Cummings, 1994. [FHMV95] Ronald Fagin, Joseph Y. Halpern, Yoram Moses, and Moshe Y. Vardi. Reasoning about Knowledge. MIT Press, Cambridge, 1995. [Fit93] M. Fitting. Basic modal logic. In D. Gabbay, C. Hogger, and J. Robinson, editors, Handbook of Logic in Artificial In...
A Logic Framework for a Semantics of Object Oriented Data Modelling
 Proceedings of the OOER’95, 14th International ObjectOriented and EntityRelationship Modelling Conference, volume 1021 of Lecture Notes in Computer Science
, 1995
"... We describe a (meta) formalism for defining a variety of (object oriented) data models in a unified framework based on a variation of firstorder logic. As specific example we use an extended OO model, NORM, involving entities, lexical types, constraints and message passing. We illustrate how essent ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
(Show Context)
We describe a (meta) formalism for defining a variety of (object oriented) data models in a unified framework based on a variation of firstorder logic. As specific example we use an extended OO model, NORM, involving entities, lexical types, constraints and message passing. We illustrate how essential properties of object orientation such as information hiding, encapsulation, inheritance and behavior may be generically described, as well as the fundamental distinction with objectoriented programming, namely persistence. A formal semantics for these concepts can so be given independently of the chosen data model. The logical metamodelling framework, called Data Modelling Logic or DM logic, has been demonstrated in earlier work to adequately support "classical " data models such as (E)ER, NIAM, and the Relational Model, and socalled lossless transformations between them. By "programming " an OO data model in DM Logic, it should become possible to arrive at objective relationships between (OO and other) data modelling techniques, and to rigorously separate the implementation issues (OODBMS, CASE tools) from the conceptual issues. As an example, we show how the concept of an (OO)DBMS as a global state, and so at odds with the localization principle inherent in OO, may in a certain welldefined sense be seen as equivalent in DM Logic to a model using local states respecting encapsulation and information hiding. Area: Integrating the ER and OO technologies 21
Running Programs Backwards: the Logical Inversion of Imperative
, 2003
"... Imperative programs can be inverted directly from their forwarddirected program code with the use of logical inference. The relational semantics of imperative computations treats programs as logical relations over the observable state of the environment, which is taken to be the state of the variab ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
Imperative programs can be inverted directly from their forwarddirected program code with the use of logical inference. The relational semantics of imperative computations treats programs as logical relations over the observable state of the environment, which is taken to be the state of the variables in memory. Program relations denote both forward and backward computations, and the direction of the computation depends upon the instantiation pattern of arguments in the relation. This view of inversion has practical applications when the relational semantics is treated as a logic program. Depending on the logic programming inference scheme used, execution of this relational program can compute the inverse of the imperative program. A number of nontrivial imperative computations can be inverted with minimal logic programming tools.
Interactive verification of statecharts
 In Integration of Software Specification Techniques (INT'02
, 2002
"... Abstract This paper presents an approach to the integration of statecharts, temporal logic and algebraic specification within an interactive verification environment. Currently some integrated formalisms exist [13, 7], but there is no proof support for theses approaches. Also model checkers are able ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
(Show Context)
Abstract This paper presents an approach to the integration of statecharts, temporal logic and algebraic specification within an interactive verification environment. Currently some integrated formalisms exist [13, 7], but there is no proof support for theses approaches. Also model checkers are able to prove temporal properties of statecharts [3, 10], but they can only be used to verify properties based on a small, finite data domain. Our goal is to provide a uniform, interactive proof support for verifying temporal properties of statecharts with algebraic data types and functions over infinite data domains. As an implementation platform the KIV system [2] is used. The semantics of statecharts is based on [6], which formalizes the STATEMATE semantics of statecharts [12].
Randomly Sampling Molecules
 SIAM Journal on Computing
, 1996
"... We give the first polynomialtime algorithm for the following problem: Given a degree sequence in which each degree is bounded from above by a constant, select, uniformly at random, an unlabelled connected multigraph with the given degree sequence. We also give the first polynomialtime algorithm ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
(Show Context)
We give the first polynomialtime algorithm for the following problem: Given a degree sequence in which each degree is bounded from above by a constant, select, uniformly at random, an unlabelled connected multigraph with the given degree sequence. We also give the first polynomialtime algorithm for the following related problem: Given a molecular formula, select, uniformly at random, a structural isomer having the given formula.
Flaw Detection in Formal Specifications
, 2001
"... In verification of finite domain models (model checking) counterexamples help the user to identify, why a proof attempt has failed. In this paper we present an approach to construct counterexamples for firstorder goals over infinite data types, which are defined by algebraic specifications. The ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
In verification of finite domain models (model checking) counterexamples help the user to identify, why a proof attempt has failed. In this paper we present an approach to construct counterexamples for firstorder goals over infinite data types, which are defined by algebraic specifications. The approach avoids the implementation of a new calculus, by integrating counterexample search with the interactive theorem proving strategy. The paper demonstrates, that this integrations requires only a few modifications to the theorem proving strategy.
Tactics in KIV
, 1994
"... This paper describes the use of tactics in the KIV proof environment for interactive, machinesupported proofs. Software verification is used as an example for a special application. We present the basic concepts of proof trees and tactics in KIV, and a suitable proof method, tactics, automated supp ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper describes the use of tactics in the KIV proof environment for interactive, machinesupported proofs. Software verification is used as an example for a special application. We present the basic concepts of proof trees and tactics in KIV, and a suitable proof method, tactics, automated support, and proof engineering facilities for module verification.
Semantic Equality of Tables
, 1999
"... This thesis presents an algorithm to determine semantic equality of two given tables used in software documentations. Tabular notation is seen to be a useful method for formal specification of software systems [8]. Verification of the software specification is an important part of software life cycl ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This thesis presents an algorithm to determine semantic equality of two given tables used in software documentations. Tabular notation is seen to be a useful method for formal specification of software systems [8]. Verification of the software specification is an important part of software life cycle when software is used in safety critical environments. Industries such as Ontario Hydro invest time and money to ensure that their design of safety critical software corresponds to specification [13]. In this thesis we present an algorithm to verify whether two given tabular expressions specify the same relation. This algorithm is useful in verifying whether the design corresponds to specification. This algorithm handles all tables described in [1]. We also present the design of a prototype tool which implements this algorithm, which can help us automate the verification of software design.
Function Composition Tool
, 1998
"... Experience has shown that the issue of software documentation cannot be ignored if safe reliable software is the goal. To be useful, software documentation should be easy to manipulate. Function tables are a natural way of documenting software through the use of mathematical tabular notation. The ne ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Experience has shown that the issue of software documentation cannot be ignored if safe reliable software is the goal. To be useful, software documentation should be easy to manipulate. Function tables are a natural way of documenting software through the use of mathematical tabular notation. The need has been expressed for a tool to automatically generate the mathematical composition of two function tables, which would document the sequential execution of two programs. The Function Composition Tool is a prototype toward this end. The tool is based on existing algorithms using normal function tables, and their extensions to vector function tables. This work involves the design and implementation of the software. Supporting software enables the execution of test suites on the tool. iii Acknowledgements I would like to express my appreciation for the efforts and advice of my supervisors, Dr. David L. Parnas and Dr. Martin von Mohrenschildt, and those of the defense committee, Dr. Emil ...
Modeling And Analysis in Software Engineering
, 2011
"... One of the languages used in the industrial practice of the modeldriven development (MDD) is UMLRT. The language is a proper profile of UML 2 and it targets especially development of embedded systems. In UMLRT, UMLRT State Machines are used to model behavior. This paper presents a technique for ..."
Abstract
 Add to MetaCart
(Show Context)
One of the languages used in the industrial practice of the modeldriven development (MDD) is UMLRT. The language is a proper profile of UML 2 and it targets especially development of embedded systems. In UMLRT, UMLRT State Machines are used to model behavior. This paper presents a technique for a symbolic execution of these machines, which introduces modular treatment of action code. This feature clearly separates the symbolic execution of the state machine itself from the symbolic execution of its action code and thus facilitates support of different action languages. The separation is achieved via a formalization of UMLRT State Machines in which functions are used to represent the result of the symbolic execution of the action code. Key parts of the technique are formalized, an implementation is presented and an example is used to illustrate the symbolic execution itself and how it can be used for different purposes including reachability analysis, invariant checking, output analysis and test case generation. The evaluation of our tool on two case studies is also discussed. 1