A New Approach to Reliable, yet Flexible Software

Abbas Rasoolzadegan
2011 International Conference on Advanced Information Systems Engineering  
Developing reliable, yet flexible software is a hard problem. Formal methods take a precise approach to software development, delivering reliable software; however, in addition to high cost involvements, they require a level of expertise that is not common in commercial development communities. These limitations lead to decreasing their practicality. Semi-formal methods, which are widely used in practical large-scale software development, do not take a rigorous approach to reliability of
more » ... e in development. Investigation of advantages and limitations of semi-formal and formal methods, theoretically (by surveying the literature) and empirically (by defining a suitable case study), shows that combination of both methods ensures achieving high quality models which in turn lead to flexibility and more reliable software. This work proposes a new approach to integrate formal (Object-Z) and semi-formal (UML) notations using a bidirectional, precise, and consistent meta-model-based transformation. Accordingly, software is initially modeled using Object-Z. These formal models, along with formal refinement ensure reliability. With an iterative and evolutionary approach, formal models are visualized in UML. Applying design patterns on visualized models improves flexibility. The improved models are then re-formalized.
dblp:conf/caise/Rasoolzadegan11 fatcat:wia6anjqjjcq7l352bh3snmq5y