Difference between revisions of "Diagram"

From PKC
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 10: Line 10:


=Sample Diagrams=
=Sample Diagrams=
The Diagrams package supports at least two flavors of diagrams
==GraphViz==
<graphviz renderer="neato" caption="Graph for example no. 2">
graph example2 {
  run -- intr;
  intr -- runbl;
  runbl -- run;
  run -- kernel;
  kernel -- zombie;
  kernel -- sleep;
  kernel -- runmem;
  sleep -- swap;
  swap -- runswap;
  runswap -- new;
  runswap -- runmem;
  new -- runmem;
  sleep -- runmem;
}
</graphviz>


==mscgen==
<mscgen caption="Message sequence chart for example no. 4">
msc {
  a,b,c;


  a->b  [label="ab()"];
  b->c  [label="bc(TRUE)"];
  c=>c  [label="process(1)"];
  c=>c  [label="process(2)"];
  ...;
  c=>c  [label="process(n)"];
  c=>c  [label="process(END)"];
  a<<=c [label="callback()"];
  ---  [label="If more to run", ID="*"];
  a->a  [label="next()"];
  a->c  [label="ac()"];
  b<-c  [label="cb(TRUE)"];
  b->b  [label="stalled(...)"];
  a<-b  [label="ab() = FALSE"];
}
</mscgen>
<noinclude>
<noinclude>


=References=
=References=

Latest revision as of 09:40, 8 September 2021

Diagrams are pictorial representations of ideas. It associate semantic meanings to graphical artifacts.

Useful reading materials

There are some books on that directly relates to this concept:

On PKC, one may use simple textual data to generate diagrams, using the Diagrams extension.

Sample Diagrams

The Diagrams package supports at least two flavors of diagrams

GraphViz

<graphviz renderer="neato" caption="Graph for example no. 2"> graph example2 {

 run -- intr;
 intr -- runbl;
 runbl -- run;
 run -- kernel;
 kernel -- zombie;
 kernel -- sleep;
 kernel -- runmem;
 sleep -- swap;
 swap -- runswap;
 runswap -- new;
 runswap -- runmem;
 new -- runmem;
 sleep -- runmem;

} </graphviz>

mscgen

<mscgen caption="Message sequence chart for example no. 4"> msc {

 a,b,c;
 a->b  [label="ab()"];
 b->c  [label="bc(TRUE)"];
 c=>c  [label="process(1)"];
 c=>c  [label="process(2)"];
 ...;
 c=>c  [label="process(n)"];
 c=>c  [label="process(END)"];
 a<<=c [label="callback()"];
 ---   [label="If more to run", ID="*"];
 a->a  [label="next()"];
 a->c  [label="ac()"];
 b<-c  [label="cb(TRUE)"];
 b->b  [label="stalled(...)"];
 a<-b  [label="ab() = FALSE"];

} </mscgen>


References

Related Pages