80,298 research outputs found
Object-oriented Programming Laws for Annotated Java Programs
Object-oriented programming laws have been proposed in the context of
languages that are not combined with a behavioral interface specification
language (BISL). The strong dependence between source-code and interface
specifications may cause a number of difficulties when transforming programs.
In this paper we introduce a set of programming laws for object-oriented
languages like Java combined with the Java Modeling Language (JML). The set of
laws deals with object-oriented features taking into account their
specifications. Some laws deal only with features of the specification
language. These laws constitute a set of small transformations for the
development of more elaborate ones like refactorings
Object orientation without extending Z
The good news of this paper is that without extending Z,
we can elegantly specify object-oriented systems, including encapsulation,
inheritance and subtype polymorphism (dynamic dispatch). The
bad news is that this specification style is rather different to normal
Z specifications, more abstract and axiomatic, which means that it is
not so well supported by current Z tools such as animators. It also enforces
behavioural subtyping, unlike most object-oriented programming
languages. This paper explains the proposed style, with examples, and
discusses its advantages and disadvantages
A Graph-based Semantics For Object-oriented Programming Constructs
AbstractThis paper presents a graph-based formalism for object-oriented class structure specifications. The formalism combines labelled graphs with partial orders, to adequately model the (single) inheritance relation among objects and the overriding relation between methods within derived classes. The semantics of system extension by inheritance and aggregation is then defined as colimits in a suitable category of object-oriented system specifications and their morphisms
Object Oriented Concepts Identification from Formal B Specifications
AbstractThis paper addresses the graphical representation of static aspects of B specifications, using UML class diagrams. These diagrams can help understand the specification for stakeholders who are not familiar with the B method, such as customers or certification authorities. The paper first discusses some rules for a preliminary derivation of a class diagram. It then studies the consistency of the concepts preliminarily identified from an object oriented point of view. A formal concept analysis technique is used to distinguish between consistent classes, attributes, associations and operations. The proposed technique is to incrementally add operations to the formal specification which automatically result in evolution of the class diagram
- ā¦