320 likes | 341 Views
SWT - Diagrammatics. Lecture 2/4 - Diagramming in Computer Science 27-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
E N D
SWT - Diagrammatics Lecture 2/4 - Diagramming in Computer Science 27-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)) A NOT A NOT B B non shaded part is equal to double-shaded part
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.
Terminal I/O Flowcharts start get formatting parameters Process format disk If Display format another? yes no end
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) Diagrams s1 if i1 true false while w1 s2 if i2 true false s4 s5 s3 s6 while w2 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 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 tax calculate deductions
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 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 INVALID CUSTOMER COLLECT ALL ORDERS FOR CUSTOMER CUSTOMER ORDER RECORDS
Entity-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
Entity-Relationship (ER) Diagrams Address SSN Salary Name Phone nr Name Works-for Person Company Job title HasMany IsA IsA Manages Department Employee Manager Name
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 Motif X-lib DB API Unix API Unix Operating System
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 Insertion of a new element (element2) into a linked list … element1 elementN start NULL element1 elementN (3) start (2) NULL element2 temp (1)
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 Diagrams Recognise if the pattern “bc” exists in string “aabaaabbabca” a c c b s1 s2 s3 a b
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 subtypes annihilator terminal place initial place generator trivial place trivial transition branching splitting collection junction
Petri 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
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 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
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 Q 0 0 0 0 1 1 1 0 1 1 1 0
Combining 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
nor A BQ 0 0 1 0 1 0 1 0 0 1 1 0 Other Logic Gates • Include: nand AB 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
Analog Circuit Diagrams • Represent electronic design schemata • Strict Notation - Graph-Network topology • No direction