# Modeling perspective

A modeling perspective in information systems is a particular way to represent pre-selected aspects of a system. Any perspective has a different focus, conceptualization, dedication and visualization of what the model is representing.
The traditional way to distinguish between modeling perspectives is structural, functional and behavioral/processual perspectives. This together with rule, object, communication and actor and role perspectives is one way of classifying modeling approaches.

## Types of perspectives
### Structural modeling perspective

This approach concentrates on describing the static structure. The main concept in this modeling perspective is the entity, this could be an object, phenomena, concept, thing etc.
The data modeling languages have traditionally handled this perspective, examples of such being:
* The ER-language (Entity-Relationship)
* Generic Semantic Modeling language (GSM)
* Other approaches including:
   * The NIAM language (Binary relationship language)
   * Conceptual graphs (Sowa)
Looking at the ER-language we have the basic components:
* Entities: Distinctively identifiable phenomenon.
* Relationships: An association among the entities.
* Attributes: Used to give value to a property of an entity/relationship.
Looking at the generic semantic modeling language we have the basic components:
* Constructed types built by abstraction: Aggregation, generalization, and association.
* Attributes.
* Primitive types: Data types in GSM are classified into printable and abstract types.
   * Printable: Used to specify visible values.
   * Abstract: Representing entities.

### Functional modeling perspective

The functional modeling approach concentrates on describing the dynamic process. The main concept in this modeling perspective is the process, this could be a function, transformation, activity, action, task etc. A well-known example of a modeling language employing this perspective is data flow diagrams.
The perspective uses four symbols to describe a process, these being:
* Process: Illustrates transformation from input to output.
* Store: Data-collection or some sort of material.
* Flow: Movement of data or material in the process.
* External Entity: External to the modeled system, but interacts with it.
Now, with these symbols, a process can be represented as a network of these symbols. This decomposed process is a DFD, data flow diagram.

### Behavioral perspective

Behavioral perspective gives a description of system dynamics. The main concepts in behavioral perspective are states and transitions between states. State transitions are triggered by events. State Transition Diagrams (STD/STM), State charts and Petri-nets are some examples of well-known behaviorally oriented modeling languages. Different types of State Transition Diagrams are used particularly within real-time systems and telecommunications systems.

### Rule perspective

Rule perspective gives a description of goals/means connections. The main concepts in rule perspective are rule, goal and constraint. A rule is something that influences the actions of a set of actors. The standard form of rule is “IF condition THEN action/expression”. Rule hierarchies (goal-oriented modeling), Tempora and Expert systems are some examples of rule oriented modeling.

### Object perspective

The object-oriented perspective describes the world as autonomous, communicating objects. An object is an “entity” which has a unique and unchangeable identifier and a local state consisting of a collection of attributes with assignable values. The state can only be manipulated with a set of methods defined on the object. The value of the state can only be accessed by sending a message to the object to call on one of its methods. An event is when an operation is being triggered by receiving a message, and the trace of the events during the existence of the object is called the object’s life cycle or the process of an object. Several objects that share the same definitions of attributes and operations can be parts of an object class. The perspective is originally based on design and programming of object oriented systems. Unified Modelling Language (UML) is a well known language for modeling with an object perspective.

### Communication perspective

This perspective is based on language/action theory from philosophical linguistics. The basic assumption in this perspective is that person/objects cooperate on a process/action through communication within them.
An illocutionary act consists of five elements: Speaker, hearer, time, location and circumstances. It is a reason and goal for the communication, where the participations in a communication act is oriented towards mutual agreement. In a communication act, the speaker generally can raise three claims: truth (referring an object), justice (referring a social world of the participations) and claim to sincerity (referring the subjective world of the speaker).

### Actor and role perspective

Actor and role perspective is a description of organisational and system structure. An actor can be defined as a phenomenon that influences the history of another actor, whereas a role can be defined as the behaviour which is expected by an actor, amongst other actors, when filling the role. Modeling within these perspectives is based both on work with object-oriented programming languages and work with intelligent agents in artificial intelligence. I* is an example of an actor oriented language.