You are on page 1of 10

Objectives

• Analyze the Structure of complex


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


cannot be patched up to make it work

You might also like