A calculus of refinements for program derivations
Acta Informatica
Programming from specifications
Programming from specifications
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Program development by stepwise refinement
Communications of the ACM
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Chapter I: Notes on structured programming
Structured programming
Data Refinement: Model-Oriented Proof Methods and their Comparison
Data Refinement: Model-Oriented Proof Methods and their Comparison
SFI: A Refinement Based Layered Software Architecture
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Refactoring Towards a Layered Architecture
Electronic Notes in Theoretical Computer Science (ENTCS)
Testing and verifying invariant based programs in the SOCOS environment
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Using stepwise feature introduction in practice: an experience report
RISE'05 Proceedings of the Second international conference on Rapid Integration of Software Engineering Techniques
Software development and experimentation in an academic environment: the Gaudi experience
PROFES'05 Proceedings of the 6th international conference on Product Focused Software Process Improvement
Hi-index | 0.00 |
We study a method for software construction that is based on introducing new features to an evolving system one by one. A layered software architecture is proposed to support this method. We show how to describe the software with UML diagrams. We provide an exact semantics for the UML diagrams employed in the software architecture, using refinement calculus as the logical framework and show how to reason about software correctness in terms of these UML diagrams.