systems in the disciplines - Man – made System Natural System Social System
• Identify the Attributes of Complex
systems Outline • Structure of Complex Systems in the disciplines • Man-made System, for example, Personal Computer • Natural System, for example, Plants • Social System, for example, Education System in India
• Five Attributes of Complex systems
• Hierarchic Structure • Relative Primitives • Separation of Concerns • Common Patterns • Stable Intermediate Forms Building Blocks of Complex Systems - Recap • Personal Computer • Gates – NAND, Inverter, etc • Interconnections • Plants • Cells – different types • Vessels • Education System in India • Knowledge Delivery – Contact, Remote, MOOCs • Examination – Written, Oral, Practical • Admission • Graduation Complex Systems are Hierarchic - Recap • Each level of Hierarchy represents a Layer of Abstraction • Each Layer • Is built on top of other layers: CMOS Gates NAND Gates Registers; Cells Branch Roots Roots; Departments Colleges Universities • (in turn) Supports other layers: CMOS Gates NAND Gates Registers; Cells Branch Roots Roots; Departments Colleges Universities • Is independently understandable: CPU; Leaf; College • Works independently with clear separation of concerns: ALU, Memory; Roots, Leaves; Departments, Library • Common services / properties are shared across Layers: Same power-tree feeds the components of CPU; Oxygen supply to Roots, Stems, and Leaves; NKN is shared between Institutes, Departments use the same telephone system • Layers together show Emergent Behavior Behavior of the whole is greater than the sum of its parts • Systems demonstrate cross-domain commonality: Cars have processors, memory, display; Cells are constituents of Plants & Animals; Similar leave policy for Teachers and Staff of PSUs Five Attributes of Complex systems • Describe various attributes of a complex system 5M R13 - 13A05602 –OOADM- Dec 2016 • State and explain five attributes of a complex system 10M R13 - 13A05602 –OOADM- May/June 2016
Five Attributes of Complex systems are
1. Hierarchic Structure 2. Relative Primitives 3. Separation of Concerns 4. Common Patterns 5. Stable Intermediate Forms Hierarchic Structure • All systems are composed of interrelated sub-systems • Sub-systems are composed of sub-sub-systems and so on • Lowest level sub-systems are composed of elementary components • All sub-systems are parts of larger systems • Architecture of a complex system is a function of its components as well as the hierarchic relationships among its components We can understand only those complex systems that have a hierarchic structure Relative Primitives • Choice of the components for Primitives – strongly dependent on the experience and expertise of the observer / designer
• Primitive of one observer / designer may be
at a much higher level of abstraction of another
Choice of the components in a system for
primitive is relatively arbitrary and is largely depends on the discretion of the observer/designer of the system Separation of Concerns • Hierarchic Systems are: •Decomposable – Can be divided into identifiable parts • Nearly decomposable – Parts are not completely independent
Intra-component Linkages Inter-component Linkage
Involve interactions within the Involve interactions across components structure of the component For example, interactions between CPU For example, interactions within the and memory Central Processing Unit (CPU) Stronger Weaker High frequency dynamics of the Low frequency dynamics of the components components
Difference between intra and inter component interactions
provides a clear separation of concerns among the various parts of a system – helps the analysis and design in isolation Common Patterns • Complex systems have Common Patterns • For example, Processors in Personal computer, Processors in Cars, Processors in Mobile Phones etc • Knowledge of Processor in Personal computer is helpful to study Processors in Cars and Mobile Phones etc • Complex Systems are composed of only a few different kinds of subsystems in various combinations and arrangements (cells found in both plants and animals etc) • Common patterns may involve the reuse of small components, such as cells found in plants and animals, or of larger structures, such as vascular systems found in plants and animals
• Common Patterns are a major source of reuse in OOAD
• Examples include Design Patterns, STL in C++, Data Structures in Python etc Stable Intermediate Forms • It is extremely difficult to design a complex system correctly in one go or at one instance • Iterative Refinement - Start with a simple system and then refine • Objects, which are considered earlier as complex, may become primitive objects, after knowing it completely, to built a more complex objects or systems • For example, once the representation of floating-point numbers is understood, which may even be complex earlier, it may be used as primitive to build a more bigger functionality like creation of matrix of floating-point numbers •System matures from one intermediate form to the next •For example, if the representation of floating-point numbers is stable intermediate form and then it is easy to move to create the next bigger functionality, i.e., next form, like representation of matrix of floating-point numbers
A Complex system that works is always found to have evolved
from a simple worked system
A Complex system designed from scratch never works and