331. Substate as part of a composite state. See a composite state, a concurrent subste, a mutually subjoint subste. 332. Substitutability PrinciPle gives a definition of a variable or parameter declared by the x, any instance of any X off -gena can use the actual value without violating the semantics of the declaration and use. This is alternative. Sexual rules. In other words, an example of a descendant element can replace the ancestral element. (This is the contribution of Barbara Liskov), which is generalization, inheritance, inheritance, interface inheritance, polymorphic, private inheritance. The purpose of discussing alternative rules is to make the polymorphism operation work normally. This is not a logical rule, but provides a practical programming rule for encapsulation. The generalization relationship supports alternative. Alternative rules make children can't remove or give up its father's properties. Otherwise, the child cannot replace the place where his father is declared. 333. Subsystem as a package consisting of an overall handling element, including a declaration of the content of the package as an intrinsic overall processing. Subsystems are modeled into packets and classes. The subsystem has a collection of interfaces that describe its links to other parts of the system and where they can be used. See the interface, package, realization. The semantic subsystem is an intrinsic part of the system that can be used as a abstract independent unit. It represents a part of a part of the system naturally happens. As a whole, it has its own behavioral statement and implementation. Its behavior declaration defines naturally occurring as a whole, it and other sub-system interactions. Its behavior declares gives the use case and other behavioral elements. The implementation is described in the form of an accessory element constituting its content, and is given as a collection of collaboration between elements. The system itself constitutes the topmost subsystem. The implementation of a subsystem can be written into some low-grade subsystems. In this manner, the entire system can be extended to the hierarchy tree of the subsystem until the bottom of the sub-system is defined in a normal class. Subsystems may contain structural elements and declaration elements, such as use cases and operations exported by subsystems. Subsystem declarations are achieved by structural elements. The behavior of the subsystem is actually the behavior of the elements in it. The declaration of the structure to a subsystem contains an element specified as a declarative element, along with an operation and interface that is defined as a whole in a subsystem. The declaration elements include use cases, limitations, and use cases between the use. These elements and operations define the subsystem as the behavior executed by the natural entity, that is, its net results in each of its partially cooperative work. The use case declare the complete interaction order of the subsystem and the external operator. The declaration did not explain how the various parts interact with the necessary behavior. The other elements in the subsystem achieve its behavior. This may contain various types of elements and their connection. A collection of cooperation between subsystem contact elements to achieve this statement. Typically, each use case is implemented by one or more cooperation. Each cooperative description How to achieve an instance of an element cooperate to complete the behavior of the use case or the operational declaration. All arrivals and departments of the declaration level must be mapped to its implementation elements and other sub-system implementation elements. The subsystem is a package, with the characteristics of the package. In particular, the introduction of the subsystem works like the description of the package, and the generalization between the subsystem has the same visibility as it. The representation method is expressed as a package symbol (with a small label) containing the key Subsystem's package (rectangle with a small label) in the subsystem name. Figure 13-175. Discussing considering a subsystem, it is in a natural grouping of design elements, such as logical classes. A component is a natural packet that implements elements, such as a class that achieves a level. In many cases, the subsystem is implemented as a component. This simplifies mapping from design to implementation.