Abstract:JOOSL is an object-oriented formal specification language, which can be used to describe requirement specification, preliminary design and detailed design of an object-oriented software. From the view point of specification method, requirement specification is about the same as priliminary design. In these specifications the data and operations should be described abstractly. The detailed design is concerned with specifying algorithmic details and concrete data representations. In JOOSL, an object is considered as an abstract state machine and inheritance is defined as sharing of behavior.