18927685
Developing Quality Software Systems Using the SOFL Formal Engineering Method
Formal Engineering Methods are a bridge from Formal Methods to industrial applications. In this paper I describe the relation between formal engineering methods and formal methods, and present a specific formal engineering method SOFL (Structured Object-Oriented Formal Language) for developing quality software systems. I explain how SOFL can be applied in practice through examples.
11127695
The semantics of extended SOFL
SOFL (structured-object-based-formal language) has been extended to a formal object-oriented language and method while keeping its structured features. This extension allows powerful object-oriented reuse mechanisms, such as class inheritance and object composition, to be utilized in the early design phases. This paper presents the semantics for this extended SOFL, and further demonstrates the extendibility and reusability of the object-oriented semantic models of SOFL.
36526611
Formal Engineering for Industrial Software Development - An Introduction to the SOFL Specification Language and Method
Formal methods have been developed as a rigorous approach to computer systems development over last three decades, but have been facing challenges in fighting for industrial acceptance in general. Most commonly used formal methods do not offer comprehensible structuring mechanism for building complex systems; formal refinement is not sufficient to deal with real development situations; and formal verification requires high skills and is time-intensive, and is therefore expensive to be adopted by industry.
7952210
Semi-automatic transformation from formal specifications to programs
As model-based formal methods (e.g. VDM, Z) are becoming popular for the development of safety-critical and complex systems in industry, automatic transformation from formal specifications to programs is an ideal and efficient approach to software production. However, it is impossible in general for this transformation to be fully automatic, because the language of first order logic used for specification is not decidable. This paper uses VDM (Vienna Development Method) as an example to investigate this difficulty, and proposes an approach to address the problem. Rules for automatically transforming abstract level VDM specifications are described and further transformation at a detailed level is discussed. Finally, further work towards the construction of a rule-based software system to support the transformation from VDM specifications to programs in general is addressed.
1673600
Inferring Data Transformation Rules to Integrate Semantic Web Services
OWL-S allows selecting, composing and invoking Web Services at different levels of abstraction: selection uses high level abstract descriptions, invocation uses low level grounding ones, while composition needs to consider both high and low level descriptions. In our setting, two Web Services are to be composed so that output from the upstream one is used to create input for the downstream one. These Web Services may have different data models but are related to each other through high and low level descriptions. 
 
Correspondences must be found between components of the upstream data type and the downstream ones. Low level data transformation functions may be required (e.g. unit conversions, data type conversions). The components may be arranged in different XML tree structures. Thus, multiple data transformations are necessary: reshaping the message tree, matching leaves by corresponding types, translating through ontologies, and calling conversion functions. Our prototype compiles these transformations into a set of data transformation rules, using our tableau-based ALC Description Logic reasoner to reason over the given OWL-S and WSDL descriptions, as well as the related ontologies. A resolution-based inference mechanism for running these rules is embedded in an inference queue that conducts data from the upstream to the downstream service, running the rules to perform the data transformation in the process.
11824549
An approach to detecting domain errors using formal specification-based testing
Domain testing, a technique for testing software or portions of software dominated by numerical processing, is intended to detect domain errors that usually arise from incorrect implementations of desired domains. This paper describes our recent work aiming to provide support for revealing domain errors using formal specifications. In our approach, formal specifications serve as a means for domain modeling. We describe a strong domain testing strategy that guide testers to select a set of test points so that the potential domain errors can be effectively detected, and apply our approach in two case studies for test cases generation.
14849633
A study of Japanese software process practices and a potential for improvement using SOFL
The goal of this paper is to examine the Japanese experience with the software development process, the challenges they face and how formal engineering methods, in particular SOFL (structured object-oriented formal language), can help overcome these problems. We also recommend additional management tools and documents that can aid organizations in achieving a higher CMM rating through the use of SOFL.