Modeling Object-Oriented Constraint Programs in Z
Title: Modeling Object-Oriented Constraint Programs in Z
Abstract: This research aims to develop a formal specification for object-oriented constraint programs (OOCPs) using Z, a formal notation for describing systems. The goal is to create a universal model that captures the intricacies of OOCPs, including object relationships and constraints. This specification will be applicable to a wide range of industrial applications, such as configuration problems, and will support proofs, making it an essential tool for the development and analysis of OOCPs.
Research Question: How can Z, a formal notation for describing systems, be used to create a universal model for object-oriented constraint programs (OOCPs) that captures the intricacies of OOCPs, including object relationships and constraints?
Methodology: The research team used Z, a formal notation for describing systems, to create a specification for OOCPs. This specification included an object system that was part of the Z notation, capturing all the advanced notions from the object-oriented modeling standard UML. The research team illustrated the issues and the conciseness and precision of Z by specifying a working OOCP that solved an historical AI problem: parsing a context-free grammar.
Results: The research team successfully created a Z-based specification for OOCPs that captured the intricacies of OOCPs, including object relationships and constraints. This specification was applicable to a wide range of industrial applications, such as configuration problems, and supported proofs, making it an essential tool for the development and analysis of OOCPs.
Implications: The research team's work has significant implications for the field of OOCPs. The Z-based specification provides a universal model that can be applied to a wide range of industrial applications, making it easier to develop and analyze OOCPs. Additionally, the specification's support for proofs means that developers can ensure the correctness of their OOCPs, which is a critical aspect of any software development.
Link to Article: https://arxiv.org/abs/0312020v1 Authors: arXiv ID: 0312020v1