Title: SWT Diagrammatics
1SWT - Diagrammatics
- Lecture 2/4 - Diagramming in Computer Science
- 27-April-2000
2Review
- Definitions,
- Historical Facts,
- Maps, Geometry, Topological Diagrams, Science and
Diagrams. - Advantages of Diagramming,
- Diagram use across fields.
3Overview
- Diagram Distinctions
- Diagram Taxonomies
- Diagram use in Computer Science
- Venn, Flowcharts, NSDs, Structure, Dataflow,
ERDs, Cell and Arrows, State, Petri nets. - Logic Gate Diagrams
- How to operate Theseus under CM
4Diagram Distinctions
- Diagrams portray associations
- metric,
- topological and
- symbolic
- In computer systems, above the hardware level,
Euclidean space is unimportant - Much more common in software diagrams are
associations in topological space.
5Diagram Distinctions
- Within topological diagrams, associations can
happen in three principal ways - Adjoinment
- Linkage
- Containment
A
B
A
B
A
B
6Diagram Taxonomies
- A Taxonomy is useful only to the ones that use
it. - A simple diagrammatic taxonomy can be based on
the diagrammatic domain. - Several researchers have focused on a variety of
diagrammatic aspects and have proposed respective
classifications. - Efforts to categorise diagrams have created a
large set of taxonomies. - Alan Blackwell and Yuri Engelhardt have proposed
a taxonomy of taxonomies. - http//www.cl.cam.ac.uk/afb21/publications/yuri-c
hapter.html
7A Taxonomy of Diagram Taxonomies
- Dimensions of categorisation
- 1. The representation
- the graphic domain structure
- 2. The message
- the information domain
- 3. The relation between the representation and
the message - Pictorial correspondence
- 4. The process of interpreting and modifying
representations - Information processing tools
- 5. The context - convention
- Cultural conventions
- 6. The mental representation
- Interpersonal variation
8Venn Diagrams
- Are related to circuits and logic gates
- Elements use containment to depict information
- Standard mathematical functions like a set of,
a genuine subset of etc are depicted - Easy to compare Venn Diagrams because of their
visual representation
9Venn Diagrams
- The two following Venn diagrams show that the
next two functions are equal - NOT(A OR B)
- (NOT(A)) AND (NOT(B))
- You can write a small java program to verify this
if you want!
NOT(A OR B) (NOT(A)) AND
(NOT(B))
NOT A
A
NOT B
B
non shaded part is equal to double-shaded
part
10Flowcharts
- They are topological, graph-based constructions
that are often filled with program text. - The control logic of the program is shown through
simple branches and loops. - They are usually generated by analysts as a
specification to programmers, who then convert
the charts into source code. - However, for large systems, they can get messy,
spanning in many pages as decisions have many
branches. - Goldstine claims he created the first flowchart
for computers in 1947, while working with Von
Neumann.
11Flowcharts
start
get formatting parameters
Process
format disk
Display
If
format another?
yes
no
end
12Nassi-Shneiderman (NS) Diagrams
- Hierarchy is shown using enclosure and
adjacency - Decisions are shown by splitting the lines
into smaller, parallel boxes - Loops are shown by enclosing a small box into
a box labelled with the condition of the loop - However, the early termination of loops (e.g.
break) and multiple conditionals present problems
for NS diagrams
13Nassi-Shneiderman (NS) Diagrams
s1
if i1
true
false
while w1
s2
if i2
true
false
s4
s5
s3
s6
while w2
s7
s8
14Structure Diagrams
- They are hierarchical, modular break downs of
a program - Between tree levels, links indicate what kind
of information travels between levels - They are usually represented by trees
- They are a part of the structural analysis
activity, in which a system is partitioned in a
top-down manner - However, a multitude of labelled edges and nodes
conveying lots of information can reduce
readability
15Structure Diagrams
calculate payroll
employee name
employee name
overtime
payment
record name
payment
date time
salary
records
get employee and pay record
calculate net pay
print pay cheque
employee category
expenses
tax
deductions
calculate deductions
calculate tax
16Data-flow Diagrams
- Are oriented to flow-type operations
- Objects of data are shown in relationship to
procedures - No decision logic is shown
- The diagrams are most often used to model the
flow of data - However, they usually get large and complex and
multiple-page spanning happens nearly always
17Dataflow Diagrams
SALES DEPT
CUSTOMER FILE
CUSTOMER RECORD
ORDER FILE
GET CUSTOMER RECORD
NEW CUSTOMER INFORMATION
CREATE NEW CUSTOMER RECORD
NEW CUSTOMER RECORD
CHECK CUSTOMER CREDIT
ORDER INFORMATION
CUSTOMER INFORMATION
CUSTOMER FILE
COLLECT ALL ORDERS FOR CUSTOMER
INVALID CUSTOMER
CUSTOMER ORDER RECORDS
18Entity-Relationship (ER) Diagrams
Attribute
Entity
Relationship
- The representation of data is often accomplished
using diagrams - ER diagrams are usually used to depict databases
- Extremely simple three types of nodes
- Entity and Relations form a graph and can have
associated attributes and cardinality
19Entity-Relationship (ER) Diagrams
Address
SSN
Salary
Name
Phone nr
Works-for
Name
Person
Company
Job title
HasMany
IsA
IsA
Manages
Department
Employee
Manager
Name
20Software Level Charts
- At a higher level, the functions of a system are
often thought as layers - These diagrams work only on simple access schemes
- However, more complex schemes will result in
a complex graph that cannot be
represented with adjoining regions
Application
Motif
X-lib
DB API
Unix API
Unix Operating System
21Cell and Arrow Diagrams
- In a combination of adjoinment and link-based
conventions, data structures are often depicted
as adjacent memory locations linked by pointers - This is usually used for teaching purposes or for
program documentation - In programming, pointer manipulation of linked
lists is shown as diagrams of Cell and Arrows
22Cell and Arrow Diagrams
Insertion of a new element (element2) into a
linked list
element1
elementN
start
NULL
element1
elementN
(3)
start
(2)
NULL
element2
temp
(1)
23State Transition Diagrams
- Well known in computer science as originating
from the study of finite automata - Are used for modelling a variety of event-based
CS domains including parsing, user interface
design, and circuit design - At the application level, they represent
transaction flows, appliance controls, marketing
scripts etc - With the exception of special symbols and
terminal nodes, all nodes are treated the same.
24State Transition Diagrams
Recognise if the pattern bc exists in string
aabaaabbabca
a
c
c
b
s1
s2
s3
a
b
25Petri Nets
- Are closely related to data flow graphs
- The main distinction is that the graphs are
bipartite, made up of a set of places and
transitions - Useful for concurrent, asynchronous, distributed,
parallel, and nondeterministic systems. - Each type of node can be further subdivided into
subtypes
annihilator
terminal place
initial place
generator
trivial place
trivial transition
branching
splitting
collection
junction
26Petri Nets
D available
Request D
Request D
D Ready
D Ready
Finished With D and P
Finished With D and P
Process
Process
Release D and P
Release D and P
P Ready
P Ready
Request P
Request P
P available
27Logic Gates
- Logic gates are the components of logic circuits
- There are three main gates AND, OR and NOT
- An AND gate returns true (or 1) if both of its
inputs are true - An OR gate returns true (or 1) if either of its
inputs is true - A NOT gate returns the opposite of its input
AND OR
NOT
A B Q 0 0 0 0 1 0 1 0 0 1 1
1
A B Q 0 0 0 0 1 1 1 0 1 1 1
1
A Q 0 1 1 0
28Logic Circuits
- Logic circuits are used in electronic devices.
- Formed by combining many logic gates
- More complex logic circuits are assembled from
simpler ones which in turn are assembled from
gates
A B Q 0 0 0 0 1 1 1 0 1 1 1
0
29Combining gates Together
- A N input gate can be constructed by placing N
gates in a special configuration
x
x
y
y
o
z
o
z
x
x
y
o
y
o
z
z
30Other Logic Gates
nor
A B Q 0 0 1 0 1 0 1 0 0 1 1 0
nand
A B Q 0 0 1 0 1 1 1 0 1 1 1 0
xor
A B Q 0 0 0 0 1 1 1 0 1 1 1 0
buffer
xnor
A B Q 0 0 1 0 1 0 1 0 0 1 1 1
31Analog Circuit Diagrams
- Represent electronic design schemata
- Strict Notation - Graph-Network topology
- No direction
32The end of lecture 2