From Predicates to Programs: The Semantics of a Method Language

@article{Faitelson2007FromPT,
  title={From Predicates to Programs: The Semantics of a Method Language},
  author={David Faitelson and James Welch and J. Davies},
  journal={Electron. Notes Theor. Comput. Sci.},
  year={2007},
  volume={184},
  pages={171-187}
}
This paper explains how a declarative method language, based upon the formal notations of Z and B, can be used as a basis for automatic code generation. The language is used to describe the intended effect of operations, or methods, upon the components of an object model; each method is defined by a pair of predicates: a precondition, and a post-condition. Following the automatic incorporation of model invariants, including those arising from class associations, these predicates are extended… Expand
Automatic Maintenance of Association Invariants
TLDR
This paper shows how association invariants can be expressed in a new, object-based formal language and explains how these expressions can be used to determine pre- and post-conditions for local operations, sufficient to ensure that the invariants are maintained. Expand
On the generation of object databases using booster
TLDR
This paper explores how the specification of an object database design can be formalized in terms of method preconditions, method postconditions, and invariant properties - many of which will correspond to integrity constraints for the data representation. Expand
On the generation of object databases using booster
TLDR
This paper explores how the specification of an object database design can be formalized in terms of method preconditions, method postconditions, and invariant properties - many of which will correspond to integrity constraints for the data representation. Expand
Domain-specific Semantics and Data Refinement of Object Models
This paper shows how a domain-specific semantics for object models can be used to support the development of transformations that reflect a particular implementation strategy. The semantics capturesExpand
Rule-based translation of specifications to executable code
TLDR
In the domain of database applications, this work proposes a rule-based algorithm to translate software requirements written in Z specifications to Delphi/SQL code via a set of formal rules and Delphi /SQL libraries. Expand
Generation of database schemas from Z specifications
TLDR
A set of translation functions from Z to SQL for the generation of a database are derived and results in reducing the expenses and duration of the software development, and also prevents the errors originated from the manual translation of specifications to code. Expand
Program synthesis from domain specific object models
TLDR
The thesis argues that the Booster semantics is a better model of object oriented systems and describes a simple but effective code generation technique that is based on interpreting postconditions as executable statements and uses weakest preconditions to ensure that the generated code refines its specification. Expand
Behavioural Specifications from Class Models
TLDR
This paper illustrates a technique to automatically derive intra-object behaviours (in the form of state diagrams) from an object model that proves successful and scalable for specific domains of application such as database systems and e-commerce websites. Expand
Automatic maintenance of association invariants
TLDR
This paper introduces a formal, object-based modelling notation in which the process of extension and implementation, and thus the maintenance of association invariants, can be automated, making it easier to produce correct implementations of an object-oriented design. Expand
Translation of Z specifications to executable code: Application to the database domain
TLDR
The proposed approach can be used to build the correct prototype of a database application from its specification and reduces the overall cost of the development of database applications because early validation reveals requirement errors sooner in the software development cycle. Expand
...
1
2
...

References

SHOWING 1-10 OF 21 REFERENCES
Automatic maintenance of association invariants
TLDR
This paper introduces a formal, object-based modelling notation in which the process of extension and implementation, and thus the maintenance of association invariants, can be automated, making it easier to produce correct implementations of an object-oriented design. Expand
A Weakest Precondition Semantics for Z
TLDR
This paper actually construct a weakest precondition semantics from a relational semantics proposed by the Z standards panel and additionally establishes an isomorphism between weakest precONDitions and relations. Expand
Formality, Evolution, and Model-driven Software Engineering
TLDR
The approach is evolutionary, in the sense that the specification may evolve while the system is in use, in response to changes in requirements, and any changes to the specification are automatically reflected in the structure of the implementation and in the representation of any data currently stored. Expand
Use of a Nonprocedural Specification Language and Associated Program Generator in Software Development
TLDR
The Model II language and the associated program generator are used to explain and illustrate the use of very high level nonprocedural languages for computer programming and the methodology incorporated in the existing program generator is reviewed. Expand
How to reconcile formal specifications and automatic programming: the Descartes system
TLDR
The Descartes system, which, based on formal specifications written in a mathematical language, generates an executable program written in procedural programming language, has been used for several industrial applications. Expand
A generalization of Dijkstra's calculus
  • Greg Nelson
  • Computer Science
  • ACM Trans. Program. Lang. Syst.
  • 1989
TLDR
This paper gives a self-contained account of the generalized calculus from first principles through the semantics of recursion through the fixpoint method from denotational semantics. Expand
The Spec# Programming System: An Overview
TLDR
The goals and architecture of thespec# programming system, consisting of the object-oriented Spec# programming language, the Spec# compiler, and the Boogie static program verifier, are described. Expand
Programming from specifications
  • Carroll Morgan
  • Computer Science
  • Prentice Hall International Series in computer science
  • 1990
TLDR
This second edition features substantial restructuring of earlier material, streamlining the introduction of programming language features; simplified presentation of procedures, parameters and recursion; an expanded chapter on data refinement, giving the much simpler laws that specialize to functional abstractions. Expand
Toward automatic program synthesis
TLDR
An elementary outline of the theorem-proving approach to automatic program synthesis is given, without dwelling on technical details, and the relation between the version of the induction rule used and the form of the program constructed is explored. Expand
MDA explained - the Model Driven Architecture: practice and promise
TLDR
Insight is given in what MDA means and what you can achieve, both today and in the future, thereby raising the level of maturity of the IT industry. Expand
...
1
2
3
...