Image
The image architecture model provides a mechanism to dynamically change the structure and behavior of the software system, which is divided into two main parts: one metalayer and one basic layer. The meta-hierarchy provides a software self-representation to give the software's own structure and behavior knowledge. The meta-hierarchy is composed of so-called meta-objects. The basic level defines the applicationProgramLogic, using Meta objects to maintain the independence of these aspects that may be changed.
A Meta level is composed of a group of meta objects. Each meta object encapsulates the selected information about the structure, behavior, or status of the basic level, such information has three sources:
1) It can be provided by the environment during system operation.
2) It can provide user-defined.
3) it can be retrieved at the basic level during running.
The base level simulates and implements the application logic of the software. Its components represent various services provided by the system and the data models below them. The basic level also describes the basic collaboration and structural relationship of the components it contains.
The meta-object protocol (MOP) is an external interface of the meta-level, and the implementation of an image system is obtained in a defined way. The client program of the meta-object protocol can describe the modification of the meta-object or its relationship using the basic level. The client program may be a basic level component, other applications or authorized users. The object protocol itself is responsible for implementing these changes. This provides an image application with explicit control over its own modifications.
The meta object protocol is usually designed as an independent component, which supports the implementation of functions for several meta object operations.
The image architecture is generally similar to a hierarchical system. The meta level and basic level are two levels, each of which provides its own interface. The basic level describes the user interfaces for developing application functions, and the meta-level defines the meta-object protocol for modifying the meta-object.
Advantages:
1) not directlySource code.
2) It is easy to change a software system.
3) supports many types of changes.
Disadvantages:
1) modification at the meta level may cause faults.
2) added the number of components.
3) low efficiency.
4) Not all potential changes to the software are supported.
5) Not all languages Support images.