Design - Department of Computer Science

Download Report

Transcript Design - Department of Computer Science

Complex systems: How to think like nature
• Unintended consequences.
• Emergence: what’s right and what’s wrong with
reductionism.
• Design: levels of abstraction/platforms.
• Evolutionary processes, genetic algorithms, and entities as
nature’s memes.
• Wisdom of crowds: hierarchy, autonomy, commons, C2.
• Externalizing thought
• Feasibility ranges (vs. engineering margins)
• Simulations: floor and noticing emergence. Computer
Science vs. Engineering
1
4.2.4.2. Logical Analysis
Defense Acquisition Guidebook
• The design approach resulting from Logical Analysis:
– Partitions a system into self-contained, cohesive, logical groupings
of interchangeable and adaptable elements to enable ease of
change, achieve technology transparency, and mitigate the risk of
obsolescence; and
– Uses rigorous and disciplined definitions of interfaces and, where
appropriate, defines the key interfaces within a system by widely
supported standards (including interface standards, protocols, and
data interchange language and standards) that are published and
maintained by recognized standards organizations.
• Traditionally, the Department of Defense has used functional
analysis/allocation. However, other approaches, such as
behavioral analysis, timeline analysis, object-oriented analysis,
data-flow analysis, and structured analysis, may also apply.
2
4.2.4.5. Integration
Defense Acquisition Guidebook
• Integration is the process of incorporating the lower-level system
elements into a higher-level system element in the physical
architecture.
– The plan or strategy for the Integration process, including the
assembly sequence, may impose constraints on the design solution.
– An assembled system element, also developed with the technical and
technical management processes, may include fixtures for hardware
or compilers for software.
• Integration also refers to the incorporation of the final system into its
operational environment and defined external interfaces.
• Interface Management plays an important role with Integration, and
iteration between the two processes will occur.
3
What one has at the end
The unasked questions
• How does one know
one can build these
pieces?
• What enables the
interfaces?
• What holds it all
together?
4
The unasked questions
• How do we come up with the pieces?
– Do we invent them ab initio?
• This would be pure top-down engineering. We don’t do that.
– We generally copy and modify something done already.
– If possible we use standard parts.
Bottom-up
• How do we know they can talk to each other?
– They are assumed to be embedded in a framework that
enables communication.
– The framework may be very primitive, e.g., a world that
can support wires. But there is an assumed framework.
Bottom-up
• What holds it all together?
– Again, they are assumed to be embedded in a framework.
One can’t avoid bottom-up design.
5
Bottom-up doesn’t mean
• That one gives up abstractions.
– Emergence provides abstractions
• That one gives up components
– Instances of emergence (entities) are components.
• That one gives up design
– Emergence is the result of design
6
Bottom-up does mean
• That one builds up from what exists
• That one factors out commonalities. E.g., the creation of
subprograms was a factoring out of the practice of factoring
out pieces of code. It moved that piece of functionality to a
lower level of abstraction.
• That one creates and uses platforms.
– The DNA-to-protein mechanism is a platform.
– It is used to generate lactase in the same way it generates lots
of other proteins.
– It is extended with switches to make it more controllable.
• How does mail get delivered?
– Postal service doesn’t have its own fleet or airplanes
– It has its own fleet of cars, but it doesn’t build its own roads.
7
How does Aerospace mail move between
El Segundo and Chantilly?
Interlinked processes
El Segundo
mail routes
(carts)
Sort &
route
Aerospace
USPS
(trucks)
Implementation
platform
Sort &
route
LAX ↔ IAD
(commercial
aircraft)
Platforms/processes
include roadways,
employees, sorting
machines, hallways, etc.
Sort &
route
Aerospace
USPS
(trucks) Sort &
route
Infrastructure
Chantilly
mail routes
(carts)
8
Designing an organism
First arose in evolution
Function
Three billion years ago, in early
prokaryotic organisms
Energy metabolism, biosynthesis of
60 building blocks, DNA replication,
DNA → RNA → protein,
membranes, trans-membrane
transport
Two billion years ago, in early
eukaryotic cells (with cell nuclei)
Microfilaments and microtubules,
cytoskeletons, motor proteins for
internal transport, motility by cilia
and ruffling, sexual reproduction
One billion years ago, in early
multi-cellular organisms
Multi-cell signaling, cell adhesion,
cell specialization
Near pre-Cambrian, in animals with
early body axes
Complex developmental patterning,
complex cell competence,
additional specialized cell types,
body plan and compartments.
Everything else
Done mainly with gene switches.
9
Use software as example of bottom-up
• Components (data bases)
• Libraries (math library)
• Platforms (languages, operating systems,
browsers, messaging systems, … )
10
Exploratory behavior
• Blood vessels.
• Nerve cells.
• Microtubules.
• In all these examples (and others), large numbers of variations are
generated, which explore various parts of a space. Some establish
themselves as a result of finding a stabilizing area. Others die back.
The established ones become a basis for further development.
• Evolution may be reformulated in these terms. What gets
established is the process of reproduction.
• The same picture can be painted of markets. What gets established
is the transmission of product from producer to consumer and of
payment from consumer to producer.
• An environment is innovative when it supports such exploration
and process establishment.
11
Evolution as exploratory processes
• Normally one thinks of evolution as random
generation followed by selection.
• This view thinks of evolution as random
exploration followed by establishment.
• What gets established are processes—which are
then available to be built upon.
• Processes required energy to run them.
– May be intrinsic (rapid transit; users pay for
service) or extrinsic (freeway system; users
provide the service for themselves). But
essentially the same process: transportation.
– Generally require a skeleton on which to operate.
12
The V-model of systems engineering
Determine the
system
requirements.
Accept the
system.
Validate the system
Architecture:
determine the
subsystems.
Design the
subsystems:
determine the
components.
Design the
components:
determine unit
elements.
Verify the system
Verify
Verify
Integrate the
subsystems into
the system and
test the system.
Integrate the
components into
subsystems and
test subsystems.
Integrate unit
elements into
components and
test components.
Design and build
(or buy) and test
the unit elements.
13
The implicit and unexplained steps
Determine the
system
requirements
Accept the
system
Validate the system
Architecture:
determine the
subsystems
Design the
subsystems:
determine the
components
Design the
components:
determine unit
elements
Verify the system
Verify
Verify
Integrate the
subsystems into
the system and
test the system
Integrate the
components into
subsystems and
test subsystems
Integrate unit
elements into
components and
test components
Design and build
(or buy) and test
the unit elements
14
The two sides are very different
• Finished designs include
all levels.
• Not important the order in
which the design elements
are developed, only that
they work.
• Each portion of the design
is generally based on
existing experience and
known capabilities.
• Bottom-up and incremental
from experience, not
necessarily from structure.
• Work product: Designs
and plans, i.e., abstractions.
• The result is the entire product.
• Not important how it is put
together, only that it is.
• But the process of putting the
pieces together is often quite
delicate.
• Some pieces can’t be added
before others are in place.
• Timing and ordering (insideto-out or outside-to-in) are
often critical in developmental
processes.
• Work product : The
physical product
15
Design
• Install and test the
carpetsartifacts.
for durability.
Construction: process
Also electrical
used forand plumbing fixtures: lighting, sinks, faucets, etc.
• Buy and test the visible
common resources/platforms
maintenance
• Buy and paint the drywall.
Test for wear-resistance, cleanability, etc..
• Nail the drywall to the studs wall-by-wall. Test
for sturdiness,
shear
Follow
the plans to
buildstrength.
the building:
• Plug the walls
together
to
make
rooms.
Verify
the
rooms:
kitchen,
bedroom,
Elevations, building plans, foundation and skeleton inward etc.
to
Building
• Install items (stove, sinks, toilets, showers, lighting, etc.) in rooms. Test.
schedules, etc.
details. Electrical/heating/plumbing/etc.
• Plug the rooms together to make floors. Verify the floors: main, living quarters, etc.
built into walls.
• Plug the floors together to make the building. Verify the building’s structural integrity.
“Snap”
components together to
• Build the plumbing network of pipes. Test the
pipes.
Major
integrate:
• Build the electrical network of wires. Test the
wires. from details outward to entire
Design documents.
• Build the heating and air-conditioning network
of ducts.
Test the ducts.networks built
system
system?
Communication
• Wire/plumb the plumbing and electrical fixtures
into their respective networks. Test.
as subsystems.
• Pour the foundation. Test.
DNA. HOX genes control
“Run”
the DNA
to the
build
the organism:
• Insert the plumbing, electrical, and heating/AC
networks
into
building.
Verify.
the developmental
• Attach the building to the foundation. Validate
the building.
Biological
skeleton
inward to details. Internal
organism
Social,
economic,
ecological
systems:
Wikipedia
process. (Evo-devo:
evolution mainly modifies
development—slow.)
connective systems (circulation and
nerves) grow by exploration.
Evolving (disorganized)
descriptions of code,
conventions, and
practices. Often in
people’s minds.
Continually re-design and re-build all
levels of the system while in use. The
two sides of the V merge. Platforms (the
wiki, website, and social structure) are
the most stable elements.
16
Redesign
Applied at what level?
Building
New design elements derived
from previous design elements
and other developments in the
world.
Current building if new design is
consistent with current design.
Major
system
New design elements derived
from previous design elements
and other developments in the
world.
Current building if new design is
consistent with current design.
Biological
organism
“Run” the DNA to build the
organism: skeleton inward to
details. Internal connective
systems (circulation and nerves)
grow by exploration.
Current entity if new design is
consistent with current design, i.e.,
can be learned.
Social,
economic,
ecological
systems:
Wikipedia
Continually re-design and re-build
all levels of the system while in
use. The two sides of the V
merge. Platforms (the wiki,
website, and social structure) are
the most stable elements.
Next building if new design requires
restart.
Next building if new design requires
restart.
Reconstruction
Remodel. Gut and rebuild? Tear
back to usable framework. How far?
What can be saved?
Remodel. Gut and rebuild? Tear
back to usable framework. How far?
What can be saved?
Block/version n+1 includes how
much of block/version n?
Next entity if new design requires
restart, i.e., new DNA.
Current culture if new design is
consistent with current design.
Next culture if new design requires
restart.
17
Types of dependencies/transformations
• Current generation: structure, maintenance, enhancement.
– Depends on other design elements. A satellite depends on
solar cells.
– Capability depends on ability to adjust/extend current design:
learning, training, ability to upload new modules, housekeeping
maneuvers, …
– Redesign without rebuilding: Wikipedia, anything that is
backward compatible keeps current version of whatever the
backwards compatibility supports.
• Next generation.
– Version n+1 of a product/system. Possible to modify any
part/level of the design as long as the rest can be adjusted to fit.
– Exaptation of pre-existing design elements. Next generation.
• Bat wings, inner ear bones. Both resulted from modifying the
developmental processes.
• Wifi bridge depends on USB port for power.
– Core-to-semiconductor memory. Platform.
18
Advantage of an explicitly manipulable design
• New design elements are generally derived from previous design elements and
must almost always make use of existing design elements.
• The new elements can be at any level, although the more basic the level, the more
difficult it may be to use existing elements.
• A house can move from plaster to dry wall.
• It can replace fireplaces to central heat—and then central air.
• It can move from bricks to framing.
• It can move from high-usage to low-flush toilets.
• Some of these can be done to the existing house. Others require a completely
new house. The change to the design does not necessarily parallel the change to
the house in terms of the amount of change made (in terms of number of
characters).
• That’s one of the benefits of a platform. It can be redesigned both above and
below it.
• And if it’s a useful platform, it will encourage both productive use and productive
re-implementation.
• Can go from pony express to airplane with virtually no change elsewhere.
19
Modifications
• Biology: There is a programmable construction
process that can be changed. But not on existing
entities.
• Buildings: once built, the earlier the component,
the harder to change.
• System: like buildings.
• Society: can always create more core elements
and switch from one to another. Why is there so
much flexibility?
– Because we operate on more platforms than
anyone else, from reality to symbolism.
20
Designing a spacecraft
• Structures
• Attitude control
• Thermal control
• Energy access (solar panels)
• Internal communication (for housekeeping
functions, etc.). Bus.
• External communication
• Payload and payload processing
• If each of these were designed separately, i.e.,
really top-down, where would the satellite be?
21
The difference between an interface and an API
Interface
API
Specification level
Low level (signals)
High level (functions)
Coupling
Tight—because low level
Loose—because high level
Communication level
Low: syntactic signals
High: semantic symbols
Example: OSI stack
Physical layer
Application layer
Structure
Hard-wired
Flexible
Moral: use the right
layer for the message.
Every layer is needed.
Don’t use an interface as an API.
22