Rahul Sharma (Editor)

OMTROLL

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

OMTROLL basically is an Object-oriented modeling idea that has been formulated by combining the traditional Object Modelling Approaches(OMT) and the formal specifications of the TROLL language. OMTROLL was basically created so as to: exploit the practical analysis of OMT, eliminate the ambiguity and vagueness in OMT, and to exploit the formal system specifications provided bt TROLL.

Contents

Brief History

There has been considerable research going on, over the past years in the areas of Object Oriented Analysis and Object Oriented formal specifications. OMT life cycle analysis concentrates mainly in software development practice whereas TROLL, oblog, FOOPS etc. are formal languages developed mainly with a mathematical background, having their roots in logic, algebra, set theory etc. The need to combine these two areas of Object Oriented approaches into a single formalism, is because the OO analysis methods do not reach the level of ordering achieved by the formal specification languages. These formal languages are being used research and applied in various software development projects.

TROLL vs OMT

TROLL is a formal language used to specify an object system. It is more concerned with the dynamic behaviour of an object over time. In TROLL, an object can change in a discrete manner due to certain events. The object can be created by the occurrence of certain events (birth event) and ended by the occurrence of certain other events(death events). The current state of an object is specified by it attributes. A role is the part played by an object temporarily and a specialization is the role played by it permanently. Objects can also be components of other objects-composite objects, or may be connected by means of some interaction. Also views can be defined that contain only certain information of the current state of the object. Now the central idea of TROLL is to interpret such an object as a set of observable sequential processes. So the object lifetime would be a series of events occurring on the object, and the current state of the object would depend on all the events that have occurred on it in the past.

OMT model of a system consists of: (a)The Object model represents the structure of objects in the system, similar to an ER diagram. (b)The Dynamic model shows the control aspects of the system like time, interactions between objects etc. (c)The Functional model defines the meaning of operations and how values are changed due to interactions in the system. Now the drawback of OMT is that the various operations on the object are spread over into 3 different models, causing a relationship among the entities in different models (like the dynamic and object model)to become abstract. Also the communication can only be represented in the functional model.

Stages in System Analysis

System analysis basically consists of following stages:

a)Structure analysis: gives the details of the hierarchical and organizational structure of the system.

b)Task analysis: Like its name, it determines which task is done, when it is done and who did it. It processes the input and shows how the output is obtained.

c)Communication analysis: show how relationships are established between operations, and class interactions.

d)Document analysis: describes the documents and rules that are used in the system.

e)Process analysis: gives information about the execution of operations.

Behaviour Diagram

These are also called State Transition Diagrams. They define the behaviour of the system. They are usually modelled in the initial stages. There are 2 main states- initial and final state. The transition from one state to another is based on conditions/actions. The behavioural diagram is further refined to details.

Community Model

The community model gives an overview of all the object classes and the concurrent objects of the system. An Object class encapsulates the data that describes objects of the same structure and behaviour. A complex object class can have single or multiple components.

A complex object class contains many objects. An object can perform various actions at a particular time, but cannot have a concurrency within itself. Also an object class that isn’t involved in any sort of relationship(component/specialization) is called an independent object class.

Object Class Declaration Diagram

This diagram shows the object attributes and their domains, and optional parameters. Object attributes can be :

i)Object-valued: these are the attributes that behave like a pointer/ reference to the object. These may further be Single or multiple object-valued attributes. Constructors like: set, list, bag, map can be used with multiple object-valued attributes.

ii)Data-valued

A community diagram along with its corresponding object class diagram forms the structural part of a system.

Communication diagram

As its name suggests, it diagrammatically represents the communication between objects of the system. OMT doesn't support interaction between objects, so the communication diagram is introduced in OMTROLL. The boxes represent the class and inner boxes refer to events. These event boxes are connected by means of arrows. A precondition can be assigned to events. Communication within a complex object class is also possible.Communication can be of 2 types-a complex object communicating with its components, or concurrent objects communicate with each other.

Data type diagram

For specifying attributes and actions we use user-defined data types (nat,int(integer), real,bool(boolean), string,date etc.). Using these types we construct new data types like lists, records, enumeration etc.

References

OMTROLL Wikipedia