swt - diagrammatics lecture 2/4 - diagramming in computer science 27-april-2000
Post on 16-Dec-2015
217 Views
Preview:
TRANSCRIPT
SWT - Diagrammatics
Lecture 2/4 - Diagramming in Computer Science27-April-2000
Review
• Definitions,• Historical Facts,
– Maps, Geometry, Topological Diagrams, Science and Diagrams.
• Advantages of Diagramming,• Diagram use across fields.
Overview
• Diagram Distinctions • Diagram Taxonomies• Diagram use in Computer Science
– Venn, Flowcharts, NSD’s, Structure, Dataflow, ERD’s, Cell and Arrows, State, Petri nets.
• Logic Gate Diagrams• How to operate Theseus under CM
Diagram 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.
Diagram Distinctions• Within topological diagrams, associations can happen in
three principal ways:– Adjoinment
– Linkage
– Containment
A B
A B
A B
Diagram 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. Blackwel * has proposed a taxonomy of taxonomies :* http://www.mrc-cbu.cam.ac.uk/projects/twd/mypapers/TwD98.html
A 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
Venn 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
Venn 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
NOT B
non shaded part is equal to double-shaded part
A
B
Flowcharts• 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.
Flowchartsstart
format disk
formatanother?
get formatting parameters
end
yes
noI/O
Terminal
DisplayIf
Process
Nassi-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
Nassi-Shneiderman (NS) Diagramss1
if i1true false
if i2
while w1
while w2
true falses2
s3s4 s5
s6
s7
s8
Structure 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
Structure Diagramscalculate payroll
get employeeand pay record
calculate net pay
printpay cheque
calculate deductions
calculate tax
records
record name
employee name
salarypayment
employee name
payment
date & time
overtime
tax deductions
employee category expenses
Data-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
Dataflow DiagramsSALES DEPT
ORDER FILE
CUSTOMER FILE
GETCUSTOMER
RECORD
CHECKCUSTOMER
CREDIT ORDER INFORMATION
CREATE NEWCUSTOMER
RECORD
CUSTOMER RECORD
NEW CUSTOMER INFORMATION
CUSTOMER FILE
NEW CUSTOMER RECORD
COLLECT ALL ORDERS FOR
CUSTOMER
INVALID CUSTOMER
CUSTOMERINFORMATION
CUSTOMER ORDER RECORDS
Entity-Relationship (ER) Diagrams
• 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
Attribute Entity Relationship
Entity-Relationship (ER) Diagrams
DepartmentEmployee Manager
CompanyPerson
Manages
IsA IsA
Works-forName
SSN Salary
Job title
NameAddress
Phone nr
Name
HasMany
Software 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
Unix Operating System
Unix API
X-lib DB API
Motif
Cell 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
Cell and Arrow Diagrams
start
element1
element2
elementN …
start
Insertion of a new element (element2) into a linked list
temp
NULL
element1 elementN
NULL
(1)
(2)
(3)
State 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.
State Transition DiagramsRecognise if the pattern “bc” exists in string “aabaaabbabca”
s1 s2 s3b
ac
a
b
c
Petri 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
subtypesannihilator
generator
trivial transition
splitting
collection
terminal place
initial place
trivial place
branching
junction
Petri NetsD available
Request D Request D
D Ready
FinishedWith D and P
D Ready
FinishedWith D and P
P available
ProcessProcess ReleaseD and P
ReleaseD and P
P ReadyP Ready
Request PRequest P
Logic 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 Q0 0 00 1 01 0 01 1 1
A B Q0 0 00 1 11 0 11 1 1
A Q0 11 0
Logic 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 Q0 0 00 1 11 0 11 1 0
Combining gates Together• A N input gate can be constructed by placing N
gates in a special configuration :
xyz
xyz
o
o
xyz o
xyz
o
Other Logic Gates
• Include: nand
nor
xnor
xor
buffer
A B Q
0 0 1
0 1 0
1 0 0
1 1 0
A B Q
0 0 1
0 1 1
1 0 1
1 1 0
A B Q
0 0 0
0 1 1
1 0 1
1 1 0
A B Q
0 0 1
0 1 0
1 0 0
1 1 1
Analog Circuit Diagrams
• Represent electronic design schemata• Strict Notation - Graph-Network topology• No direction
The end of lecture 2
top related