5239234
The role of secondary attributes in formal object modelling
When modelling a large and complex system, clarity of the specification becomes an important factor. In object-oriented specification, the states of individual objects are captured by the values of their attributes. Frequently however, there are dependencies between the attributes of an object. An appropriate indication of which attributes are primary (independent) and which are secondary (dependent) can add significantly to clarity. This paper details the notion of secondary attributes, their roles and implications in formal object-oriented specification.
8032652
Class Union and Polymorphism
13839820
Relating /spl pi/-calculus to Object-Z
Software systems have become increasingly distributed, dynamic and mobile. The complex state and dynamic interfaces of software components and their concurrent interactions provide challenging research issues in system specification and design. An effective combination of structured state-based formalism and dynamic action-based calculus may be a good solution for modeling complex distributed mobile systems. In this paper, we investigate the semantic links between Object-Z and /spl pi/ calculus and consequently introduce a powerful specification technique PiOZ that brings the strengths of the two together. The operational semantics of PiOZ integrates state transition semantics of Object-Z and /spl pi/-calculus reduction rules. The typing rules of PiOZ are developed and reasoning of a system property is presented.
8741871
Living with free type and class union
There are two constructs in the formal specification language Object-Z for modelling polymorphic and recursive structures. One construct, the free type, is adopted from the Z specification language. The other, class-union, facilitates polymorphic class declarations. Free type and class-union constructs are respectively based upon the functional value point of view and the object reference point of view. Consequently, the roles these two constructs perform in system modelling are different. The free type and class-union constructs are compared and discussed through various examples. The aim of this comparison and discussion is to present guidelines on how to appropriately and effectively use these two constructs to specify polymorphic and recursive structures.
168887
On analysis of design component contracts: a case study
Software patterns are a new design paradigm used to solve problems that arise when developing software within a particular context. Patterns capture the static and dynamic structure and collaboration among the components in a software design. A key promise of the pattern-based approach is that it may greatly simplify the construction of software systems out of building blocks and thus reuse experience and reduce cost. However, it also introduces significant problems in ensuring the integrity and reliability of these composed systems because of their complex software topologies, interactions, and transactions. There is a need to capture these features as a contract through a formal model that allows us to analyze pattern-based designs. In this paper, we provide a formal framework for ensuring the integrity of the compositions in object-oriented designs by providing mathematically rigorous modeling and analysis techniques for object-oriented systems comprising pattern-based designs as the basic building blocks or design components. A case study related to a hypermedia Web-based application is presented to illustrate our approach in distributed systems.
16855794
Towards trusted composition in software design
In this paper, we investigate the issues on software composition at the design level. A formal framework for component composition, replacement, refinement in software design is proposed. This framework can help software designers to design software systems from existing design components and to rigorously analyze these systems. Thus, wrong design decisions, errors, and inconsistencies can be detected early in the development process.
31098795
Multipoint Fine-Scale Mapping Susceptibility Genes with Multiple Ancestral Haplotypes
17418612
Visualizing design patterns with a UML profile
In this paper, we present a UML profile which defines new stereotypes, tagged values and constraints for visualizing design patterns in UML diagrams. These new stereotypes and tagged values are attached to a modeling element to explicitly represent the role the modeling element plays in a design pattern so that the user can identify the pattern in a UML diagram.
14829052
A formal framework for design component contracts
Building large software systems out of existing software components can save time and cost. These software components range from architectural and design components in different phases of software development. Component technologies lead to increasing productivity and flexibility. However, it also introduces significant problems in ensuring the integrity and reliability of these composed systems because of their complex software topologies, interactions, and transactions. In this paper, we concentrate on the pattern-based design components and their compositions, which are captured as contracts through a composition theory. More specifically, design component contract is defined based on process calculus and logic programming; the properties that related to the design component contract are captured, and tools are used to automatically verify these properties. This research will enhance the capabilities of formal system modeling and analysis by providing a rigorous basis for high-assurance integration of diverse pattern-based components.