Results 1 -
7 of
7
A Reification Calculus for Model-Oriented Software Specification
- Formal Aspects of Computing
, 1990
"... Abstract. This paper presents a transformational approach to the derivation of implementations from model-oriented specifications of abstract data types. The purpose of this research is to reduce the number of formal proofs required in model refinement, which hinder software development. It is shown ..."
Abstract
-
Cited by 21 (11 self)
- Add to MetaCart
Abstract. This paper presents a transformational approach to the derivation of implementations from model-oriented specifications of abstract data types. The purpose of this research is to reduce the number of formal proofs required in model refinement, which hinder software development. It is shown to be applicable to the transformation of models written in Meta-iv (the specification language of Vdm) towards their refinement into, for example, Pascal or relational DBMSs. The approach includes the automatic synthesis of retrieve functions between models, and data-type invariants. The underlying algebraic semantics is the so-called final semantics “à la Wand”: a specification “is ” a model (heterogeneous algebra) which is the final object (up to isomorphism) in the category of all its implementations. The transformational calculus approached in this paper follows from exploring the properties of finite, recursively defined sets. This work extends the well-known strategy of program transformation to model transformation, adding to previous work on a transformational style for operationdecomposition in META-IV. The model-calculus is also useful for improving model-oriented specifications.
CAMILA: Prototyping and Refinement of Constructive Specifications
- 6th Int. Conf. Algebraic Methods and Software Technology (AMAST
, 1997
"... . This paper accompanies the demonstration of Camila, an experimental platform for formal software development, rooted in the tradition of constructive specification methods. The Camila approach is an attempt to make available at software development level the basic problem solving strategy one got ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
. This paper accompanies the demonstration of Camila, an experimental platform for formal software development, rooted in the tradition of constructive specification methods. The Camila approach is an attempt to make available at software development level the basic problem solving strategy one got used to from school physics --- create, experiment and reason on a mathematical model. Based on a notion of formal software component, it encompasses a set-theoretic language and an inequational calculus for classification and refinement. Its kernel is a functional prototyping environment, fully connectable to external applications, equipped with a classified component repository and distribution facilities.
CAMILA: Formal Software Engineering Supported by Functional Programming
- Proc. II Conf. Latino Americana de Programacin Funcional (CLaPF97
, 1997
"... . This paper describes two experiences in teaching a formal approach to software engineering, at undergraduate level, supported by Camila, a functional programming based tool. Carried on in different institutions, each of them addresses a particular topic in the area: requirement analysis and generi ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
. This paper describes two experiences in teaching a formal approach to software engineering, at undergraduate level, supported by Camila, a functional programming based tool. Carried on in different institutions, each of them addresses a particular topic in the area: requirement analysis and generic systems design in the first case, specification and implementation development in the second. Camila, the framework common to both experiences, animates a set-based language, extended with a mild use of category theory, which can be reasoned upon for program calculation and classification purposes. The project affiliates itself to, but is not restricted to, the research in exploring Functional Programming as a rapid prototyping environment for formal software models. Its kernel is fully connectable to external applications and equipped with a component repository and distribution facilities. The paper explains how Camila is being used in the educational practice, as a tool to think with,...
CAMILA: A Reference Manual
, 1996
"... This report is a preliminary version of a Reference Manual for the Camila prototyping language, describing in detail the set constructors and primitive functions available. An introduction to the prototyping environment is also included. The first subsection of Section 2 describes the set constructo ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
This report is a preliminary version of a Reference Manual for the Camila prototyping language, describing in detail the set constructors and primitive functions available. An introduction to the prototyping environment is also included. The first subsection of Section 2 describes the set constructors which form the basic data models in the
Coinductive Interpreters for Process Calculi
- In Sixth International Symposium on Functional and Logic Programming, volume 2441 of LNCS
, 2002
"... This paper suggests functional programming languages with coinductive types as suitable devices for prototyping process calculi. The proposed approach is independent of any particular process calculus and makes explicit the dierent ingredients present in the design of any such calculi. In partic ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
This paper suggests functional programming languages with coinductive types as suitable devices for prototyping process calculi. The proposed approach is independent of any particular process calculus and makes explicit the dierent ingredients present in the design of any such calculi. In particular structural aspects of the underlying behaviour model become clearly separated from the interaction structure which de nes the synchronisation discipline. The approach is illustrated by the detailed development in Charity of an interpreter for a family of process languages.
Prototyping Processes
- Proc. of AGP'99 - Joint Conference on Declarative Programming
, 1999
"... Construction and observation are two basic notions in Computer Science corresponding to precise dual mathematical concepts: those of algebra and coalgebra. This paper introduces a simple coalgebraic model for concurrent processes and discusses its animation in the declarative language Charity. I ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Construction and observation are two basic notions in Computer Science corresponding to precise dual mathematical concepts: those of algebra and coalgebra. This paper introduces a simple coalgebraic model for concurrent processes and discusses its animation in the declarative language Charity. It is argued that the ability to reason in an uniform way about data and behaviour, provides an unifying approach to functional prototyping of software specifications. Keywords: Coalgebraic models, prototyping, higher-order programming. 1
The Transformational Paradigm as a Means of Smoothing Abrupt Software Design Steps
, 1985
"... Current state-of-the-art methods and specification languages devised for software design have not yet accomplished a completely satisfactory calculus of formal rules enabling a smooth, deductive style of software development. ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Current state-of-the-art methods and specification languages devised for software design have not yet accomplished a completely satisfactory calculus of formal rules enabling a smooth, deductive style of software development.

