Filling it out.

This commit is contained in:
Robin 2010-01-09 09:00:02 +00:00
parent e58c220574
commit 5f0bc595c8
42 changed files with 95554 additions and 0 deletions

25
logic_diagram/CVS/Entries Normal file
View File

@ -0,0 +1,25 @@
/fmmd_hierarchy_cimg5040.eps/1.1/Sun Jul 13 17:13:12 2008//
/ldand.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldand.eps/1.1/Sun Jul 13 17:13:14 2008//
/lddc.dia/1.1/Sun Jul 13 17:13:14 2008//
/lddc.eps/1.1/Sun Jul 13 17:13:14 2008//
/ldimp.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldimp.eps/1.1/Sun Jul 13 17:13:14 2008//
/ldmeq.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldmeq.eps/1.1/Sun Jul 13 17:13:14 2008//
/ldmeq2.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldmeq2.eps/1.1/Sun Jul 13 17:13:14 2008//
/ldneg.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldneg.eps/1.1/Sun Jul 13 17:13:14 2008//
/ldor.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldor.eps/1.1/Sun Jul 13 17:13:14 2008//
/ldxor.dia/1.1/Sun Jul 13 17:13:14 2008//
/ldxor.eps/1.1/Sun Jul 13 17:13:14 2008//
/Makefile/1.2/Wed Nov 25 17:14:59 2009//
/paper.tex/1.4/Sat Nov 28 20:05:52 2009//
/inhibit.eps/1.1/Fri Jan 1 14:11:12 2010//
/inhibit.fig/1.1/Fri Jan 1 14:11:03 2010//
/repeated.eps/1.1/Fri Jan 1 14:20:31 2010//
/repeated.fig/1.1/Fri Jan 1 14:20:23 2010//
/logic_diagram.tex/1.17/Wed Jan 6 13:41:32 2010//
D

View File

@ -0,0 +1 @@
fmd_docs/phd_docs/logic_diagram

1
logic_diagram/CVS/Root Normal file
View File

@ -0,0 +1 @@
robin@192.168.2.44:/export/home/cvs/

17
logic_diagram/Makefile Normal file
View File

@ -0,0 +1,17 @@
#
# Make the propositional logic diagram a paper
#
paper: paper.tex logic_diagram_paper.tex
#latex paper.tex
#dvipdf paper pdflatex cannot use eps ffs
pdflatex paper.tex
okular paper.pdf
# Remove the need for referncing graphics in subdirectories
#
logic_diagram_paper.tex: logic_diagram.tex
cat logic_diagram.tex | sed 's/logic_diagram\///' > logic_diagram_paper.tex

File diff suppressed because it is too large Load Diff

158
logic_diagram/inhibit.eps Normal file
View File

@ -0,0 +1,158 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: inhibit.fig
%%Creator: fig2dev Version 3.2 Patchlevel 5
%%CreationDate: Fri Jan 1 14:11:12 2010
%%For: robin@NovaProspect (Robin,,,)
%%BoundingBox: 0 0 364 228
%Magnification: 1.0000
%%EndComments
%%BeginProlog
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
end
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
/pageheader {
save
newpath 0 228 moveto 0 0 lineto 364 0 lineto 364 228 lineto closepath clip newpath
-60.0 263.1 translate
1 -1 scale
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06299 0.06299 sc
} bind def
/pagefooter {
$F2psEnd
restore
} bind def
%%EndProlog
pageheader
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Ellipse
7.500 slw
n 2475 2610 720 720 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 2520 2610 1559 1559 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 5850 2520 864 864 0 360 DrawEllipse gs col0 s gr
/Times-Roman ff 190.50 scf sf
2295 1665 m
gs 1 -1 sc (C) col0 sh gr
/Times-Roman ff 190.50 scf sf
2205 720 m
gs 1 -1 sc (A) col0 sh gr
/Times-Roman ff 190.50 scf sf
5625 1305 m
gs 1 -1 sc (D) col0 sh gr
/Times-Roman ff 190.50 scf sf
2385 2700 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
5760 2610 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
1260 2655 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
2250 2295 m
gs 1 -1 sc (R1) col0 sh gr
/Times-Roman ff 190.50 scf sf
1170 2205 m
gs 1 -1 sc (R2) col0 sh gr
/Times-Roman ff 190.50 scf sf
5760 2205 m
gs 1 -1 sc (R3) col0 sh gr
% here ends figure;
pagefooter
showpage
%%Trailer
%EOF

21
logic_diagram/inhibit.fig Normal file
View File

@ -0,0 +1,21 @@
#FIG 3.2 Produced by xfig version 3.2.5
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2475 2610 720 720 2475 2610 2475 1890
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2520 2610 1559 1559 2520 2610 3600 1485
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5850 2520 864 864 5850 2520 6525 1980
4 0 0 50 -1 0 12 0.0000 4 135 135 2295 1665 C\001
4 0 0 50 -1 0 12 0.0000 4 135 135 2205 720 A\001
4 0 0 50 -1 0 12 0.0000 4 135 135 5625 1305 D\001
4 0 0 50 -1 0 12 0.0000 4 75 105 2385 2700 *\001
4 0 0 50 -1 0 12 0.0000 4 75 105 5760 2610 *\001
4 0 0 50 -1 0 12 0.0000 4 75 105 1260 2655 *\001
4 0 0 50 -1 0 12 0.0000 4 135 240 2250 2295 R1\001
4 0 0 50 -1 0 12 0.0000 4 135 240 1170 2205 R2\001
4 0 0 50 -1 0 12 0.0000 4 135 240 5760 2205 R3\001

BIN
logic_diagram/inhibit.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
logic_diagram/ldand.dia Normal file

Binary file not shown.

239
logic_diagram/ldand.eps Normal file
View File

@ -0,0 +1,239 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldand.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 9 15:57:04 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 522 393
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-2.100000 -15.200000 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 7.450000 9.375000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 13.775000 9.775000 6.675000 4.125000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 7.450000 2.750000 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 13.580000 4.607500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 9.470000 8.817500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 9.470000 10.917500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldand.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
logic_diagram/lddc.dia Normal file

Binary file not shown.

311
logic_diagram/lddc.eps Normal file
View File

@ -0,0 +1,311 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/lddc.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 9 15:53:45 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 807 406
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-5.120000 -13.920000 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 9.185000 8.095000 4.015000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 21.220000 7.465000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 26.860000 7.995000 6.675000 4.125000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 8.435000 1.007500 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 16.920000 1.977500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 27.555000 2.947500 translate 0.035278 -0.035278 scale
start_ol
448 2955 moveto
448 4405 1286 5210 conicto
2125 6016 3371 6016 conicto
4424 6016 5376 5376 conicto
5087 4608 lineto
4267 5120 3384 5120 conicto
2547 5120 2009 4529 conicto
1472 3938 1472 2952 conicto
1472 1950 2025 1359 conicto
2578 768 3410 768 conicto
4260 768 5196 1344 conicto
5504 576 lineto
4512 -128 3412 -128 conicto
2096 -128 1272 717 conicto
448 1562 448 2955 conicto
end_ol grestore
gsave 23.185000 7.357500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 23.185000 9.457500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 7.820000 6.627500 translate 0.035278 -0.035278 scale
start_ol
4544 -128 moveto
4510 -128 lineto
2713 -128 1612 1029 conicto
512 2187 512 3966 conicto
512 5794 1572 6929 conicto
2633 8064 4488 8064 conicto
6298 8064 7373 6935 conicto
8448 5806 8448 3968 conicto
8448 2559 7691 1475 conicto
6934 391 5632 27 conicto
6184 -768 7153 -768 conicto
7641 -768 8105 -704 conicto
8256 -1502 lineto
7612 -1664 7171 -1664 conicto
6177 -1664 5631 -1305 conicto
5086 -946 4544 -128 conicto
4485 768 moveto
5826 768 6593 1625 conicto
7360 2483 7360 3966 conicto
7360 5419 6587 6293 conicto
5815 7168 4485 7168 conicto
3145 7168 2372 6296 conicto
1600 5425 1600 3966 conicto
1600 2500 2353 1634 conicto
3106 768 4485 768 conicto
end_ol grestore
gsave 7.820000 8.727500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldimp.dia Normal file

Binary file not shown.

347
logic_diagram/ldimp.eps Normal file
View File

@ -0,0 +1,347 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldimp.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 9 15:56:27 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 614 383
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-1.250000 -15.650000 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 5.750000 9.525000 4.450000 5.175000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 18.275000 10.275000 4.575000 5.325000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 4.050000 3.550000 translate 0.035278 -0.035278 scale
start_ol
6080 2048 moveto
5184 2048 lineto
5184 4608 lineto
640 4608 lineto
640 5504 lineto
6080 5504 lineto
6080 2048 lineto
end_ol grestore
gsave 4.944159 3.550000 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 18.030000 4.157500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 7.870000 8.567500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 7.870000 10.667500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 15.290000 8.047500 translate 0.035278 -0.035278 scale
start_ol
4544 -128 moveto
4510 -128 lineto
2713 -128 1612 1029 conicto
512 2187 512 3966 conicto
512 5794 1572 6929 conicto
2633 8064 4488 8064 conicto
6298 8064 7373 6935 conicto
8448 5806 8448 3968 conicto
8448 2559 7691 1475 conicto
6934 391 5632 27 conicto
6184 -768 7153 -768 conicto
7641 -768 8105 -704 conicto
8256 -1502 lineto
7612 -1664 7171 -1664 conicto
6177 -1664 5631 -1305 conicto
5086 -946 4544 -128 conicto
4485 768 moveto
5826 768 6593 1625 conicto
7360 2483 7360 3966 conicto
7360 5419 6587 6293 conicto
5815 7168 4485 7168 conicto
3145 7168 2372 6296 conicto
1600 5425 1600 3966 conicto
1600 2500 2353 1634 conicto
3106 768 4485 768 conicto
end_ol grestore
gsave 15.290000 10.147500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 8.600000 9.850000 m 15.055100 9.485720 l s
0.000000 0.000000 0.000000 srgb
1.000000 0.000000 0.000000 srgb
gsave 11.500000 9.200000 translate 0.035278 -0.035278 scale
start_ol
6656 0 moveto
6175 -128 5584 -128 conicto
4974 -128 4449 504 conicto
3924 1137 2820 2944 conicto
2112 2944 lineto
2112 1248 lineto
2112 589 2290 390 conicto
2469 192 3136 192 conicto
3136 0 lineto
192 0 lineto
192 192 lineto
675 192 869 275 conicto
1063 358 1107 550 conicto
1152 742 1152 1229 conicto
1152 5299 lineto
1152 5786 1107 5978 conicto
1063 6170 869 6253 conicto
675 6336 192 6336 conicto
192 6528 lineto
2930 6528 lineto
4121 6528 4716 6109 conicto
5312 5691 5312 4855 conicto
5312 4265 4885 3764 conicto
4459 3263 3832 3091 conicto
4837 1589 5140 1191 conicto
5443 793 5789 492 conicto
6136 192 6391 192 conicto
6463 192 6656 192 conicto
6656 0 lineto
2112 3264 moveto
2407 3264 lineto
3242 3264 3733 3657 conicto
4224 4051 4224 4775 conicto
4224 5436 3792 5822 conicto
3360 6208 2706 6208 conicto
2468 6208 2112 6130 conicto
2112 3264 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldmeq.dia Normal file

Binary file not shown.

416
logic_diagram/ldmeq.eps Normal file
View File

@ -0,0 +1,416 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldmeq.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 23 15:26:34 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 807 473
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-5.120000 -16.280625 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 9.185000 8.095000 4.015000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 21.220000 7.465000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 26.860000 7.995000 6.675000 4.125000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 8.435000 1.007500 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 16.920000 1.977500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 27.555000 2.947500 translate 0.035278 -0.035278 scale
start_ol
448 2955 moveto
448 4405 1286 5210 conicto
2125 6016 3371 6016 conicto
4424 6016 5376 5376 conicto
5087 4608 lineto
4267 5120 3384 5120 conicto
2547 5120 2009 4529 conicto
1472 3938 1472 2952 conicto
1472 1950 2025 1359 conicto
2578 768 3410 768 conicto
4260 768 5196 1344 conicto
5504 576 lineto
4512 -128 3412 -128 conicto
2096 -128 1272 717 conicto
448 1562 448 2955 conicto
end_ol grestore
gsave 23.185000 7.357500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 23.185000 9.457500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 7.820000 6.627500 translate 0.035278 -0.035278 scale
start_ol
4544 -128 moveto
4510 -128 lineto
2713 -128 1612 1029 conicto
512 2187 512 3966 conicto
512 5794 1572 6929 conicto
2633 8064 4488 8064 conicto
6298 8064 7373 6935 conicto
8448 5806 8448 3968 conicto
8448 2559 7691 1475 conicto
6934 391 5632 27 conicto
6184 -768 7153 -768 conicto
7641 -768 8105 -704 conicto
8256 -1502 lineto
7612 -1664 7171 -1664 conicto
6177 -1664 5631 -1305 conicto
5086 -946 4544 -128 conicto
4485 768 moveto
5826 768 6593 1625 conicto
7360 2483 7360 3966 conicto
7360 5419 6587 6293 conicto
5815 7168 4485 7168 conicto
3145 7168 2372 6296 conicto
1600 5425 1600 3966 conicto
1600 2500 2353 1634 conicto
3106 768 4485 768 conicto
end_ol grestore
gsave 7.820000 8.727500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 18.315000 6.097500 translate 0.035278 -0.035278 scale
start_ol
10704 7936 moveto
8457 0 lineto
7446 0 lineto
5472 6625 lineto
3352 0 lineto
2344 0 lineto
176 7936 lineto
1279 7936 lineto
2912 1569 lineto
4950 7936 lineto
6004 7936 lineto
7968 1569 lineto
9665 7936 lineto
10704 7936 lineto
end_ol grestore
gsave 18.315000 8.197500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 28.480000 6.907500 translate 0.035278 -0.035278 scale
start_ol
6656 0 moveto
384 0 lineto
384 752 lineto
5200 7040 lineto
576 7040 lineto
576 7936 lineto
6464 7936 lineto
6464 7161 lineto
1665 896 lineto
6656 896 lineto
6656 0 lineto
end_ol grestore
gsave 28.480000 9.007500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
0.150000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 23.669484 8.718768 5.135178 5.135178 357.558353 189.174568 ellipse s
0.000000 0.000000 0.000000 srgb
gsave 24.130000 15.157500 translate 0.035278 -0.035278 scale
start_ol
8080 0 moveto
6780 0 lineto
4042 3200 lineto
1920 3200 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
4095 7936 lineto
5513 7936 6308 7327 conicto
7104 6718 7104 5591 conicto
7104 4747 6585 4161 conicto
6067 3575 5211 3353 conicto
8080 0 lineto
1920 4096 moveto
4027 4096 lineto
4977 4096 5496 4481 conicto
6016 4866 6016 5579 conicto
6016 7040 3948 7040 conicto
1920 7040 lineto
1920 4096 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldmeq2.dia Normal file

Binary file not shown.

385
logic_diagram/ldmeq2.eps Normal file
View File

@ -0,0 +1,385 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldmeq2.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 23 16:04:47 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 807 473
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-5.120000 -16.280625 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 9.185000 8.095000 4.015000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 21.220000 7.465000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 26.860000 7.995000 6.675000 4.125000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 8.435000 1.007500 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 16.920000 1.977500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 27.555000 2.947500 translate 0.035278 -0.035278 scale
start_ol
448 2955 moveto
448 4405 1286 5210 conicto
2125 6016 3371 6016 conicto
4424 6016 5376 5376 conicto
5087 4608 lineto
4267 5120 3384 5120 conicto
2547 5120 2009 4529 conicto
1472 3938 1472 2952 conicto
1472 1950 2025 1359 conicto
2578 768 3410 768 conicto
4260 768 5196 1344 conicto
5504 576 lineto
4512 -128 3412 -128 conicto
2096 -128 1272 717 conicto
448 1562 448 2955 conicto
end_ol grestore
gsave 23.185000 7.357500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 23.185000 9.457500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 7.820000 6.627500 translate 0.035278 -0.035278 scale
start_ol
4544 -128 moveto
4510 -128 lineto
2713 -128 1612 1029 conicto
512 2187 512 3966 conicto
512 5794 1572 6929 conicto
2633 8064 4488 8064 conicto
6298 8064 7373 6935 conicto
8448 5806 8448 3968 conicto
8448 2559 7691 1475 conicto
6934 391 5632 27 conicto
6184 -768 7153 -768 conicto
7641 -768 8105 -704 conicto
8256 -1502 lineto
7612 -1664 7171 -1664 conicto
6177 -1664 5631 -1305 conicto
5086 -946 4544 -128 conicto
4485 768 moveto
5826 768 6593 1625 conicto
7360 2483 7360 3966 conicto
7360 5419 6587 6293 conicto
5815 7168 4485 7168 conicto
3145 7168 2372 6296 conicto
1600 5425 1600 3966 conicto
1600 2500 2353 1634 conicto
3106 768 4485 768 conicto
end_ol grestore
gsave 7.820000 8.727500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 18.315000 8.197500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 28.480000 9.007500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
0.150000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 23.669484 8.718768 5.135178 5.135178 357.558353 189.174568 ellipse s
0.000000 0.000000 0.000000 srgb
gsave 24.130000 15.157500 translate 0.035278 -0.035278 scale
start_ol
8080 0 moveto
6780 0 lineto
4042 3200 lineto
1920 3200 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
4095 7936 lineto
5513 7936 6308 7327 conicto
7104 6718 7104 5591 conicto
7104 4747 6585 4161 conicto
6067 3575 5211 3353 conicto
8080 0 lineto
1920 4096 moveto
4027 4096 lineto
4977 4096 5496 4481 conicto
6016 4866 6016 5579 conicto
6016 7040 3948 7040 conicto
1920 7040 lineto
1920 4096 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldmeq2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
logic_diagram/ldneg.dia Normal file

Binary file not shown.

271
logic_diagram/ldneg.eps Normal file
View File

@ -0,0 +1,271 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldneg.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 9 15:52:27 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 495 436
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-2.240000 -15.660000 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 7.590000 7.435000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 12.365000 7.135000 6.675000 4.125000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 12.790000 9.835000 5.300000 5.775000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 3.990000 1.697500 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 12.880000 2.307500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 18.040000 13.797500 translate 0.035278 -0.035278 scale
start_ol
6080 2048 moveto
5184 2048 lineto
5184 4608 lineto
640 4608 lineto
640 5504 lineto
6080 5504 lineto
6080 2048 lineto
end_ol grestore
gsave 18.934159 13.797500 translate 0.035278 -0.035278 scale
start_ol
448 2955 moveto
448 4405 1286 5210 conicto
2125 6016 3371 6016 conicto
4424 6016 5376 5376 conicto
5087 4608 lineto
4267 5120 3384 5120 conicto
2547 5120 2009 4529 conicto
1472 3938 1472 2952 conicto
1472 1950 2025 1359 conicto
2578 768 3410 768 conicto
4260 768 5196 1344 conicto
5504 576 lineto
4512 -128 3412 -128 conicto
2096 -128 1272 717 conicto
448 1562 448 2955 conicto
end_ol grestore
gsave 10.090000 7.097500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 10.090000 9.197500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldor.dia Normal file

Binary file not shown.

319
logic_diagram/ldor.eps Normal file
View File

@ -0,0 +1,319 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldor.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 9 15:54:52 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 512 371
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-1.350000 -14.550000 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 4.900000 9.225000 3.500000 5.275000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 15.675000 9.975000 3.675000 3.975000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 4.550000 2.900000 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 15.730000 5.157500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 4.770000 7.717500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 4.770000 9.817500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 14.790000 9.247500 translate 0.035278 -0.035278 scale
start_ol
4544 -128 moveto
4510 -128 lineto
2713 -128 1612 1029 conicto
512 2187 512 3966 conicto
512 5794 1572 6929 conicto
2633 8064 4488 8064 conicto
6298 8064 7373 6935 conicto
8448 5806 8448 3968 conicto
8448 2559 7691 1475 conicto
6934 391 5632 27 conicto
6184 -768 7153 -768 conicto
7641 -768 8105 -704 conicto
8256 -1502 lineto
7612 -1664 7171 -1664 conicto
6177 -1664 5631 -1305 conicto
5086 -946 4544 -128 conicto
4485 768 moveto
5826 768 6593 1625 conicto
7360 2483 7360 3966 conicto
7360 5419 6587 6293 conicto
5815 7168 4485 7168 conicto
3145 7168 2372 6296 conicto
1600 5425 1600 3966 conicto
1600 2500 2353 1634 conicto
3106 768 4485 768 conicto
end_ol grestore
gsave 14.790000 11.347500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slj
0 slc
1.000000 0.000000 0.000000 srgb
n 5.050000 9.100000 m 5.348800 9.100000 14.601200 10.400000 14.900000 10.400000 c s
gsave 9.825000 9.475000 translate 0.035278 -0.035278 scale
start_ol
8080 0 moveto
6780 0 lineto
4042 3200 lineto
1920 3200 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
4095 7936 lineto
5513 7936 6308 7327 conicto
7104 6718 7104 5591 conicto
7104 4747 6585 4161 conicto
6067 3575 5211 3353 conicto
8080 0 lineto
1920 4096 moveto
4027 4096 lineto
4977 4096 5496 4481 conicto
6016 4866 6016 5579 conicto
6016 7040 3948 7040 conicto
1920 7040 lineto
1920 4096 lineto
end_ol grestore
showpage

BIN
logic_diagram/ldor.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
logic_diagram/ldxor.dia Normal file

Binary file not shown.

410
logic_diagram/ldxor.eps Normal file
View File

@ -0,0 +1,410 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/robin/proj/fmd_docs/papers/logic_diagram/ldxor.dia
%%Creator: Dia v0.96.1
%%CreationDate: Fri May 9 15:55:47 2008
%%For: robin
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 830 744
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-2.100000 -27.575000 translate
%%EndProlog
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 7.450000 9.375000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 13.775000 9.775000 6.675000 4.125000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 7.450000 2.750000 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 13.580000 4.607500 translate 0.035278 -0.035278 scale
start_ol
6080 2048 moveto
5184 2048 lineto
5184 4608 lineto
640 4608 lineto
640 5504 lineto
6080 5504 lineto
6080 2048 lineto
end_ol grestore
gsave 14.474159 4.607500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
gsave 10.120000 8.967500 translate 0.035278 -0.035278 scale
start_ol
896 7936 moveto
4259 7936 lineto
5511 7936 6275 7278 conicto
7040 6620 7040 5598 conicto
7040 4565 6292 3850 conicto
5545 3136 4239 3136 conicto
1920 3136 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
1920 4032 moveto
4155 4032 lineto
5046 4032 5531 4443 conicto
6016 4854 6016 5587 conicto
6016 6235 5522 6637 conicto
5028 7040 4155 7040 conicto
1920 7040 lineto
1920 4032 lineto
end_ol grestore
gsave 10.120000 11.067500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
gsave 22.340000 21.547500 translate 0.035278 -0.035278 scale
start_ol
4544 -128 moveto
4510 -128 lineto
2713 -128 1612 1029 conicto
512 2187 512 3966 conicto
512 5794 1572 6929 conicto
2633 8064 4488 8064 conicto
6298 8064 7373 6935 conicto
8448 5806 8448 3968 conicto
8448 2559 7691 1475 conicto
6934 391 5632 27 conicto
6184 -768 7153 -768 conicto
7641 -768 8105 -704 conicto
8256 -1502 lineto
7612 -1664 7171 -1664 conicto
6177 -1664 5631 -1305 conicto
5086 -946 4544 -128 conicto
4485 768 moveto
5826 768 6593 1625 conicto
7360 2483 7360 3966 conicto
7360 5419 6587 6293 conicto
5815 7168 4485 7168 conicto
3145 7168 2372 6296 conicto
1600 5425 1600 3966 conicto
1600 2500 2353 1634 conicto
3106 768 4485 768 conicto
end_ol grestore
gsave 22.340000 23.647500 translate 0.035278 -0.035278 scale
start_ol
4224 4910 moveto
3830 4288 lineto
2560 5130 lineto
2560 3584 lineto
1856 3584 lineto
1856 5119 lineto
569 4288 lineto
192 4910 lineto
1559 5792 lineto
192 6679 lineto
569 7296 lineto
1856 6459 lineto
1856 7936 lineto
2560 7936 lineto
2560 6459 lineto
3830 7296 lineto
4224 6679 lineto
2869 5792 lineto
4224 4910 lineto
end_ol grestore
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
0.098039 0.027451 0.027451 srgb
n 26.010000 21.750000 5.300000 5.775000 0 360 ellipse cp s
0.100000 slw
[1.000000 0.400000 0.200000 0.400000] 0 sd
[1.000000 0.400000 0.200000 0.400000] 0 sd
n 18.985000 22.400000 6.675000 4.125000 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 17.460000 17.562500 translate 0.035278 -0.035278 scale
start_ol
6080 2048 moveto
5184 2048 lineto
5184 4608 lineto
640 4608 lineto
640 5504 lineto
6080 5504 lineto
6080 2048 lineto
end_ol grestore
gsave 18.354159 17.562500 translate 0.035278 -0.035278 scale
start_ol
5904 0 moveto
4880 0 lineto
4768 142 4688 402 conicto
4608 662 4608 832 conicto
3563 -128 2310 -128 conicto
1480 -128 964 297 conicto
448 723 448 1479 conicto
448 2080 757 2494 conicto
1067 2908 1688 3142 conicto
2310 3376 3269 3437 conicto
4608 3520 lineto
4608 3701 lineto
4608 4498 4276 4809 conicto
3945 5120 3110 5120 conicto
2710 5120 2118 4946 conicto
1526 4772 1120 4544 conicto
832 5312 lineto
1309 5624 1997 5820 conicto
2686 6016 3260 6016 conicto
4440 6016 5004 5486 conicto
5568 4956 5568 3868 conicto
5568 1398 lineto
5568 479 5904 0 conicto
4608 1728 moveto
4608 2752 lineto
3335 2683 2940 2643 conicto
2545 2604 2170 2472 conicto
1795 2340 1601 2112 conicto
1408 1885 1408 1546 conicto
1408 1197 1698 982 conicto
1988 768 2443 768 conicto
3023 768 3631 1032 conicto
4239 1297 4608 1728 conicto
end_ol grestore
gsave 26.210000 14.962500 translate 0.035278 -0.035278 scale
start_ol
1728 5184 moveto
2455 6016 3533 6016 conicto
4566 6016 5259 5199 conicto
5952 4382 5952 3062 conicto
5952 1596 5256 734 conicto
4561 -128 3499 -128 conicto
2414 -128 1728 704 conicto
1728 0 lineto
768 0 lineto
768 8384 lineto
1728 8384 lineto
1728 5184 lineto
1728 4288 moveto
1728 1728 lineto
1955 1330 2383 1049 conicto
2811 768 3265 768 conicto
4043 768 4485 1348 conicto
4928 1928 4928 2972 conicto
4928 3999 4491 4559 conicto
4054 5120 3265 5120 conicto
2868 5120 2451 4888 conicto
2034 4657 1728 4288 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slj
0 slc
1.000000 0.000000 0.000000 srgb
n 10.850000 10.800000 m 13.667000 10.800000 19.418000 22.900000 22.235000 22.900000 c s
gsave 14.600000 17.050000 translate 0.035278 -0.035278 scale
start_ol
8080 0 moveto
6780 0 lineto
4042 3200 lineto
1920 3200 lineto
1920 0 lineto
896 0 lineto
896 7936 lineto
4095 7936 lineto
5513 7936 6308 7327 conicto
7104 6718 7104 5591 conicto
7104 4747 6585 4161 conicto
6067 3575 5211 3353 conicto
8080 0 lineto
1920 4096 moveto
4027 4096 lineto
4977 4096 5496 4481 conicto
6016 4866 6016 5579 conicto
6016 7040 3948 7040 conicto
1920 7040 lineto
1920 4096 lineto
end_ol grestore
showpage

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,749 @@
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.17 2010/01/06 13:41:32 robin Exp $
\end{verbatim}
\begin{abstract}
%This chapter describes using diagrams to represent propositional logic.
Propositial Logic Diagrams have been designed to provide an intuitive method for visualising and manipulating
logic equations, to express fault modes in Mechanical and Electronic Systems.
%To aid hierarchical stages of fault analysis, it has been specifically developed for the purpose of
%joining conjunctive conditions with disjuctive conditions
%to group the effects of failure modes.
Diagrams of this type can also be used to model the logical conditions
that control the flow of a computer program. This type of diagram can therefore
integrate logical models from mechanical, electronic and software domains.
Nearly all modern safety critical systems involve these three disiplines.
%
It is intended to be used for analysis of automated safety critical systen
Many types of safety critical systems now legally
require fault mode effects analysis\cite{FMEA},
but few formal systems exist and wide-spread take-up is
not yet the norm.\cite{takeup}.
%
Because of its visual nature, it is easy to manipulate and model
complicated conditions that can lead to dangerous failures in
automated systems.
% No need to talk about abstraction yet, just define PLD PROPERLY
The Diagrams described here form the mathematical basis for a new visual and formal system
for the analysis of safety critical software and hardware systems.
\end{abstract}
%\title{Propositional Logic Diagrams}
%\begin{keyword}
% fault~tree fault~mode EN298 EN61508 EN12067 EN230 UL1998 safety~critical logic euler venn propositional
%\end{keyword}
%\end{frontmatter}
% In software looking at one condition means lots of dont care situations
% in static analysis we look at given sub-sets of faults and assume the other faults
% are not active.
% This is a major cultural difference !
% it deserves a whole chapter.
\section{Introduction}
Propositional Logic Diagrams (PLDs) have been devised
to collect and simplfy fault~modes in safety critical systems undergoing
static analysis\cite{FMEA}\cite{SIL}.
This type of analysis treats failure modes within a system as logical
states. PLD provides a visual method for modelling failure~mode analysis
within these systems, and specifically
identifying common failure symptoms in a user friendly way.
Contrasting this to looking at many propositional logic equations directly
in a text editor or spreadsheet, a visual method is percieved as being more intuitive.
%Traditional set theory is often represented by Euler\cite{euler} or Spider\cite{spider}
%diagrams. These use contours to describe inclusion in a set.may be merged and create a
%Propositional Logic Diagrams (PLDs) use named contours represent a logical conditions.
%Where an Euler diagram would use
%overlapping contours to represent inclusion in sets,
%PLDs use these to represent conjunction of the conditions.
%Named reference points may be placed onto the diagram,
%these represent test cases for conjunction.
%These can be joined by lines to apply disjunction.
%In a spider diagram the lines would represent that the object represented coul;d belong to either set.
%in a PLD it means that the logical conditions represent disjuction; a boolean OR condition.
%these points may be joined.
PLDs use three visual features that
can be combined to represent logic equations. Closed contours (using dashed lines), test cases, and lines that
link test cases.
All features may be labelled, and the labels must be unique within a diagram, however contours may be repeated in the diagram.
%Aditionally a label begining with the `$\neg$' character, applied only to a contour, represents negation.
%Regions defined by contours are used to represent given conjunctive logical conditions.
Test cases are marked by asterisks. These are used as a visual `anchor'
to mark a logical condition, the logical condition being defined by the contours
that enclose the region on which the test~case has been placed.
The contours that enclose represent conjuction.
Test~cases may be connected by joining lines. These lines represent disjunction (Boolean `OR') of
test~cases.
With these three visual syntax elements, we have the basic building blocks for all logic equations possible.
\begin{description}
\item Test cases - Points on the plane indicating a logical condition.
\item Conjunction - Overlapping contours
\item Disjunction - Joining of named test cases.
%\item Negation - Countours negatively named
\end{description}
% Because of this
% we have the complete suite of logical primitives here, conjunction, disjuction and negation.
% Form these complex logic equations can be respresented in 2D.
% Another advantage of this is being able to describe `don't care' conditions.
% Very often in digital hardware design, or in a computer program
% many logical conditions are `don't care'.
% These are difficult to specify in set theory.
\section{Formal Description of PLD}
Definitions of conrete and abstract PLD's follow.
Well-formedness conditions for PLD's are separated from this definition, because of
practical differences between the way they are used to represent software as opposed to
representing electronics and mechanical systems.
\subsection{Concrete PLD Definition}
A concrete {\em Propositional logic diagram} is a set of labeled {\em contours}
(closed curves) in the plane. The minimal regions formed by the closed curves
can by occupied by `test points'.
The `test points' may be joined by joining lines.
A group of `test points' connected by joining lines
is defined as a `test point disjunction' or Spider.
Spiders may be labeled.
To differentiate these from common Euler diagram notation (normally used to represent set theory)
the curves are drawn using dotted and dashed lines.
\subsection{ PLD Definition}
In English:
The elements that can be found in a PLD diagram are a number of contours,
a number of test points and joining lines that connect
test points.
{
\definition{A concrete PLD $d$ is a set comprising of a set of
closed curves $C=C(d)$, a set of test points $T=T(d)$ and
a set of test point joining lines $J=J(d)$.
$$d=\{C,T,J\}$$
}
}
In English:
Each element of the diagram has a unique label within the diagram.
%Thus the set of labels found in a diagram is
%a subset of the powerset of characters that can be present in a label.
%{
%\definition{ $ \mathcal{F}_{d}:C(d) \rightarrow \mathcal{P}\Lambda$ is a
%function associating a label drawn from an infinite
%set of labels $\Lambda$.
%}
%}
%In English:
%A minimal region of a PLD diagram d is a
%region bounded by curves.
%connected component of $\mathbb{R}^{2} - \; \bigcup_{c \in C(d)} c$
%That is to say the complement of all other regions is subtracted from the plane.
%- Or in another way- that smallest area defined by the curves that enclose it
%% \hat is used to indicate CONCRETE
{
\definition{
A minimal region of concrete PLD diagram d is a connected component of
$$ \mathbb{R}^{2} - \; \bigcup_{\hat{c} \in \hat{C}(\hat{d})}\hat{c}$$
% I.e. The contours break the connectivity
}
}
{
\definition
{
Let d be a PLD and $ \mathcal{X} \subseteq \hat{C}(\hat{d})$ a set of countours.
If the set
$$ \hat{z} = \bigcap_{c \in \mathcal{X}}
{interior}
(\hat{c})
\; \cup \;
\bigcap_{\hat{c} \in \hat{C}-X}
exterior (\hat{c})
$$
is non empty, then $\hat{z}$ is a concrete zone of $\hat{d}$. A zone is a union of minimal regions. The set of all concrete zones of $\hat{d}$
is denoted $ \hat{\mathcal{Z}} $.
% NOT interested in labelling the zones.
% but am interested in
%The set of labels associated with the contours in $\mathcal{X}$ is the zone label set $\hat{\mathcal{Z}}(\hat{z})$
%of $\hat{z}$.
%$$ \hat{\mathcal{L}}(\hat{z}) = \bigcup_{\hat{c} \in \mathcal{X}} \mathcal{F}_{d}(\hat{c}) $$
%
% So Z is the set of all available for use ZONES; great !
}
}
Each minimal region in the plane may be inhabited by one or more `test points'.
% One or more because in software the same logical conditions mean existing in the same
% region. For electroincs or mechanical, one test point per region is
% mandatory. How to describe ?????
Each test point can be associated with the set of contours that enclose it.
%defined the minimal region it inhabits.
{
\definition{ $ \mathcal{Z}_{d}:T(d)\rightarrow \mathcal{C}$ is a function
associating a testpoint with a set of contours in the plane. This corresponds to the interior of the contours defining the zone.
}
}
Pairs of test points may be joined by joining lines.
The operator $\stackrel{join}{\leftrightarrow}$ is used to
show that two points are joined by a line in the concrete diagram.
{
\definition{
$ \mathcal{F}_{j}$ is a function
associating a joining line with a pair of test points. The Join t1,t2 is defined as
%$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 %\wedge t1 \stackrel{join}{\leftrightarrow} t2\} $$
$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 \} $$
}
}
In English:
Test points on the concrete diagram pair-wise connected by a `joining line'
A collection of test points connected by joining lines, is an Fuctionally Merged Group, $FMG$
or `test point disjunction'.
An $FMG$ has members which are test points.
{may be merged
and create a
\definition{
%A spider is a set of test points where,
%a test point is a member of a spider where it can trace a path connected by joining lines
%to another member of the spider. A singleton test point can be considered a spider.
Let d be a PLD : An $FMG$ is a maximal set of test points in d where
the test points belong to a sequence connected by joining lines such that:
$$ t_i \stackrel{join}{\leftrightarrow} t_n, for \; i = 1, ..., n $$
OR consider an $FMG$ as a tree whose nodes are test points.
}
}
A singleton test point can be considered a sequence of one test point and is therefore also an $FMG$.
% \subsection{Abstract Description of PLD}
%
% An Abstract PLD {\em Propositional logic diagram} consists of contours $C$ defining zones $Z$, test points $T$ (which
% are defined by the zone they inhabit) and pair wise connections $W$, which connect test points.
% Collections of test points, linked by shared conecting lines, form a set of test point groups $G$.
%
% A Zone defined by the contours that enclose it in the concrete diagram.
%
% $$ Z \subseteq C $$
%
% A test point $t \in T$ in habits a zone on the diagram.
%
% $$ \eta(t) = Z $$
%
% A joining line $$ w \in W $$ joins test points.
%
% $$ w = t1 \stackrel{join}{\rightarrow} t2 | t1 \neq t2 \wedge t1 \in T \wedge t2 \in T $$
%
% A test point group $g \in G$ is defined by test points linked by shared connecting lines.
\subsection{Semantics of PLD}
\begin{itemize}
\item A closed curve in a PLD represents a condition (logical state) being modelled.
\item A test point represents the conjunction of the conditions represented by the curves that enclose it.
\item A $FMG$ represents the disjunction of all test points that are members of it.
\end{itemize}
To obtain the set of propositions from a PLD, each $FMG$ must be processed. For each test case
in the $FMG$ a new section of the equation is disjuctively appended to it.
Let conjunctive logic equation associated with a test point
be determined from the contours that enclose it.
i.e. the contours $\mathcal{X}$ from the zone it inhabits.
{
\definition{
Let $\mathcal{F}_{t}$ be a function mapping a test point to a proposition / logical equation $p \in P$.
The test point inhabits the zone $\mathcal{Z}$ which is a collection of contours (the contours that enclose the test point.
$$ \mathcal{F}:T \rightarrow P $$
%$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} \Lambda c $$
$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} c $$
}
}
In English:
Thus a `test point' enclosed by contours labelled $a,b,c$ would be represented by the logic equation
$ a \wedge b \wedge c $.
{
\definition{
Let $\mathcal{G}_{fmg}$ be a function that returns a logic equation for a given $FMG$
$fmg$ in the diagram, where an FMG is a non empty set of test points
% $t$ is a `test point'
$$ \mathcal{G}:FMG \rightarrow P_{fmg} $$
The logic equation representing an FMG $p_{fmg}$ can be determined thus.
$$\mathcal{G}_{fmg}(fmg) = \bigvee_{t \in fmg} (\; \mathcal{F}_{t} (t) \;) $$
}
}
The abstract PLD diagram is a set of logic equations representing all FMGs,
along with unused zones (i.e. zones that are not inhabited by FMGs).
{
\definition{
\label{FMGderivation}
A diagram can be reduced to a collection of $FMG$s.
A new diagram can be derived from this, replacing a contour for each FMG.
This diagram is at one higher level of abstraction then the diagram that
it was produced from.
}
}
\section{Example Diagrams}
\subsection {How to read a PLD diagram}
PLD diagrams are read by first looking at the test case points.
The test case asterisk will be enclosed by one or more contours.
These contours are collected and form the logical conjunction
equation for the test case.
These test case points thus represent the conjunctive aspects
of an equation defined in a PLD. Where these test cases are joined by lines;
these represent disjunction of the conjunctive aspects defined by the test cases.
Joining lines thus represent dis-junction in a PLD.
%Where negation and assertion of a logical condition is required in the same diagram, a separate contour can be created, which is
%..assigned the same name as its positive counter part, but preceded by a negation `$\neg$' sign.
%Obviously were a drawing to show conjunction of a contour and its complement
%this would result in a contradiction for any test case placed on it, and would be a visual `syntax error'.
%Note that negation is handled explicitly. This is to allow `don't care'
%conditions. Should a test case be outside a contour, that contour is a `don't care' condition.
%In a PLD, contours may be represented in complement, to provide
%logical negation. Here the contour name is begun with the negation symbol `$\neg$'.
%%To represent conjunction of logical conditions (Boolean `AND'), contours may be overlapped.
%Providing explicit negation, in addition to disjunction and conjunction
%allows us to represent `don't care' or `tri-state' logical conditions. Simply by
%not using the conditions we are not interested in they are `don't care'.
%
%\section{Example Logic Diagrams}
\subsection{ Logical AND example }
\begin{figure}[h+]
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldand.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.6]{ldand.eps}
\caption{Logical AND}
\label{fig:ld_and}
\end{figure}
In the diagram \ref{fig:ld_and} the area of intersection between the contours $a$ and $b$
represents the conjunction of those conditions. The point $P$ represents the logic equation
$$ P = (a \wedge b) $$
There are no disjunctive joining lines and so this diagram represents one equation only, $ P = (a \wedge b) $.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where both failure~modes are active.
\clearpage
\subsection { Logical OR example }
\begin{figure}[h+]
%\centering
%\input{ldor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldor.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.60]{ldor.eps}
\caption{Logical OR}
\label{fig:ld_or}
\end{figure} % OR
The diagram \ref{fig:ld_or} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (a) $$
$$ Q = (b) $$
The two test cases are joined by a the line named $R$.
we thus apply disjunction to the test cases.
$$ R = P \vee Q $$
substituting the test cases for their Boolean logic equations gives
$$ R = ((a) \vee (b)) $$.
\clearpage
\subsection {Labels and useage}
In diagram \ref{fig:ld_meq} Z and W were labeled but were not necessary for the final expression
of $ R = b \vee c $. The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning.
Test cases joined by disjunction, all become represented in one, resultant equation.
Therefore only test cases not linked by any disjunctive joining lines need be named.
The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with
two unnamed test cases.
\begin{figure}[h+]
%\centering
%\input{millivolt_sensor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq2.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.4]{ldmeq2.eps}
\caption{Several Logical Expressions with unamed test cases}
\label{fig:ld_meq2}
\end{figure}
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where either failure~mode is active.
Additionally it says that either failure mode $a$ or $b$ being active
will have a resultant effect $R$ on the sub-system. Note that the effect
of $a$ and $b$ both being active is not defined on this diagram.
\clearpage
\subsection { Repeated Contour example }
Repeated contours are allowed in PLD diagrams.
Logical contradictions or tautologies can be detected automatically by
a software tool which assists in drawing these diagrams.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 486 206]{./repeated.eps}
% repeated.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 486 206
\label{fig:repeated}
\end{figure}
The diagram \ref{fig:repeat} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (b) $$
$$ Q = (a) \wedge (c) $$
The two test cases are joined by a the line named $R1$.
we thus apply disjunction to the test cases.
$$ R1 = P \vee Q $$
$$ R1 = b \vee ( a \wedge c ) $$.
$R2$ joins two other test cases
$$R2 = a \vee c $$
The test~case residing in the intersection of countours $B$ and $A$
represents the logic equation $R3 = a \wedge b$.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
There is an additional symptom, that of the test case in $A \wedge B$.
\clearpage
\subsection { Inhibit Failure }
Very often a failure mode can only occurr
given a searate environmental condition.
In Fault Tree Analysis (FTA) this is represented by an inhibit gate.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 364 228]{./inhibit.eps}
% inhibit.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 364 228
\label{fig:inhibit}
\end{figure}
The diagram \ref{fig:inhibit} has a test case in the contour $C$.
Contour $C$ is enclosed by contour $A$. This says
that for failure~mode $C$ to occur failure mode $A$
must have occurred.
A well known example of this is the space shuttle `O' ring failure that
caused the 1986 challenger disaster \cite{wdycwopt}.
For the failure mode to occurr the ambiant temperature had to
be below a critical value.
If we take the failure mode of the `O' ring to be $C$
and the temperature below critical to be $A$, we can see that
the low temperature failure~mode $C$ can only occurr if $A$ is true.
The `O' ring could fail in a different way independant of the critical temperature and this is
represented, for the sake of this example, by contour $D$.
In terms of propositional logic, the inhibit gate of FTA, and the countour enclosure
of PLD represent {\em implication}.
\\
\tiny
\vspace{0.3cm}
\begin{tabular}{||c|c|c|c||} \hline \hline
{\em $c$ } & {\em $a$ } & {\em $R1$ } \\ \hline
F & F & T \\ \hline
F & T & T \\ \hline
T & F & F \\ \hline
T & T & T \\ \hline \hline
\end{tabular}
\vspace{0.3cm}
\normalsize
$$ R1 = c \implies a $$
$$ R2 = a $$
$$ R3 = d $$
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
Note that although R2 is a symptom of the sub-system, on its own
it will not lead to a dangerous failure~mode of the subsystem.
% \subsection { Representing Logical Negation }
%
% \begin{figure}[h+]
% %\centering
% %\input{ldor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldneg.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.60]{ldneg.eps}
% \caption{Logical Negation}
% \label{fig:ld_neg}
% \end{figure} % OR
%
% Diagram \ref{fig:ld_neg} represents the logical equation $$ P = a \wedge b \wedge \neg c $$.
%
% \paragraph{How this would be interpreted in failure analysis}
% In failure analysis this test case represents the scenario where failure modes $a$ and $b$
% are active but $c$ is not.
%
%
%
% \clearpage
% \subsection { Logical XOR example }
%
% An exclusive or condition is represented by diagram \ref{fig:ld_xor}.
% The Equations represented are as follows.
%
% firstly looking at the test case points
% $$ P = (\neg a \wedge b) $$
% $$ Q = (\neg b \wedge a) $$
%
% now joining them with the disjuctive line
% $$ R = P \vee Q $$
%
% Giving R as a Boolean equation
% $$ R = (\neg a \wedge b) \vee (\neg b \wedge a) $$
% or taking the symbol $\oplus$ to mean exclusive-or
% $$R = a \oplus b $$
%
%
% % \begin{figure}[h] %% SOMETHING IS WRONG says latex. very helpful tell me what it fucking is then
% % \centering
% % \caption{Example `XOR' Diagram}
% % \includegraphics[scale=0.80]{ldxor.eps}
% % \label{fig:ld_xor}
% % \end{figure} % XOR
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% % bb= llx lly urx ury;
% \includegraphics[width=200pt,bb=0pt 0pt 800pt 800pt]{logic_diagram/ldxor.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
%
% %\includegraphics[scale=0.4]{ldxor.eps}
% \caption{Logical XOR}
% \label{fig:ld_xor}
% \end{figure}
%
% \clearpage
% \subsection { Logical IMPLICATION example }
%
%
% An implication $a \rightarrow b$ is represented by diagram \ref{fig:ld_imp}.
% The Equations represented are as follows.
%
% Looking at the conjuctive environment of the test cases
% $$P = (\neg a)$$
% $$Q = (b)$$
% From the joining `disjunctive' line R in the diagram.
% $$R = P \vee Q$$
% Leading to
% $$R = (\neg a) \vee (b)$$
% which is the standard logic equation for implication.
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldimp.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldimp.eps}
% \caption{Logical Implication}
% \label{fig:ld_imp}
% \end{figure}
%
% \tiny
% %\vspace{0.3cm}
% \begin{tabular}{||c|c|c|c||} \hline \hline
%
% {\em $a$ } & {\em $b$ } & {implication \em $(\neg a) \vee (b) $ } \\ \hline
% F & F & T \\ \hline
% F & T & T \\ \hline
% T & F & F \\ \hline
% T & T & T \\ \hline \hline
% \end{tabular}
% %\vspace{0.3cm}
% \normalsize
%
% \clearpage
% \subsection { Diagram representing several Logic Equations Example }
%
%
% bb=0 0 450 404
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldmeq.eps}
% \caption{Several Logical Expressions}
% \label{fig:ld_meq}
% \end{figure}
%
% %The effect of using explicit negation, means that a test case being outside a given contour does not imply negation, it implies a `don't care'
% %condition.
%
% Three simple equations are represented in the diagram \ref{fig:ld_dc}.
%
% %The Set of contours $\mho$ represent the `don't care' conditions.
%
% The Equations represented are as follows.
%
% %$$ Q = a \; | \; \mho\{b,c\} $$
%
% %$$ P = b \wedge c \; | \; \mho\{a\} $$
%
% $$ Q = a $$
% $$ P = b \wedge c $$
% $$ R = b \vee c $$
%
% % XXXXXX gives annoying impossible to understand syntax messages
% %\small
% %\bibliography{vmgbibliography,mybib}
% %\bibliography{vmgbibliography}
% %\normalsize
%
\section{Intended use in FMMD}
The intention for these diagrams is that they are used to collect
component faults and combinations thereof, into faults that,
at the module level have the same symptoms.
\subsection{Example Sub-system}
For instance were a `power supply' being analysed there could be several
individual component faults or combinations that lead to
a situation where there is no power. This can be described as a state
of the powersupply being modeelled as NO\_POWER.
These can all be collected by DISJUCNTION, i.e. that this this or this
fault occuring will cause the NO\_POWER fault. Visually this disjuction is
indicated by the joining lines.
As far as the user of the `power supply' is concerned, the power supply has failed
with the failure mode $NO\_POWER$.
The `power supply' module, after this process will have a defined set of
fault modes and may be considered as a component at a higher
level of abstraction. This module can then be combined
with others at the same abstraction level.
Note that because this is a fault collection process
the number of component faults for a module
must be less than or equal to the sum of the number of component faults.
%Typeset in \ \ {\huge \LaTeX} \ \ on \ \ \today
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.17 2010/01/06 13:41:32 robin Exp $
\end{verbatim}
Compiled last \today
%\end{document}
%\theend

View File

@ -0,0 +1,723 @@
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.15 2009/02/09 07:33:27 robin Exp $
\end{verbatim}
\begin{abstract}
%This chapter describes using diagrams to represent propositional logic.
Propositial Logic Diagrams have been designed to provide an intuitive method for visualising and manipulating
logic equations, to express fault modes in Mechanical and Electronic Systems.
%To aid hierarchical stages of fault analysis, it has been specifically developed for the purpose of
%joining conjunctive conditions with disjuctive conditions
%to group the effects of failure modes.
Diagrams of this type can also be used to model the logical conditions
that control the flow of a computer program. This type of diagram can therefore
integrate logical models from mechanical, electronic and software domains.
Nearly all modern safety critical systems involve these three disiplines.
%
It is intended to be used for analysis of automated safety critical systen
Many types of safety critical systems now legally
require fault mode effects analysis\cite{FMEA},
but few formal systems exist and wide-spread take-up is
not yet the norm.\cite{takeup}.
%
Because of its visual nature, it is easy to manipulate and model
complicated conditions that can lead to dangerous failures in
automated systems.
% No need to talk about abstraction yet, just define PLD PROPERLY
The Diagrams described here form the mathematical basis for a new visual and formal system
for the analysis of safety critical software and hardware systems.
\end{abstract}
%\title{Propositional Logic Diagrams}
%\begin{keyword}
% fault~tree fault~mode EN298 EN61508 EN12067 EN230 UL1998 safety~critical logic euler venn propositional
%\end{keyword}
%\end{frontmatter}
\section{Introduction}
Propositional Logic Diagrams (PLDs) have been devised
to collect and simplfy fault~modes in safety critical systems undergoing
static analysis\cite{FMEA}\cite{SIL}.
This type of analysis treats failure modes within a system as logical
states. PLD provides a visual method for modelling failure~mode analysis
within these systems, and specifically
identifying common failure symptoms in a user friendly way.
Contrasting this to looking at many propositional logic equations directly
in a text editor or spreadsheet, a visual method is prefferred.
%Traditional set theory is often represented by Euler\cite{euler} or Spider\cite{spider}
%diagrams. These use contours to describe inclusion in a set.may be merged and create a
%Propositional Logic Diagrams (PLDs) use named contours represent a logical conditions.
%Where an Euler diagram would use
%overlapping contours to represent inclusion in sets,
%PLDs use these to represent conjunction of the conditions.
%Named reference points may be placed onto the diagram,
%these represent test cases for conjunction.
%These can be joined by lines to apply disjunction.
%In a spider diagram the lines would represent that the object represented coul;d belong to either set.
%in a PLD it means that the logical conditions represent disjuction; a boolean OR condition.
%these points may be joined.
PLDs use three visual features that
can be combined to represent logic equations. Closed contours (using dashed lines), test cases, and joining lines.
All features may be labelled, and the labels must be unique within a diagram, however contours may be repeated in the diagram.
%Aditionally a label begining with the `$\neg$' character, applied only to a contour, represents negation.
%Regions defined by contours are used to represent given conjunctive logical conditions.
Test cases are marked by asterisks. These are used as a visual `anchor'
to mark a logical condition, the logical condition being defined by the countours
that enclose the region on which the test case has been placed.
Test cases may be pair-wise connected by named lines representing disjunction (Boolean `OR') of
the conditions defined by the placement of the test case markers.
With these three visual syntax elements, we have the basic building blocks for all logic equations possible.
\begin{description}
\item Test cases - Points on the plane indicating a logical condition.
\item Conjunction - Overlapping contours
\item Disjunction - Joining of named test cases.
%\item Negation - Countours negatively named
\end{description}
% Because of this
% we have the complete suite of logical primitives here, conjunction, disjuction and negation.
% Form these complex logic equations can be respresented in 2D.
% Another advantage of this is being able to describe `don't care' conditions.
% Very often in digital hardware design, or in a computer program
% many logical conditions are `don't care'.
% These are difficult to specify in set theory.
\section{Formal Description of PLD}
Definitions of conrete and abstract PLD's follow.
Well-formedness conditions for PLD's are separated from this definition, because of
practical differences between the way they are used to represent software as opposed to
representing electronics and mechanical systems.
\subsection{Concrete PLD Definition}
A concrete {\em Propositional logic diagram} is a set of labeled {\em contours}
(closed curves) in the plane. The minimal regions formed by the closed curves
can by occupied by `test points'.
The `test points' may be joined by joining lines.
A group of `test points' connected by joining lines
is defined as a `test point disjunction' or Spider.
Spiders may be labeled.
To differentiate these from common Euler diagram notation (normally used to represent set theory)
the curves are drawn using dotted and dashed lines.
\subsection{ PLD Definition}
In English:
The elements that can be found in a PLD diagram are a number of contours,
a number of test points and joining lines that connect
test points.
{
\definition{A concrete PLD $d$ is a set comprising of a set of
closed curves $C=C(d)$, a set of test points $T=T(d)$ and
a set of test point joining lines $J=J(d)$.
$$d=\{C,T,J\}$$
}
}
In English:
Each element of the diagram has a unique label within the diagram.
%Thus the set of labels found in a diagram is
%a subset of the powerset of characters that can be present in a label.
%{
%\definition{ $ \mathcal{F}_{d}:C(d) \rightarrow \mathcal{P}\Lambda$ is a
%function associating a label drawn from an infinite
%set of labels $\Lambda$.
%}
%}
%In English:
%A minimal region of a PLD diagram d is a
%region bounded by curves.
%connected component of $\mathbb{R}^{2} - \; \bigcup_{c \in C(d)} c$
%That is to say the complement of all other regions is subtracted from the plane.
%- Or in another way- that smallest area defined by the curves that enclose it
%% \hat is used to indicate CONCRETE
{
\definition{
A minimal region of concrete PLD diagram d is a connected component of
$$ \mathbb{R}^{2} - \; \bigcup_{\hat{c} \in \hat{C}(\hat{d})}\hat{c}$$
% I.e. The contours break the connectivity
}
}
{
\definition
{
Let d be a PLD and $ \mathcal{X} \subseteq \hat{C}(\hat{d})$ a set of countours.
If the set
$$ \hat{z} = \bigcap_{c \in \mathcal{X}}
{interior}
(\hat{c})
\; \cup \;
\bigcap_{\hat{c} \in \hat{C}-X}
exterior (\hat{c})
$$
is non empty, then $\hat{z}$ is a concrete zone of $\hat{d}$. A zone is a union of minimal regions. The set of all concrete zones of $\hat{d}$
is denoted $ \hat{\mathcal{Z}} $.
% NOT interested in labelling the zones.
% but am interested in
%The set of labels associated with the contours in $\mathcal{X}$ is the zone label set $\hat{\mathcal{Z}}(\hat{z})$
%of $\hat{z}$.
%$$ \hat{\mathcal{L}}(\hat{z}) = \bigcup_{\hat{c} \in \mathcal{X}} \mathcal{F}_{d}(\hat{c}) $$
%
% So Z is the set of all available for use ZONES; great !
}
}
Each minimal region in the plane may be inhabited by one or more `test points'.
% One or more because in software the same logical conditions mean existing in the same
% region. For electroincs or mechanical, one test point per region is
% mandatory. How to describe ?????
Each test point can be associated with the set of contours that enclose it.
%defined the minimal region it inhabits.
{
\definition{ $ \mathcal{Z}_{d}:T(d)\rightarrow \mathcal{C}$ is a function
associating a testpoint with a set of contours in the plane. This corresponds to the interior of the contours defining the zone.
}
}
Pairs of test points may be joined by joining lines.
The operator $\stackrel{join}{\leftrightarrow}$ is used to
show that two points are joined by a line in the concrete diagram.
{
\definition{
$ \mathcal{F}_{j}$ is a function
associating a joining line with a pair of test points. The Join t1,t2 is defined as
%$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 %\wedge t1 \stackrel{join}{\leftrightarrow} t2\} $$
$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 \} $$
}
}
In English:
Test points on the concrete diagram pair-wise connected by a `joining line'
A collection of test points connected by joining lines, is an Fuctionally Merged Group, $FMG$
or `test point disjunction'.
An $FMG$ has members which are test points.
{may be merged
and create a
\definition{
%A spider is a set of test points where,
%a test point is a member of a spider where it can trace a path connected by joining lines
%to another member of the spider. A singleton test point can be considered a spider.
Let d be a PLD : An $FMG$ is a maximal set of test points in d where
the test points belong to a sequence connected by joining lines such that:
$$ t_i \stackrel{join}{\leftrightarrow} t_n, for \; i = 1, ..., n $$
OR consider an $FMG$ as a tree whose nodes are test points.
}
}
A singleton test point can be considered a sequence of one test point and is therefore also an $FMG$.
% \subsection{Abstract Description of PLD}
%
% An Abstract PLD {\em Propositional logic diagram} consists of contours $C$ defining zones $Z$, test points $T$ (which
% are defined by the zone they inhabit) and pair wise connections $W$, which connect test points.
% Collections of test points, linked by shared conecting lines, form a set of test point groups $G$.
%
% A Zone defined by the contours that enclose it in the concrete diagram.
%
% $$ Z \subseteq C $$
%
% A test point $t \in T$ in habits a zone on the diagram.
%
% $$ \eta(t) = Z $$
%
% A joining line $$ w \in W $$ joins test points.
%
% $$ w = t1 \stackrel{join}{\rightarrow} t2 | t1 \neq t2 \wedge t1 \in T \wedge t2 \in T $$
%
% A test point group $g \in G$ is defined by test points linked by shared connecting lines.
\subsection{Semantics of PLD}
\begin{itemize}
\item A closed curve in a PLD represents a condition (logical state) being modelled.
\item A test point represents the conjunction of the conditions represented by the curves that enclose it.
\item A $FMG$ represents the disjunction of all test points that are members of it.
\end{itemize}
To obtain the set of propositions from a PLD, each $FMG$ must be processed. For each test case
in the $FMG$ a new section of the equation is disjuctively appended to it.
Let conjunctive logic equation associated with a test point
be determined from the contours that enclose it.
i.e. the contours $\mathcal{X}$ from the zone it inhabits.
{
\definition{
Let $\mathcal{F}_{t}$ be a function mapping a test point to a proposition / logical equation $p \in P$.
The test point inhabits the zone $\mathcal{Z}$ which is a collection of contours (the contours that enclose the test point.
$$ \mathcal{F}:T \rightarrow P $$
%$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} \Lambda c $$
$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} c $$
}
}
In English:
Thus a `test point' enclosed by contours labelled $a,b,c$ would be represented by the logic equation
$ a \wedge b \wedge c $.
{
\definition{
Let $\mathcal{G}_{fmg}$ be a function that returns a logic equation for a given $FMG$
$fmg$ in the diagram, where an FMG is a non empty set of test points
% $t$ is a `test point'
$$ \mathcal{G}:FMG \rightarrow P_{fmg} $$
The logic equation representing an FMG $p_{fmg}$ can be determined thus.
$$\mathcal{G}_{fmg}(fmg) = \bigvee_{t \in fmg} (\; \mathcal{F}_{t} (t) \;) $$
}
}
The abstract PLD diagram is a set of logic equations representing all FMGs,
along with unused zones (i.e. zones that are not inhabited by FMGs).
{
\definition{
\label{FMGderivation}
A diagram can be reduced to a collection of $FMG$s.
A new diagram can be derived from this, replacing a contour for each FMG.
This diagram is at one higher level of abstraction then the diagram that
it was produced from.
}
}
\section{Example Diagrams}
\subsection {How to read a PLD diagram}
PLD diagrams are read by first looking at the test case points.
The test case asterisk will be enclosed by one or more contours.
These contours are collected and form the logical conjunction
equation for the test case.
These test case points thus represent the conjunctive aspects
of an equation defined in a PLD. Where these test cases are joined by lines;
these represent disjunction of the conjunctive aspects defined by the test cases.
Joining lines thus represent dis-junction in a PLD.
%Where negation and assertion of a logical condition is required in the same diagram, a separate contour can be created, which is
%..assigned the same name as its positive counter part, but preceded by a negation `$\neg$' sign.
%Obviously were a drawing to show conjunction of a contour and its complement
%this would result in a contradiction for any test case placed on it, and would be a visual `syntax error'.
%Note that negation is handled explicitly. This is to allow `don't care'
%conditions. Should a test case be outside a contour, that contour is a `don't care' condition.
%In a PLD, contours may be represented in complement, to provide
%logical negation. Here the contour name is begun with the negation symbol `$\neg$'.
%%To represent conjunction of logical conditions (Boolean `AND'), contours may be overlapped.
%Providing explicit negation, in addition to disjunction and conjunction
%allows us to represent `don't care' or `tri-state' logical conditions. Simply by
%not using the conditions we are not interested in they are `don't care'.
%
%\section{Example Logic Diagrams}
\subsection{ Logical AND example }
\begin{figure}[h+]
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldand.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.6]{ldand.eps}
\caption{Logical AND}
\label{fig:ld_and}
\end{figure}
In the diagram \ref{fig:ld_and} the area of intersection between the contours $a$ and $b$
represents the conjunction of those conditions. The point $P$ represents the logic equation
$$ P = (a \wedge b) $$
There are no disjunctive joining lines and so this diagram represents one equation only, $ P = (a \wedge b) $.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where both failure~modes are active.
\clearpage
\subsection { Logical OR example }
\begin{figure}[h+]
%\centering
%\input{ldor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldor.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.60]{ldor.eps}
\caption{Logical OR}
\label{fig:ld_or}
\end{figure} % OR
The diagram \ref{fig:ld_or} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (a) $$
$$ Q = (b) $$
The two test cases are joined by a the line named $R$.
we thus apply disjunction to the test cases.
$$ R = P \vee Q $$
substituting the test cases for their Boolean logic equations gives
$$ R = ((a) \vee (b)) $$.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where either failure~mode is active.
Additionally it says that either failure mode $a$ or $b$ being active
will have a resultant effect $R$ on the sub-system. Note that the effect
of $a$ and $b$ both being active is not defined on this diagram.
\clearpage
\subsection { Repeated Contour example }
Repeated contours are allowed in PLD diagrams.
Logical contradictions or tautologies can be detected automatically by
a software tool which assists in drawing these diagrams.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 640 480]{./repeated.jpg}
% repeated.jpg: 640x480 pixel, 72dpi, 22.58x16.93 cm, bb=0 0 640 480
\caption{Repeated Contours}
\label{fig:repeat}
\end{figure}
The diagram \ref{fig:repeat} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (a) $$
$$ Q = (b) \wedge (c) $$
The two test cases are joined by a the line named $R1$.
we thus apply disjunction to the test cases.
$$ R1 = P \vee Q $$
$$ R1 = b \wedge ( a \vee c ) $$.
$R2$ joins two other test cases
$$R2 = a \vee c $$
The test~case residing in the intersection of countours $B$ and $A$
represents the logic equation $R = a \wedge b$.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
There is an additional symptom, that of the test case in $A \wedge B$.
\clearpage
\subsection { Inhibit Failure }
Very often a failure mode can only occurr
given a searate environmental condition.
In Fault Tree Analysis (FTA) this is represented by an inhibit gate.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 640 480]{./inhibit.jpg}
% repeated.jpg: 640x480 pixel, 72dpi, 22.58x16.93 cm, bb=0 0 640 480
\caption{Inhibit Contours}
\label{fig:inhibit}
\end{figure}
The diagram \ref{fig:inhibit} has a test case in the contour $C$.
Contour $C$ is enclosed by contour $A$. This says
that for failure~mode $C$ to occur failure mode $A$
must have occurred.
A well known example of this is the space shuttle `O' ring failure that
caused the 1986 challenger disaster \cite {wdycwopt}.
For the failure mode to occurr the ambiant temperature had to
be below a critical value.
If we take the failure mode of the `O' ring to be $C$
and the temperature below critical to be $A$, we can see that
the low temperature failure~mode $C$ can only occurr if $A$ is true.
The `O' ring could fail in a different way above the critical temperature and this is
represented, for the sake of this example, by contour $D$
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
There is an additional symptom, that of the test case in $A \wedge B$.
% \subsection { Representing Logical Negation }
%
% \begin{figure}[h+]
% %\centering
% %\input{ldor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldneg.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.60]{ldneg.eps}
% \caption{Logical Negation}
% \label{fig:ld_neg}
% \end{figure} % OR
%
% Diagram \ref{fig:ld_neg} represents the logical equation $$ P = a \wedge b \wedge \neg c $$.
%
% \paragraph{How this would be interpreted in failure analysis}
% In failure analysis this test case represents the scenario where failure modes $a$ and $b$
% are active but $c$ is not.
%
%
%
% \clearpage
% \subsection { Logical XOR example }
%
% An exclusive or condition is represented by diagram \ref{fig:ld_xor}.
% The Equations represented are as follows.
%
% firstly looking at the test case points
% $$ P = (\neg a \wedge b) $$
% $$ Q = (\neg b \wedge a) $$
%
% now joining them with the disjuctive line
% $$ R = P \vee Q $$
%
% Giving R as a Boolean equation
% $$ R = (\neg a \wedge b) \vee (\neg b \wedge a) $$
% or taking the symbol $\oplus$ to mean exclusive-or
% $$R = a \oplus b $$
%
%
% % \begin{figure}[h] %% SOMETHING IS WRONG says latex. very helpful tell me what it fucking is then
% % \centering
% % \caption{Example `XOR' Diagram}
% % \includegraphics[scale=0.80]{ldxor.eps}
% % \label{fig:ld_xor}
% % \end{figure} % XOR
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% % bb= llx lly urx ury;
% \includegraphics[width=200pt,bb=0pt 0pt 800pt 800pt]{logic_diagram/ldxor.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
%
% %\includegraphics[scale=0.4]{ldxor.eps}
% \caption{Logical XOR}
% \label{fig:ld_xor}
% \end{figure}
%
% \clearpage
% \subsection { Logical IMPLICATION example }
%
%
% An implication $a \rightarrow b$ is represented by diagram \ref{fig:ld_imp}.
% The Equations represented are as follows.
%
% Looking at the conjuctive environment of the test cases
% $$P = (\neg a)$$
% $$Q = (b)$$
% From the joining `disjunctive' line R in the diagram.
% $$R = P \vee Q$$
% Leading to
% $$R = (\neg a) \vee (b)$$
% which is the standard logic equation for implication.
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldimp.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldimp.eps}
% \caption{Logical Implication}
% \label{fig:ld_imp}
% \end{figure}
%
% \tiny
% %\vspace{0.3cm}
% \begin{tabular}{||c|c|c|c||} \hline \hline
%
% {\em $a$ } & {\em $b$ } & {implication \em $(\neg a) \vee (b) $ } \\ \hline
% F & F & T \\ \hline
% F & T & T \\ \hline
% T & F & F \\ \hline
% T & T & T \\ \hline \hline
% \end{tabular}
% %\vspace{0.3cm}
% \normalsize
%
% \clearpage
% \subsection { Diagram representing several Logic Equations Example }
%
%
% bb=0 0 450 404
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldmeq.eps}
% \caption{Several Logical Expressions}
% \label{fig:ld_meq}
% \end{figure}
%
% %The effect of using explicit negation, means that a test case being outside a given contour does not imply negation, it implies a `don't care'
% %condition.
%
% Three simple equations are represented in the diagram \ref{fig:ld_dc}.
%
% %The Set of contours $\mho$ represent the `don't care' conditions.
%
% The Equations represented are as follows.
%
% %$$ Q = a \; | \; \mho\{b,c\} $$
%
% %$$ P = b \wedge c \; | \; \mho\{a\} $$
%
% $$ Q = a $$
% $$ P = b \wedge c $$
% $$ R = b \vee c $$
%
% % XXXXXX gives annoying impossible to understand syntax messages
% %\small
% %\bibliography{vmgbibliography,mybib}
% %\bibliography{vmgbibliography}
% %\normalsize
%
\clearpage
\subsection {Labels and useage}
In diagram \ref{fig:ld_meq} Z and W were labeled but were not necessary for the final expression
of $ R = b \vee c $. The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning.
Test cases joined by disjunction, all become represented in one, resultant equation.
Therefore only test cases not linked by any disjunctive joining lines need be named.
The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with
two unnamed test cases.
\begin{figure}[h+]
%\centering
%\input{millivolt_sensor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq2.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.4]{ldmeq2.eps}
\caption{Several Logical Expressions with unamed test cases}
\label{fig:ld_meq2}
\end{figure}
\section{Intended use in FMMD}
The intention for these diagrams is that they are used to collect
component faults and combinations thereof, into faults that,
at the module level have the same symptoms.
\subsection{Example Sub-system}
For instance were a `power supply' being analysed there could be several
individual component faults or combinations that lead to
a situation where there is no power. This can be described as a state
of the powersupply being modeelled as NO\_POWER.
These can all be collected by DISJUCNTION, i.e. that this this or this
fault occuring will cause the NO\_POWER fault. Visually this disjuction is
indicated by the joining lines.
As far as the user of the `power supply' is concerned, the power supply has failed
with the failure mode $NO\_POWER$.
The `power supply' module, after this process will have a defined set of
fault modes and may be considered as a component at a higher
level of abstraction. This module can then be combined
with others at the same abstraction level.
Note that because this is a fault collection process
the number of component faults for a module
must be less than or equal to the sum of the number of component faults.
%Typeset in \ \ {\huge \LaTeX} \ \ on \ \ \today
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.15 2009/02/09 07:33:27 robin Exp $
\end{verbatim}
Compiled last \today
%\end{document}
%\theend

View File

@ -0,0 +1,742 @@
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.15 2009/02/09 07:33:27 robin Exp $
\end{verbatim}
\begin{abstract}
%This chapter describes using diagrams to represent propositional logic.
Propositial Logic Diagrams have been designed to provide an intuitive method for visualising and manipulating
logic equations, to express fault modes in Mechanical and Electronic Systems.
%To aid hierarchical stages of fault analysis, it has been specifically developed for the purpose of
%joining conjunctive conditions with disjuctive conditions
%to group the effects of failure modes.
Diagrams of this type can also be used to model the logical conditions
that control the flow of a computer program. This type of diagram can therefore
integrate logical models from mechanical, electronic and software domains.
Nearly all modern safety critical systems involve these three disiplines.
%
It is intended to be used for analysis of automated safety critical systen
Many types of safety critical systems now legally
require fault mode effects analysis\cite{FMEA},
but few formal systems exist and wide-spread take-up is
not yet the norm.\cite{takeup}.
%
Because of its visual nature, it is easy to manipulate and model
complicated conditions that can lead to dangerous failures in
automated systems.
% No need to talk about abstraction yet, just define PLD PROPERLY
The Diagrams described here form the mathematical basis for a new visual and formal system
for the analysis of safety critical software and hardware systems.
\end{abstract}
%\title{Propositional Logic Diagrams}
%\begin{keyword}
% fault~tree fault~mode EN298 EN61508 EN12067 EN230 UL1998 safety~critical logic euler venn propositional
%\end{keyword}
%\end{frontmatter}
\section{Introduction}
Propositional Logic Diagrams (PLDs) have been devised
to collect and simplfy fault~modes in safety critical systems undergoing
static analysis\cite{FMEA}\cite{SIL}.
This type of analysis treats failure modes within a system as logical
states. PLD provides a visual method for modelling failure~mode analysis
within these systems, and specifically
identifying common failure symptoms in a user friendly way.
Contrasting this to looking at many propositional logic equations directly
in a text editor or spreadsheet, a visual method is prefferred.
%Traditional set theory is often represented by Euler\cite{euler} or Spider\cite{spider}
%diagrams. These use contours to describe inclusion in a set.may be merged and create a
%Propositional Logic Diagrams (PLDs) use named contours represent a logical conditions.
%Where an Euler diagram would use
%overlapping contours to represent inclusion in sets,
%PLDs use these to represent conjunction of the conditions.
%Named reference points may be placed onto the diagram,
%these represent test cases for conjunction.
%These can be joined by lines to apply disjunction.
%In a spider diagram the lines would represent that the object represented coul;d belong to either set.
%in a PLD it means that the logical conditions represent disjuction; a boolean OR condition.
%these points may be joined.
PLDs use three visual features that
can be combined to represent logic equations. Closed contours (using dashed lines), test cases, and joining lines.
All features may be labelled, and the labels must be unique within a diagram, however contours may be repeated in the diagram.
%Aditionally a label begining with the `$\neg$' character, applied only to a contour, represents negation.
%Regions defined by contours are used to represent given conjunctive logical conditions.
Test cases are marked by asterisks. These are used as a visual `anchor'
to mark a logical condition, the logical condition being defined by the countours
that enclose the region on which the test case has been placed.
Test cases may be pair-wise connected by named lines representing disjunction (Boolean `OR') of
the conditions defined by the placement of the test case markers.
With these three visual syntax elements, we have the basic building blocks for all logic equations possible.
\begin{description}
\item Test cases - Points on the plane indicating a logical condition.
\item Conjunction - Overlapping contours
\item Disjunction - Joining of named test cases.
%\item Negation - Countours negatively named
\end{description}
% Because of this
% we have the complete suite of logical primitives here, conjunction, disjuction and negation.
% Form these complex logic equations can be respresented in 2D.
% Another advantage of this is being able to describe `don't care' conditions.
% Very often in digital hardware design, or in a computer program
% many logical conditions are `don't care'.
% These are difficult to specify in set theory.
\section{Formal Description of PLD}
Definitions of conrete and abstract PLD's follow.
Well-formedness conditions for PLD's are separated from this definition, because of
practical differences between the way they are used to represent software as opposed to
representing electronics and mechanical systems.
\subsection{Concrete PLD Definition}
A concrete {\em Propositional logic diagram} is a set of labeled {\em contours}
(closed curves) in the plane. The minimal regions formed by the closed curves
can by occupied by `test points'.
The `test points' may be joined by joining lines.
A group of `test points' connected by joining lines
is defined as a `test point disjunction' or Spider.
Spiders may be labeled.
To differentiate these from common Euler diagram notation (normally used to represent set theory)
the curves are drawn using dotted and dashed lines.
\subsection{ PLD Definition}
In English:
The elements that can be found in a PLD diagram are a number of contours,
a number of test points and joining lines that connect
test points.
{
\definition{A concrete PLD $d$ is a set comprising of a set of
closed curves $C=C(d)$, a set of test points $T=T(d)$ and
a set of test point joining lines $J=J(d)$.
$$d=\{C,T,J\}$$
}
}
In English:
Each element of the diagram has a unique label within the diagram.
%Thus the set of labels found in a diagram is
%a subset of the powerset of characters that can be present in a label.
%{
%\definition{ $ \mathcal{F}_{d}:C(d) \rightarrow \mathcal{P}\Lambda$ is a
%function associating a label drawn from an infinite
%set of labels $\Lambda$.
%}
%}
%In English:
%A minimal region of a PLD diagram d is a
%region bounded by curves.
%connected component of $\mathbb{R}^{2} - \; \bigcup_{c \in C(d)} c$
%That is to say the complement of all other regions is subtracted from the plane.
%- Or in another way- that smallest area defined by the curves that enclose it
%% \hat is used to indicate CONCRETE
{
\definition{
A minimal region of concrete PLD diagram d is a connected component of
$$ \mathbb{R}^{2} - \; \bigcup_{\hat{c} \in \hat{C}(\hat{d})}\hat{c}$$
% I.e. The contours break the connectivity
}
}
{
\definition
{
Let d be a PLD and $ \mathcal{X} \subseteq \hat{C}(\hat{d})$ a set of countours.
If the set
$$ \hat{z} = \bigcap_{c \in \mathcal{X}}
{interior}
(\hat{c})
\; \cup \;
\bigcap_{\hat{c} \in \hat{C}-X}
exterior (\hat{c})
$$
is non empty, then $\hat{z}$ is a concrete zone of $\hat{d}$. A zone is a union of minimal regions. The set of all concrete zones of $\hat{d}$
is denoted $ \hat{\mathcal{Z}} $.
% NOT interested in labelling the zones.
% but am interested in
%The set of labels associated with the contours in $\mathcal{X}$ is the zone label set $\hat{\mathcal{Z}}(\hat{z})$
%of $\hat{z}$.
%$$ \hat{\mathcal{L}}(\hat{z}) = \bigcup_{\hat{c} \in \mathcal{X}} \mathcal{F}_{d}(\hat{c}) $$
%
% So Z is the set of all available for use ZONES; great !
}
}
Each minimal region in the plane may be inhabited by one or more `test points'.
% One or more because in software the same logical conditions mean existing in the same
% region. For electroincs or mechanical, one test point per region is
% mandatory. How to describe ?????
Each test point can be associated with the set of contours that enclose it.
%defined the minimal region it inhabits.
{
\definition{ $ \mathcal{Z}_{d}:T(d)\rightarrow \mathcal{C}$ is a function
associating a testpoint with a set of contours in the plane. This corresponds to the interior of the contours defining the zone.
}
}
Pairs of test points may be joined by joining lines.
The operator $\stackrel{join}{\leftrightarrow}$ is used to
show that two points are joined by a line in the concrete diagram.
{
\definition{
$ \mathcal{F}_{j}$ is a function
associating a joining line with a pair of test points. The Join t1,t2 is defined as
%$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 %\wedge t1 \stackrel{join}{\leftrightarrow} t2\} $$
$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 \} $$
}
}
In English:
Test points on the concrete diagram pair-wise connected by a `joining line'
A collection of test points connected by joining lines, is an Fuctionally Merged Group, $FMG$
or `test point disjunction'.
An $FMG$ has members which are test points.
{may be merged
and create a
\definition{
%A spider is a set of test points where,
%a test point is a member of a spider where it can trace a path connected by joining lines
%to another member of the spider. A singleton test point can be considered a spider.
Let d be a PLD : An $FMG$ is a maximal set of test points in d where
the test points belong to a sequence connected by joining lines such that:
$$ t_i \stackrel{join}{\leftrightarrow} t_n, for \; i = 1, ..., n $$
OR consider an $FMG$ as a tree whose nodes are test points.
}
}
A singleton test point can be considered a sequence of one test point and is therefore also an $FMG$.
% \subsection{Abstract Description of PLD}
%
% An Abstract PLD {\em Propositional logic diagram} consists of contours $C$ defining zones $Z$, test points $T$ (which
% are defined by the zone they inhabit) and pair wise connections $W$, which connect test points.
% Collections of test points, linked by shared conecting lines, form a set of test point groups $G$.
%
% A Zone defined by the contours that enclose it in the concrete diagram.
%
% $$ Z \subseteq C $$
%
% A test point $t \in T$ in habits a zone on the diagram.
%
% $$ \eta(t) = Z $$
%
% A joining line $$ w \in W $$ joins test points.
%
% $$ w = t1 \stackrel{join}{\rightarrow} t2 | t1 \neq t2 \wedge t1 \in T \wedge t2 \in T $$
%
% A test point group $g \in G$ is defined by test points linked by shared connecting lines.
\subsection{Semantics of PLD}
\begin{itemize}
\item A closed curve in a PLD represents a condition (logical state) being modelled.
\item A test point represents the conjunction of the conditions represented by the curves that enclose it.
\item A $FMG$ represents the disjunction of all test points that are members of it.
\end{itemize}
To obtain the set of propositions from a PLD, each $FMG$ must be processed. For each test case
in the $FMG$ a new section of the equation is disjuctively appended to it.
Let conjunctive logic equation associated with a test point
be determined from the contours that enclose it.
i.e. the contours $\mathcal{X}$ from the zone it inhabits.
{
\definition{
Let $\mathcal{F}_{t}$ be a function mapping a test point to a proposition / logical equation $p \in P$.
The test point inhabits the zone $\mathcal{Z}$ which is a collection of contours (the contours that enclose the test point.
$$ \mathcal{F}:T \rightarrow P $$
%$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} \Lambda c $$
$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} c $$
}
}
In English:
Thus a `test point' enclosed by contours labelled $a,b,c$ would be represented by the logic equation
$ a \wedge b \wedge c $.
{
\definition{
Let $\mathcal{G}_{fmg}$ be a function that returns a logic equation for a given $FMG$
$fmg$ in the diagram, where an FMG is a non empty set of test points
% $t$ is a `test point'
$$ \mathcal{G}:FMG \rightarrow P_{fmg} $$
The logic equation representing an FMG $p_{fmg}$ can be determined thus.
$$\mathcal{G}_{fmg}(fmg) = \bigvee_{t \in fmg} (\; \mathcal{F}_{t} (t) \;) $$
}
}
The abstract PLD diagram is a set of logic equations representing all FMGs,
along with unused zones (i.e. zones that are not inhabited by FMGs).
{
\definition{
\label{FMGderivation}
A diagram can be reduced to a collection of $FMG$s.
A new diagram can be derived from this, replacing a contour for each FMG.
This diagram is at one higher level of abstraction then the diagram that
it was produced from.
}
}
\section{Example Diagrams}
\subsection {How to read a PLD diagram}
PLD diagrams are read by first looking at the test case points.
The test case asterisk will be enclosed by one or more contours.
These contours are collected and form the logical conjunction
equation for the test case.
These test case points thus represent the conjunctive aspects
of an equation defined in a PLD. Where these test cases are joined by lines;
these represent disjunction of the conjunctive aspects defined by the test cases.
Joining lines thus represent dis-junction in a PLD.
%Where negation and assertion of a logical condition is required in the same diagram, a separate contour can be created, which is
%..assigned the same name as its positive counter part, but preceded by a negation `$\neg$' sign.
%Obviously were a drawing to show conjunction of a contour and its complement
%this would result in a contradiction for any test case placed on it, and would be a visual `syntax error'.
%Note that negation is handled explicitly. This is to allow `don't care'
%conditions. Should a test case be outside a contour, that contour is a `don't care' condition.
%In a PLD, contours may be represented in complement, to provide
%logical negation. Here the contour name is begun with the negation symbol `$\neg$'.
%%To represent conjunction of logical conditions (Boolean `AND'), contours may be overlapped.
%Providing explicit negation, in addition to disjunction and conjunction
%allows us to represent `don't care' or `tri-state' logical conditions. Simply by
%not using the conditions we are not interested in they are `don't care'.
%
%\section{Example Logic Diagrams}
\subsection{ Logical AND example }
\begin{figure}[h+]
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldand.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.6]{ldand.eps}
\caption{Logical AND}
\label{fig:ld_and}
\end{figure}
In the diagram \ref{fig:ld_and} the area of intersection between the contours $a$ and $b$
represents the conjunction of those conditions. The point $P$ represents the logic equation
$$ P = (a \wedge b) $$
There are no disjunctive joining lines and so this diagram represents one equation only, $ P = (a \wedge b) $.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where both failure~modes are active.
\clearpage
\subsection { Logical OR example }
\begin{figure}[h+]
%\centering
%\input{ldor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldor.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.60]{ldor.eps}
\caption{Logical OR}
\label{fig:ld_or}
\end{figure} % OR
The diagram \ref{fig:ld_or} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (a) $$
$$ Q = (b) $$
The two test cases are joined by a the line named $R$.
we thus apply disjunction to the test cases.
$$ R = P \vee Q $$
substituting the test cases for their Boolean logic equations gives
$$ R = ((a) \vee (b)) $$.
\clearpage
\subsection {Labels and useage}
In diagram \ref{fig:ld_meq} Z and W were labeled but were not necessary for the final expression
of $ R = b \vee c $. The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning.
Test cases joined by disjunction, all become represented in one, resultant equation.
Therefore only test cases not linked by any disjunctive joining lines need be named.
The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with
two unnamed test cases.
\begin{figure}[h+]
%\centering
%\input{millivolt_sensor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq2.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.4]{ldmeq2.eps}
\caption{Several Logical Expressions with unamed test cases}
\label{fig:ld_meq2}
\end{figure}
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where either failure~mode is active.
Additionally it says that either failure mode $a$ or $b$ being active
will have a resultant effect $R$ on the sub-system. Note that the effect
of $a$ and $b$ both being active is not defined on this diagram.
\clearpage
\subsection { Repeated Contour example }
Repeated contours are allowed in PLD diagrams.
Logical contradictions or tautologies can be detected automatically by
a software tool which assists in drawing these diagrams.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 550 250]{./repeated.eps}
% repeated.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 550 250
\label{fig:repeat}
\end{figure}
The diagram \ref{fig:repeat} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (b) $$
$$ Q = (a) \wedge (c) $$
The two test cases are joined by a the line named $R1$.
we thus apply disjunction to the test cases.
$$ R1 = P \vee Q $$
$$ R1 = b \vee ( a \wedge c ) $$.
$R2$ joins two other test cases
$$R2 = a \vee c $$
The test~case residing in the intersection of countours $B$ and $A$
represents the logic equation $R3 = a \wedge b$.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
There is an additional symptom, that of the test case in $A \wedge B$.
\clearpage
\subsection { Inhibit Failure }
Very often a failure mode can only occurr
given a searate environmental condition.
In Fault Tree Analysis (FTA) this is represented by an inhibit gate.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 364 228]{./inhibit.eps}
% inhibit.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 364 228
\label{fig:inhibit}
\end{figure}
The diagram \ref{fig:inhibit} has a test case in the contour $C$.
Contour $C$ is enclosed by contour $A$. This says
that for failure~mode $C$ to occur failure mode $A$
must have occurred.
A well known example of this is the space shuttle `O' ring failure that
caused the 1986 challenger disaster \cite{wdycwopt}.
For the failure mode to occurr the ambiant temperature had to
be below a critical value.
If we take the failure mode of the `O' ring to be $C$
and the temperature below critical to be $A$, we can see that
the low temperature failure~mode $C$ can only occurr if $A$ is true.
The `O' ring could fail in a different way independant of the critical temperature and this is
represented, for the sake of this example, by contour $D$.
In terms of propositional logic, the inhibit gate of FTA, and the countour enclosure
of PLD represent {\em implication}.
\\
\tiny
\vspace{0.3cm}
\begin{tabular}{||c|c|c|c||} \hline \hline
{\em $c$ } & {\em $a$ } & {\em $R1$ } \\ \hline
F & F & T \\ \hline
F & T & T \\ \hline
T & F & F \\ \hline
T & T & T \\ \hline \hline
\end{tabular}
\vspace{0.3cm}
\normalsize
$$ R1 = c \implies a $$
$$ R2 = a $$
$$ R3 = d $$
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
Note that although R2 is a symptom of the sub-system, on its own
it will not lead to a dangerous failure~mode of the subsystem.
% \subsection { Representing Logical Negation }
%
% \begin{figure}[h+]
% %\centering
% %\input{ldor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldneg.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.60]{ldneg.eps}
% \caption{Logical Negation}
% \label{fig:ld_neg}
% \end{figure} % OR
%
% Diagram \ref{fig:ld_neg} represents the logical equation $$ P = a \wedge b \wedge \neg c $$.
%
% \paragraph{How this would be interpreted in failure analysis}
% In failure analysis this test case represents the scenario where failure modes $a$ and $b$
% are active but $c$ is not.
%
%
%
% \clearpage
% \subsection { Logical XOR example }
%
% An exclusive or condition is represented by diagram \ref{fig:ld_xor}.
% The Equations represented are as follows.
%
% firstly looking at the test case points
% $$ P = (\neg a \wedge b) $$
% $$ Q = (\neg b \wedge a) $$
%
% now joining them with the disjuctive line
% $$ R = P \vee Q $$
%
% Giving R as a Boolean equation
% $$ R = (\neg a \wedge b) \vee (\neg b \wedge a) $$
% or taking the symbol $\oplus$ to mean exclusive-or
% $$R = a \oplus b $$
%
%
% % \begin{figure}[h] %% SOMETHING IS WRONG says latex. very helpful tell me what it fucking is then
% % \centering
% % \caption{Example `XOR' Diagram}
% % \includegraphics[scale=0.80]{ldxor.eps}
% % \label{fig:ld_xor}
% % \end{figure} % XOR
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% % bb= llx lly urx ury;
% \includegraphics[width=200pt,bb=0pt 0pt 800pt 800pt]{logic_diagram/ldxor.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
%
% %\includegraphics[scale=0.4]{ldxor.eps}
% \caption{Logical XOR}
% \label{fig:ld_xor}
% \end{figure}
%
% \clearpage
% \subsection { Logical IMPLICATION example }
%
%
% An implication $a \rightarrow b$ is represented by diagram \ref{fig:ld_imp}.
% The Equations represented are as follows.
%
% Looking at the conjuctive environment of the test cases
% $$P = (\neg a)$$
% $$Q = (b)$$
% From the joining `disjunctive' line R in the diagram.
% $$R = P \vee Q$$
% Leading to
% $$R = (\neg a) \vee (b)$$
% which is the standard logic equation for implication.
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldimp.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldimp.eps}
% \caption{Logical Implication}
% \label{fig:ld_imp}
% \end{figure}
%
% \tiny
% %\vspace{0.3cm}
% \begin{tabular}{||c|c|c|c||} \hline \hline
%
% {\em $a$ } & {\em $b$ } & {implication \em $(\neg a) \vee (b) $ } \\ \hline
% F & F & T \\ \hline
% F & T & T \\ \hline
% T & F & F \\ \hline
% T & T & T \\ \hline \hline
% \end{tabular}
% %\vspace{0.3cm}
% \normalsize
%
% \clearpage
% \subsection { Diagram representing several Logic Equations Example }
%
%
% bb=0 0 450 404
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldmeq.eps}
% \caption{Several Logical Expressions}
% \label{fig:ld_meq}
% \end{figure}
%
% %The effect of using explicit negation, means that a test case being outside a given contour does not imply negation, it implies a `don't care'
% %condition.
%
% Three simple equations are represented in the diagram \ref{fig:ld_dc}.
%
% %The Set of contours $\mho$ represent the `don't care' conditions.
%
% The Equations represented are as follows.
%
% %$$ Q = a \; | \; \mho\{b,c\} $$
%
% %$$ P = b \wedge c \; | \; \mho\{a\} $$
%
% $$ Q = a $$
% $$ P = b \wedge c $$
% $$ R = b \vee c $$
%
% % XXXXXX gives annoying impossible to understand syntax messages
% %\small
% %\bibliography{vmgbibliography,mybib}
% %\bibliography{vmgbibliography}
% %\normalsize
%
\section{Intended use in FMMD}
The intention for these diagrams is that they are used to collect
component faults and combinations thereof, into faults that,
at the module level have the same symptoms.
\subsection{Example Sub-system}
For instance were a `power supply' being analysed there could be several
individual component faults or combinations that lead to
a situation where there is no power. This can be described as a state
of the powersupply being modeelled as NO\_POWER.
These can all be collected by DISJUCNTION, i.e. that this this or this
fault occuring will cause the NO\_POWER fault. Visually this disjuction is
indicated by the joining lines.
As far as the user of the `power supply' is concerned, the power supply has failed
with the failure mode $NO\_POWER$.
The `power supply' module, after this process will have a defined set of
fault modes and may be considered as a component at a higher
level of abstraction. This module can then be combined
with others at the same abstraction level.
Note that because this is a fault collection process
the number of component faults for a module
must be less than or equal to the sum of the number of component faults.
%Typeset in \ \ {\huge \LaTeX} \ \ on \ \ \today
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.15 2009/02/09 07:33:27 robin Exp $
\end{verbatim}
Compiled last \today
%\end{document}
%\theend

View File

@ -0,0 +1,743 @@
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.16 2010/01/01 14:09:02 robin Exp $
\end{verbatim}
\begin{abstract}
%This chapter describes using diagrams to represent propositional logic.
Propositial Logic Diagrams have been designed to provide an intuitive method for visualising and manipulating
logic equations, to express fault modes in Mechanical and Electronic Systems.
%To aid hierarchical stages of fault analysis, it has been specifically developed for the purpose of
%joining conjunctive conditions with disjuctive conditions
%to group the effects of failure modes.
Diagrams of this type can also be used to model the logical conditions
that control the flow of a computer program. This type of diagram can therefore
integrate logical models from mechanical, electronic and software domains.
Nearly all modern safety critical systems involve these three disiplines.
%
It is intended to be used for analysis of automated safety critical systen
Many types of safety critical systems now legally
require fault mode effects analysis\cite{FMEA},
but few formal systems exist and wide-spread take-up is
not yet the norm.\cite{takeup}.
%
Because of its visual nature, it is easy to manipulate and model
complicated conditions that can lead to dangerous failures in
automated systems.
% No need to talk about abstraction yet, just define PLD PROPERLY
The Diagrams described here form the mathematical basis for a new visual and formal system
for the analysis of safety critical software and hardware systems.
\end{abstract}
%\title{Propositional Logic Diagrams}
%\begin{keyword}
% fault~tree fault~mode EN298 EN61508 EN12067 EN230 UL1998 safety~critical logic euler venn propositional
%\end{keyword}
%\end{frontmatter}
\section{Introduction}
Propositional Logic Diagrams (PLDs) have been devised
to collect and simplfy fault~modes in safety critical systems undergoing
static analysis\cite{FMEA}\cite{SIL}.
This type of analysis treats failure modes within a system as logical
states. PLD provides a visual method for modelling failure~mode analysis
within these systems, and specifically
identifying common failure symptoms in a user friendly way.
Contrasting this to looking at many propositional logic equations directly
in a text editor or spreadsheet, a visual method is percieved as being more intuitive.
%Traditional set theory is often represented by Euler\cite{euler} or Spider\cite{spider}
%diagrams. These use contours to describe inclusion in a set.may be merged and create a
%Propositional Logic Diagrams (PLDs) use named contours represent a logical conditions.
%Where an Euler diagram would use
%overlapping contours to represent inclusion in sets,
%PLDs use these to represent conjunction of the conditions.
%Named reference points may be placed onto the diagram,
%these represent test cases for conjunction.
%These can be joined by lines to apply disjunction.
%In a spider diagram the lines would represent that the object represented coul;d belong to either set.
%in a PLD it means that the logical conditions represent disjuction; a boolean OR condition.
%these points may be joined.
PLDs use three visual features that
can be combined to represent logic equations. Closed contours (using dashed lines), test cases, and lines that
link test cases.
All features may be labelled, and the labels must be unique within a diagram, however contours may be repeated in the diagram.
Aditionally a label begining with the `$\neg$' character, applied only to a contour, represents negation.
%Regions defined by contours are used to represent given conjunctive logical conditions.
Test cases are marked by asterisks. These are used as a visual `anchor'
to mark a logical condition, the logical condition being defined by the contours
that enclose the region on which the test~case has been placed.
The contours that enclose represent conjuction.
Test~cases may be connected by joining lines. These lines represent disjunction (Boolean `OR') of
test~cases.
With these three visual syntax elements, we have the basic building blocks for all logic equations possible.
\begin{description}
\item Test cases - Points on the plane indicating a logical condition.
\item Conjunction - Overlapping contours
\item Disjunction - Joining of named test cases.
%\item Negation - Countours negatively named
\end{description}
% Because of this
% we have the complete suite of logical primitives here, conjunction, disjuction and negation.
% Form these complex logic equations can be respresented in 2D.
% Another advantage of this is being able to describe `don't care' conditions.
% Very often in digital hardware design, or in a computer program
% many logical conditions are `don't care'.
% These are difficult to specify in set theory.
\section{Formal Description of PLD}
Definitions of conrete and abstract PLD's follow.
Well-formedness conditions for PLD's are separated from this definition, because of
practical differences between the way they are used to represent software as opposed to
representing electronics and mechanical systems.
\subsection{Concrete PLD Definition}
A concrete {\em Propositional logic diagram} is a set of labeled {\em contours}
(closed curves) in the plane. The minimal regions formed by the closed curves
can by occupied by `test points'.
The `test points' may be joined by joining lines.
A group of `test points' connected by joining lines
is defined as a `test point disjunction' or Spider.
Spiders may be labeled.
To differentiate these from common Euler diagram notation (normally used to represent set theory)
the curves are drawn using dotted and dashed lines.
\subsection{ PLD Definition}
In English:
The elements that can be found in a PLD diagram are a number of contours,
a number of test points and joining lines that connect
test points.
{
\definition{A concrete PLD $d$ is a set comprising of a set of
closed curves $C=C(d)$, a set of test points $T=T(d)$ and
a set of test point joining lines $J=J(d)$.
$$d=\{C,T,J\}$$
}
}
In English:
Each element of the diagram has a unique label within the diagram.
%Thus the set of labels found in a diagram is
%a subset of the powerset of characters that can be present in a label.
%{
%\definition{ $ \mathcal{F}_{d}:C(d) \rightarrow \mathcal{P}\Lambda$ is a
%function associating a label drawn from an infinite
%set of labels $\Lambda$.
%}
%}
%In English:
%A minimal region of a PLD diagram d is a
%region bounded by curves.
%connected component of $\mathbb{R}^{2} - \; \bigcup_{c \in C(d)} c$
%That is to say the complement of all other regions is subtracted from the plane.
%- Or in another way- that smallest area defined by the curves that enclose it
%% \hat is used to indicate CONCRETE
{
\definition{
A minimal region of concrete PLD diagram d is a connected component of
$$ \mathbb{R}^{2} - \; \bigcup_{\hat{c} \in \hat{C}(\hat{d})}\hat{c}$$
% I.e. The contours break the connectivity
}
}
{
\definition
{
Let d be a PLD and $ \mathcal{X} \subseteq \hat{C}(\hat{d})$ a set of countours.
If the set
$$ \hat{z} = \bigcap_{c \in \mathcal{X}}
{interior}
(\hat{c})
\; \cup \;
\bigcap_{\hat{c} \in \hat{C}-X}
exterior (\hat{c})
$$
is non empty, then $\hat{z}$ is a concrete zone of $\hat{d}$. A zone is a union of minimal regions. The set of all concrete zones of $\hat{d}$
is denoted $ \hat{\mathcal{Z}} $.
% NOT interested in labelling the zones.
% but am interested in
%The set of labels associated with the contours in $\mathcal{X}$ is the zone label set $\hat{\mathcal{Z}}(\hat{z})$
%of $\hat{z}$.
%$$ \hat{\mathcal{L}}(\hat{z}) = \bigcup_{\hat{c} \in \mathcal{X}} \mathcal{F}_{d}(\hat{c}) $$
%
% So Z is the set of all available for use ZONES; great !
}
}
Each minimal region in the plane may be inhabited by one or more `test points'.
% One or more because in software the same logical conditions mean existing in the same
% region. For electroincs or mechanical, one test point per region is
% mandatory. How to describe ?????
Each test point can be associated with the set of contours that enclose it.
%defined the minimal region it inhabits.
{
\definition{ $ \mathcal{Z}_{d}:T(d)\rightarrow \mathcal{C}$ is a function
associating a testpoint with a set of contours in the plane. This corresponds to the interior of the contours defining the zone.
}
}
Pairs of test points may be joined by joining lines.
The operator $\stackrel{join}{\leftrightarrow}$ is used to
show that two points are joined by a line in the concrete diagram.
{
\definition{
$ \mathcal{F}_{j}$ is a function
associating a joining line with a pair of test points. The Join t1,t2 is defined as
%$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 %\wedge t1 \stackrel{join}{\leftrightarrow} t2\} $$
$$ \mathcal{F}_{d}:J(d)\rightarrow \{t1,t2\ | t1 \in T(d) \wedge t2 \in T(d) \wedge t1 \neq t2 \} $$
}
}
In English:
Test points on the concrete diagram pair-wise connected by a `joining line'
A collection of test points connected by joining lines, is an Fuctionally Merged Group, $FMG$
or `test point disjunction'.
An $FMG$ has members which are test points.
{may be merged
and create a
\definition{
%A spider is a set of test points where,
%a test point is a member of a spider where it can trace a path connected by joining lines
%to another member of the spider. A singleton test point can be considered a spider.
Let d be a PLD : An $FMG$ is a maximal set of test points in d where
the test points belong to a sequence connected by joining lines such that:
$$ t_i \stackrel{join}{\leftrightarrow} t_n, for \; i = 1, ..., n $$
OR consider an $FMG$ as a tree whose nodes are test points.
}
}
A singleton test point can be considered a sequence of one test point and is therefore also an $FMG$.
% \subsection{Abstract Description of PLD}
%
% An Abstract PLD {\em Propositional logic diagram} consists of contours $C$ defining zones $Z$, test points $T$ (which
% are defined by the zone they inhabit) and pair wise connections $W$, which connect test points.
% Collections of test points, linked by shared conecting lines, form a set of test point groups $G$.
%
% A Zone defined by the contours that enclose it in the concrete diagram.
%
% $$ Z \subseteq C $$
%
% A test point $t \in T$ in habits a zone on the diagram.
%
% $$ \eta(t) = Z $$
%
% A joining line $$ w \in W $$ joins test points.
%
% $$ w = t1 \stackrel{join}{\rightarrow} t2 | t1 \neq t2 \wedge t1 \in T \wedge t2 \in T $$
%
% A test point group $g \in G$ is defined by test points linked by shared connecting lines.
\subsection{Semantics of PLD}
\begin{itemize}
\item A closed curve in a PLD represents a condition (logical state) being modelled.
\item A test point represents the conjunction of the conditions represented by the curves that enclose it.
\item A $FMG$ represents the disjunction of all test points that are members of it.
\end{itemize}
To obtain the set of propositions from a PLD, each $FMG$ must be processed. For each test case
in the $FMG$ a new section of the equation is disjuctively appended to it.
Let conjunctive logic equation associated with a test point
be determined from the contours that enclose it.
i.e. the contours $\mathcal{X}$ from the zone it inhabits.
{
\definition{
Let $\mathcal{F}_{t}$ be a function mapping a test point to a proposition / logical equation $p \in P$.
The test point inhabits the zone $\mathcal{Z}$ which is a collection of contours (the contours that enclose the test point.
$$ \mathcal{F}:T \rightarrow P $$
%$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} \Lambda c $$
$$ \mathcal{F}(t): p = \bigwedge_{c \in \mathcal{Z}} c $$
}
}
In English:
Thus a `test point' enclosed by contours labelled $a,b,c$ would be represented by the logic equation
$ a \wedge b \wedge c $.
{
\definition{
Let $\mathcal{G}_{fmg}$ be a function that returns a logic equation for a given $FMG$
$fmg$ in the diagram, where an FMG is a non empty set of test points
% $t$ is a `test point'
$$ \mathcal{G}:FMG \rightarrow P_{fmg} $$
The logic equation representing an FMG $p_{fmg}$ can be determined thus.
$$\mathcal{G}_{fmg}(fmg) = \bigvee_{t \in fmg} (\; \mathcal{F}_{t} (t) \;) $$
}
}
The abstract PLD diagram is a set of logic equations representing all FMGs,
along with unused zones (i.e. zones that are not inhabited by FMGs).
{
\definition{
\label{FMGderivation}
A diagram can be reduced to a collection of $FMG$s.
A new diagram can be derived from this, replacing a contour for each FMG.
This diagram is at one higher level of abstraction then the diagram that
it was produced from.
}
}
\section{Example Diagrams}
\subsection {How to read a PLD diagram}
PLD diagrams are read by first looking at the test case points.
The test case asterisk will be enclosed by one or more contours.
These contours are collected and form the logical conjunction
equation for the test case.
These test case points thus represent the conjunctive aspects
of an equation defined in a PLD. Where these test cases are joined by lines;
these represent disjunction of the conjunctive aspects defined by the test cases.
Joining lines thus represent dis-junction in a PLD.
%Where negation and assertion of a logical condition is required in the same diagram, a separate contour can be created, which is
%..assigned the same name as its positive counter part, but preceded by a negation `$\neg$' sign.
%Obviously were a drawing to show conjunction of a contour and its complement
%this would result in a contradiction for any test case placed on it, and would be a visual `syntax error'.
%Note that negation is handled explicitly. This is to allow `don't care'
%conditions. Should a test case be outside a contour, that contour is a `don't care' condition.
%In a PLD, contours may be represented in complement, to provide
%logical negation. Here the contour name is begun with the negation symbol `$\neg$'.
%%To represent conjunction of logical conditions (Boolean `AND'), contours may be overlapped.
%Providing explicit negation, in addition to disjunction and conjunction
%allows us to represent `don't care' or `tri-state' logical conditions. Simply by
%not using the conditions we are not interested in they are `don't care'.
%
%\section{Example Logic Diagrams}
\subsection{ Logical AND example }
\begin{figure}[h+]
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{ldand.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.6]{ldand.eps}
\caption{Logical AND}
\label{fig:ld_and}
\end{figure}
In the diagram \ref{fig:ld_and} the area of intersection between the contours $a$ and $b$
represents the conjunction of those conditions. The point $P$ represents the logic equation
$$ P = (a \wedge b) $$
There are no disjunctive joining lines and so this diagram represents one equation only, $ P = (a \wedge b) $.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where both failure~modes are active.
\clearpage
\subsection { Logical OR example }
\begin{figure}[h+]
%\centering
%\input{ldor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0 0 450 404]{ldor.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.60]{ldor.eps}
\caption{Logical OR}
\label{fig:ld_or}
\end{figure} % OR
The diagram \ref{fig:ld_or} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (a) $$
$$ Q = (b) $$
The two test cases are joined by a the line named $R$.
we thus apply disjunction to the test cases.
$$ R = P \vee Q $$
substituting the test cases for their Boolean logic equations gives
$$ R = ((a) \vee (b)) $$.
\clearpage
\subsection {Labels and useage}
In diagram \ref{fig:ld_meq} Z and W were labeled but were not necessary for the final expression
of $ R = b \vee c $. The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning.
Test cases joined by disjunction, all become represented in one, resultant equation.
Therefore only test cases not linked by any disjunctive joining lines need be named.
The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with
two unnamed test cases.
\begin{figure}[h+]
%\centering
%\input{millivolt_sensor.tex}
\begin{center}
\includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{ldmeq2.eps}
% resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
\end{center}
%\includegraphics[scale=0.4]{ldmeq2.eps}
\caption{Several Logical Expressions with unamed test cases}
\label{fig:ld_meq2}
\end{figure}
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$.
The proposition $P$ considers the scenario where either failure~mode is active.
Additionally it says that either failure mode $a$ or $b$ being active
will have a resultant effect $R$ on the sub-system. Note that the effect
of $a$ and $b$ both being active is not defined on this diagram.
\clearpage
\subsection { Repeated Contour example }
Repeated contours are allowed in PLD diagrams.
Logical contradictions or tautologies can be detected automatically by
a software tool which assists in drawing these diagrams.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 486 206]{./repeated.eps}
% repeated.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 486 206
\label{fig:repeated}
\end{figure}
The diagram \ref{fig:repeat} is converted to Boolean logic by first looking at the test cases, and
the contours they are placed on.
$$ P = (b) $$
$$ Q = (a) \wedge (c) $$
The two test cases are joined by a the line named $R1$.
we thus apply disjunction to the test cases.
$$ R1 = P \vee Q $$
$$ R1 = b \vee ( a \wedge c ) $$.
$R2$ joins two other test cases
$$R2 = a \vee c $$
The test~case residing in the intersection of countours $B$ and $A$
represents the logic equation $R3 = a \wedge b$.
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
There is an additional symptom, that of the test case in $A \wedge B$.
\clearpage
\subsection { Inhibit Failure }
Very often a failure mode can only occurr
given a searate environmental condition.
In Fault Tree Analysis (FTA) this is represented by an inhibit gate.
\begin{figure}[h]
\centering
\includegraphics[bb=0 0 364 228]{./inhibit.eps}
% inhibit.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 364 228
\label{fig:inhibit}
\end{figure}
The diagram \ref{fig:inhibit} has a test case in the contour $C$.
Contour $C$ is enclosed by contour $A$. This says
that for failure~mode $C$ to occur failure mode $A$
must have occurred.
A well known example of this is the space shuttle `O' ring failure that
caused the 1986 challenger disaster \cite{wdycwopt}.
For the failure mode to occurr the ambiant temperature had to
be below a critical value.
If we take the failure mode of the `O' ring to be $C$
and the temperature below critical to be $A$, we can see that
the low temperature failure~mode $C$ can only occurr if $A$ is true.
The `O' ring could fail in a different way independant of the critical temperature and this is
represented, for the sake of this example, by contour $D$.
In terms of propositional logic, the inhibit gate of FTA, and the countour enclosure
of PLD represent {\em implication}.
\\
\tiny
\vspace{0.3cm}
\begin{tabular}{||c|c|c|c||} \hline \hline
{\em $c$ } & {\em $a$ } & {\em $R1$ } \\ \hline
F & F & T \\ \hline
F & T & T \\ \hline
T & F & F \\ \hline
T & T & T \\ \hline \hline
\end{tabular}
\vspace{0.3cm}
\normalsize
$$ R1 = c \implies a $$
$$ R2 = a $$
$$ R3 = d $$
\paragraph{How this would be interpreted in failure analysis}
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
Note that although R2 is a symptom of the sub-system, on its own
it will not lead to a dangerous failure~mode of the subsystem.
% \subsection { Representing Logical Negation }
%
% \begin{figure}[h+]
% %\centering
% %\input{ldor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{ldneg.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.60]{ldneg.eps}
% \caption{Logical Negation}
% \label{fig:ld_neg}
% \end{figure} % OR
%
% Diagram \ref{fig:ld_neg} represents the logical equation $$ P = a \wedge b \wedge \neg c $$.
%
% \paragraph{How this would be interpreted in failure analysis}
% In failure analysis this test case represents the scenario where failure modes $a$ and $b$
% are active but $c$ is not.
%
%
%
% \clearpage
% \subsection { Logical XOR example }
%
% An exclusive or condition is represented by diagram \ref{fig:ld_xor}.
% The Equations represented are as follows.
%
% firstly looking at the test case points
% $$ P = (\neg a \wedge b) $$
% $$ Q = (\neg b \wedge a) $$
%
% now joining them with the disjuctive line
% $$ R = P \vee Q $$
%
% Giving R as a Boolean equation
% $$ R = (\neg a \wedge b) \vee (\neg b \wedge a) $$
% or taking the symbol $\oplus$ to mean exclusive-or
% $$R = a \oplus b $$
%
%
% % \begin{figure}[h] %% SOMETHING IS WRONG says latex. very helpful tell me what it fucking is then
% % \centering
% % \caption{Example `XOR' Diagram}
% % \includegraphics[scale=0.80]{ldxor.eps}
% % \label{fig:ld_xor}
% % \end{figure} % XOR
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% % bb= llx lly urx ury;
% \includegraphics[width=200pt,bb=0pt 0pt 800pt 800pt]{ldxor.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
%
% %\includegraphics[scale=0.4]{ldxor.eps}
% \caption{Logical XOR}
% \label{fig:ld_xor}
% \end{figure}
%
% \clearpage
% \subsection { Logical IMPLICATION example }
%
%
% An implication $a \rightarrow b$ is represented by diagram \ref{fig:ld_imp}.
% The Equations represented are as follows.
%
% Looking at the conjuctive environment of the test cases
% $$P = (\neg a)$$
% $$Q = (b)$$
% From the joining `disjunctive' line R in the diagram.
% $$R = P \vee Q$$
% Leading to
% $$R = (\neg a) \vee (b)$$
% which is the standard logic equation for implication.
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0 0 450 404]{ldimp.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldimp.eps}
% \caption{Logical Implication}
% \label{fig:ld_imp}
% \end{figure}
%
% \tiny
% %\vspace{0.3cm}
% \begin{tabular}{||c|c|c|c||} \hline \hline
%
% {\em $a$ } & {\em $b$ } & {implication \em $(\neg a) \vee (b) $ } \\ \hline
% F & F & T \\ \hline
% F & T & T \\ \hline
% T & F & F \\ \hline
% T & T & T \\ \hline \hline
% \end{tabular}
% %\vspace{0.3cm}
% \normalsize
%
% \clearpage
% \subsection { Diagram representing several Logic Equations Example }
%
%
% bb=0 0 450 404
%
%
% \begin{figure}[h+]
% %\centering
% %\input{millivolt_sensor.tex}
% \begin{center}
% \includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{ldmeq.eps}
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
% \end{center}
% %\includegraphics[scale=0.4]{ldmeq.eps}
% \caption{Several Logical Expressions}
% \label{fig:ld_meq}
% \end{figure}
%
% %The effect of using explicit negation, means that a test case being outside a given contour does not imply negation, it implies a `don't care'
% %condition.
%
% Three simple equations are represented in the diagram \ref{fig:ld_dc}.
%
% %The Set of contours $\mho$ represent the `don't care' conditions.
%
% The Equations represented are as follows.
%
% %$$ Q = a \; | \; \mho\{b,c\} $$
%
% %$$ P = b \wedge c \; | \; \mho\{a\} $$
%
% $$ Q = a $$
% $$ P = b \wedge c $$
% $$ R = b \vee c $$
%
% % XXXXXX gives annoying impossible to understand syntax messages
% %\small
% %\bibliography{vmgbibliography,mybib}
% %\bibliography{vmgbibliography}
% %\normalsize
%
\section{Intended use in FMMD}
The intention for these diagrams is that they are used to collect
component faults and combinations thereof, into faults that,
at the module level have the same symptoms.
\subsection{Example Sub-system}
For instance were a `power supply' being analysed there could be several
individual component faults or combinations that lead to
a situation where there is no power. This can be described as a state
of the powersupply being modeelled as NO\_POWER.
These can all be collected by DISJUCNTION, i.e. that this this or this
fault occuring will cause the NO\_POWER fault. Visually this disjuction is
indicated by the joining lines.
As far as the user of the `power supply' is concerned, the power supply has failed
with the failure mode $NO\_POWER$.
The `power supply' module, after this process will have a defined set of
fault modes and may be considered as a component at a higher
level of abstraction. This module can then be combined
with others at the same abstraction level.
Note that because this is a fault collection process
the number of component faults for a module
must be less than or equal to the sum of the number of component faults.
%Typeset in \ \ {\huge \LaTeX} \ \ on \ \ \today
\begin{verbatim}
CVS Revision Identity $Id: logic_diagram.tex,v 1.16 2010/01/01 14:09:02 robin Exp $
\end{verbatim}
Compiled last \today
%\end{document}
%\theend

35
logic_diagram/paper.aux Normal file
View File

@ -0,0 +1,35 @@
\relax
\citation{FMEA}
\citation{takeup}
\citation{FMEA}
\citation{SIL}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Formal Description of PLD}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Concrete PLD Definition}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2} PLD Definition}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Semantics of PLD}{3}}
\newlabel{FMGderivation}{{9}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Example Diagrams}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}How to read a PLD diagram}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2} Logical AND example }{4}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Logical AND}}{4}}
\newlabel{fig:ld_and}{{1}{4}}
\@writefile{toc}{\contentsline {paragraph}{How this would be interpreted in failure analysis}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3} Logical OR example }{5}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Logical OR}}{5}}
\newlabel{fig:ld_or}{{2}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Labels and useage}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Several Logical Expressions with unamed test cases}}{6}}
\newlabel{fig:ld_meq2}{{3}{6}}
\@writefile{toc}{\contentsline {paragraph}{How this would be interpreted in failure analysis}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5} Repeated Contour example }{7}}
\newlabel{fig:repeated}{{3.5}{7}}
\@writefile{toc}{\contentsline {paragraph}{How this would be interpreted in failure analysis}{7}}
\citation{wdycwopt}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6} Inhibit Failure }{8}}
\newlabel{fig:inhibit}{{3.6}{8}}
\@writefile{toc}{\contentsline {paragraph}{How this would be interpreted in failure analysis}{8}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Intended use in FMMD}{8}}
\bibstyle{plain}
\bibdata{vmgbibliography,mybib}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Example Sub-system}{9}}

BIN
logic_diagram/paper.dvi Normal file

Binary file not shown.

468
logic_diagram/paper.log Normal file
View File

@ -0,0 +1,468 @@
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2009.7.3) 6 JAN 2010 13:31
entering extended mode
%&-line parsing enabled.
**paper.tex
(./paper.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, ukrainian, russian, bulgarian, loaded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo
File: size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
(/etc/texmf/tex/latex/config/graphics.cfg
File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
)
Package graphics Info: Driver file: dvips.def on input line 90.
(/usr/share/texmf-texlive/tex/latex/graphics/dvips.def
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texmf-texlive/tex/latex/fancyhdr/fancyhdr.sty
\fancy@headwidth=\skip43
\f@ncyO@elh=\skip44
\f@ncyO@erh=\skip45
\f@ncyO@olh=\skip46
\f@ncyO@orh=\skip47
\f@ncyO@elf=\skip48
\f@ncyO@erf=\skip49
\f@ncyO@olf=\skip50
\f@ncyO@orf=\skip51
)
(/usr/share/texmf/tex/latex/pgf/frontendlayer/tikz.sty
(/usr/share/texmf/tex/latex/pgf/basiclayer/pgf.sty
(/usr/share/texmf/tex/latex/pgf/utilities/pgfrcs.sty
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-common.tex
\pgfutil@everybye=\toks15
)
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-latex.def)
(/usr/share/texmf/tex/generic/pgf/utilities/pgfrcs.code.tex
Package: pgfrcs 2008/02/20 v2.00 (rcs-revision 1.21)
))
Package: pgf 2008/01/15 v2.00 (rcs-revision 1.12)
(/usr/share/texmf/tex/latex/pgf/basiclayer/pgfcore.sty
(/usr/share/texmf/tex/latex/pgf/systemlayer/pgfsys.sty
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys.code.tex
Package: pgfsys 2008/02/07 v2.00 (rcs-revision 1.31)
(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex
\pgfkeys@pathtoks=\toks16
\pgfkeys@temptoks=\toks17
)
\pgf@x=\dimen105
\pgf@y=\dimen106
\pgf@xa=\dimen107
\pgf@ya=\dimen108
\pgf@xb=\dimen109
\pgf@yb=\dimen110
\pgf@xc=\dimen111
\pgf@yc=\dimen112
\c@pgf@counta=\count87
\c@pgf@countb=\count88
\c@pgf@countc=\count89
\c@pgf@countd=\count90
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgf.cfg
File: pgf.cfg 2008/01/13 (rcs-revision 1.6)
)
Package pgfsys Info: Driver file for pgf: pgfsys-dvips.def on input line 885.
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-dvips.def
File: pgfsys-dvips.def 2007/12/12 (rcs-revision 1.19)
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
File: pgfsys-common-postscript.def 2008/02/07 (rcs-revision 1.18)
\pgf@objectcount=\count91
)))
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
File: pgfsyssoftpath.code.tex 2008/01/23 (rcs-revision 1.6)
\pgfsyssoftpath@smallbuffer@items=\count92
\pgfsyssoftpath@bigbuffer@items=\count93
)
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
))
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
(/etc/texmf/tex/latex/config/color.cfg
File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
)
Package xcolor Info: Driver file: dvips.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
Package xcolor Info: Model `RGB' extended on input line 1353.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcore.code.tex
Package: pgfcore 2008/01/15 v2.00 (rcs-revision 1.6)
(/usr/share/texmf/tex/generic/pgf/math/pgfmath.code.tex
(/usr/share/texmf/tex/generic/pgf/math/pgfmathcalc.code.tex
(/usr/share/texmf/tex/generic/pgf/math/pgfmathutil.code.tex
\pgfmath@box=\box26
)
(/usr/share/texmf/tex/generic/pgf/math/pgfmathparser.code.tex
\pgfmath@stack=\toks18
\c@pgfmath@parsecounta=\count94
\c@pgfmath@parsecountb=\count95
\c@pgfmath@parsecountc=\count96
\pgfmath@parsex=\dimen113
)
(/usr/share/texmf/tex/generic/pgf/math/pgfmathoperations.code.tex
(/usr/share/texmf/tex/generic/pgf/math/pgfmathtrig.code.tex)
(/usr/share/texmf/tex/generic/pgf/math/pgfmathrnd.code.tex))
(/usr/share/texmf/tex/generic/pgf/math/pgfmathbase.code.tex)))
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
File: pgfcorepoints.code.tex 2008/02/03 (rcs-revision 1.13)
\pgf@picminx=\dimen114
\pgf@picmaxx=\dimen115
\pgf@picminy=\dimen116
\pgf@picmaxy=\dimen117
\pgf@pathminx=\dimen118
\pgf@pathmaxx=\dimen119
\pgf@pathminy=\dimen120
\pgf@pathmaxy=\dimen121
\pgf@xx=\dimen122
\pgf@xy=\dimen123
\pgf@yx=\dimen124
\pgf@yy=\dimen125
\pgf@zx=\dimen126
\pgf@zy=\dimen127
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
File: pgfcorepathconstruct.code.tex 2008/02/13 (rcs-revision 1.14)
\pgf@path@lastx=\dimen128
\pgf@path@lasty=\dimen129
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
File: pgfcorepathusage.code.tex 2008/01/23 (rcs-revision 1.11)
\pgf@shorten@end@additional=\dimen130
\pgf@shorten@start@additional=\dimen131
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
File: pgfcorescopes.code.tex 2008/01/15 (rcs-revision 1.26)
\pgfpic=\box27
\pgf@hbox=\box28
\pgf@layerbox@main=\box29
\pgf@picture@serial@count=\count97
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
File: pgfcoregraphicstate.code.tex 2007/12/12 (rcs-revision 1.8)
\pgflinewidth=\dimen132
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
File: pgfcoretransformations.code.tex 2008/02/04 (rcs-revision 1.10)
\pgf@pt@x=\dimen133
\pgf@pt@y=\dimen134
\pgf@pt@temp=\dimen135
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
File: pgfcorequick.code.tex 2006/10/11 (rcs-revision 1.2)
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2)
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
File: pgfcorepathprocessing.code.tex 2008/01/23 (rcs-revision 1.7)
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
File: pgfcorearrows.code.tex 2007/06/07 (rcs-revision 1.8)
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
File: pgfcoreshade.code.tex 2007/12/10 (rcs-revision 1.9)
\pgf@max=\dimen136
\pgf@sys@shading@range@num=\count98
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
File: pgfcoreimage.code.tex 2008/01/15 (rcs-revision 1.1)
\pgfexternal@startupbox=\box30
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
File: pgfcorelayers.code.tex 2008/01/15 (rcs-revision 1.1)
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
File: pgfcoretransparency.code.tex 2008/01/17 (rcs-revision 1.2)
)
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
File: pgfcorepatterns.code.tex 2008/01/15 (rcs-revision 1.1)
)))
(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
File: pgfmoduleshapes.code.tex 2008/02/13 (rcs-revision 1.4)
\pgfnodeparttextbox=\box31
\toks@savedmacro=\toks19
)
(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
File: pgfmoduleplot.code.tex 2008/01/15 (rcs-revision 1.1)
\pgf@plotwrite=\write3
)
(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
Package: pgfcomp-version-0-65 2007/07/03 v2.00 (rcs-revision 1.7)
\pgf@nodesepstart=\dimen137
\pgf@nodesepend=\dimen138
)
(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
Package: pgfcomp-version-1-18 2007/07/23 v2.00 (rcs-revision 1.1)
))
(/usr/share/texmf/tex/latex/pgf/utilities/pgffor.sty
(/usr/share/texmf/tex/generic/pgf/utilities/pgffor.code.tex
Package: pgffor 2007/11/07 v2.00 (rcs-revision 1.8)
\pgffor@iter=\dimen139
\pgffor@skip=\dimen140
))
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
Package: tikz 2008/02/13 v2.00 (rcs-revision 1.27)
(/usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
File: pgflibraryplothandlers.code.tex 2007/03/09 v2.00 (rcs-revision 1.9)
\pgf@plot@mark@count=\count99
\pgfplotmarksize=\dimen141
)
\tikz@lastx=\dimen142
\tikz@lasty=\dimen143
\tikz@lastxsaved=\dimen144
\tikz@lastysaved=\dimen145
\tikzleveldistance=\dimen146
\tikzsiblingdistance=\dimen147
\tikz@figbox=\box32
\tikz@tempbox=\box33
\tikztreelevel=\count100
\tikznumberofchildren=\count101
\tikznumberofcurrentchild=\count102
\tikz@fig@count=\count103
(/usr/share/texmf/tex/generic/pgf/modules/pgfmodulematrix.code.tex
File: pgfmodulematrix.code.tex 2008/01/15 (rcs-revision 1.1)
\pgfmatrixcurrentrow=\count104
\pgfmatrixcurrentcolumn=\count105
\pgf@matrix@numberofcolumns=\count106
)
\tikz@expandcount=\count107
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopat
hs.code.tex
File: tikzlibrarytopaths.code.tex 2008/01/09 v2.00 (rcs-revision 1.1)
))) (/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty
Package: amsfonts 2001/10/25 v2.2f
\@emptytoks=\toks20
\symAMSa=\mathgroup4
\symAMSb=\mathgroup5
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
(Font) U/euf/m/n --> U/euf/b/n on input line 132.
)
(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty
Package: amsmath 2000/07/18 v2.13 AMS math features
\@mathmargin=\skip52
For additional information on amsmath, use the `?' option.
(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty
Package: amstext 2000/06/29 v2.01
(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0
\@emptytoks=\toks21
\ex@=\dimen148
))
(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d
\pmbraise@=\dimen149
)
(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty
Package: amsopn 1999/12/14 v2.01 operator names
)
\inf@bad=\count108
LaTeX Info: Redefining \frac on input line 211.
\uproot@=\count109
\leftroot@=\count110
LaTeX Info: Redefining \overline on input line 307.
\classnum@=\count111
\DOTSCASE@=\count112
LaTeX Info: Redefining \ldots on input line 379.
LaTeX Info: Redefining \dots on input line 382.
LaTeX Info: Redefining \cdots on input line 467.
\Mathstrutbox@=\box34
\strutbox@=\box35
\big@size=\dimen150
LaTeX Font Info: Redeclaring font encoding OML on input line 567.
LaTeX Font Info: Redeclaring font encoding OMS on input line 568.
\macc@depth=\count113
\c@MaxMatrixCols=\count114
\dotsspace@=\muskip10
\c@parentequation=\count115
\dspbrk@lvl=\count116
\tag@help=\toks22
\row@=\count117
\column@=\count118
\maxfields@=\count119
\andhelp@=\toks23
\eqnshift@=\dimen151
\alignsep@=\dimen152
\tagshift@=\dimen153
\tagwidth@=\dimen154
\totwidth@=\dimen155
\lineht@=\dimen156
\@envbody=\toks24
\multlinegap=\skip53
\multlinetaggap=\skip54
\mathdisplay@stack=\toks25
LaTeX Info: Redefining \[ on input line 2666.
LaTeX Info: Redefining \] on input line 2667.
)
(/usr/share/texmf-texlive/tex/latex/amscls/amsthm.sty
Package: amsthm 2004/08/06 v2.20
\thm@style=\toks26
\thm@bodyfont=\toks27
\thm@headfont=\toks28
\thm@notefont=\toks29
\thm@headpunct=\toks30
\thm@preskip=\skip55
\thm@postskip=\skip56
\thm@headsep=\skip57
\dth@everypar=\toks31
) (./style.tex
LaTeX Font Info: Redeclaring symbol font `AMSb' on input line 34.
LaTeX Font Info: Overwriting symbol font `AMSb' in version `normal'
(Font) U/msb/m/n --> U/msb/m/n on input line 34.
LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold'
(Font) U/msb/m/n --> U/msb/m/n on input line 34.
\c@examplec=\count120
\c@definitionc=\count121
\c@summaryc=\count122
\c@example=\count123
\c@definition=\count124
)
(./paper.aux)
\openout1 = `paper.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Try loading font information for U+msa on input line 20.
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2002/01/19 v2.2g AMS font definitions
)
LaTeX Font Info: Try loading font information for U+msb on input line 20.
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2002/01/19 v2.2g AMS font definitions
)
(./logic_diagram_paper.tex
LaTeX Warning: Citation `FMEA' on page 1 undefined on input line 20.
LaTeX Warning: Citation `takeup' on page 1 undefined on input line 22.
LaTeX Warning: Citation `FMEA' on page 1 undefined on input line 45.
LaTeX Warning: Citation `SIL' on page 1 undefined on input line 45.
[1
] [2]
LaTeX Font Info: Try loading font information for OMS+cmr on input line 279.
(/usr/share/texmf-texlive/tex/latex/base/omscmr.fd
File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 279.
[3]
File: ldand.eps Graphic file (type eps)
<ldand.eps>
[4]
File: ldor.eps Graphic file (type eps)
<ldor.eps> [5
]
LaTeX Warning: Reference `fig:ld_meq' on page 6 undefined on input line 428.
LaTeX Warning: Reference `fig:ld_meq' on page 6 undefined on input line 433.
File: ldmeq2.eps Graphic file (type eps)
<ldmeq2.eps> [6
]
File: ./repeated.eps Graphic file (type eps)
<./repeated.eps>
Overfull \hbox (32.57841pt too wide) in paragraph at lines 472--475
[][]
[]
LaTeX Warning: Reference `fig:repeat' on page 7 undefined on input line 479.
[7
]
File: ./inhibit.eps Graphic file (type eps)
<./inhibit.eps>
LaTeX Warning: Citation `wdycwopt' on page 8 undefined on input line 525.
[8
])
No file paper.bbl.
[9] (./paper.aux)
LaTeX Warning: There were undefined references.
)
Here is how much of TeX's memory you used:
7859 strings out of 94835
133645 string characters out of 1179205
188286 words of memory out of 1500000
10865 multiletter control sequences out of 10000+50000
13335 words of font info for 51 fonts, out of 1200000 for 2000
212 hyphenation exceptions out of 8191
47i,11n,49p,372b,312s stack positions out of 5000i,500n,6000p,200000b,5000s
Output written on paper.dvi (9 pages, 28936 bytes).

BIN
logic_diagram/paper.pdf Normal file

Binary file not shown.

30
logic_diagram/paper.tex Normal file
View File

@ -0,0 +1,30 @@
\documentclass[a4paper,10pt]{article}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{amsfonts,amsmath,amsthm}
\input{style}
%\newtheorem{definition}{Definition:}
\begin{document}
\pagestyle{fancy}
\outerhead{{\small\bf Propositional Logic Diagram}}
\innerfoot{{\small\bf R.P. Clark } }
% numbers at outer edges
\pagenumbering{arabic} % Arabic page numbers hereafter
\author{R.P.Clark}
\title{Propositional Logic Diagrams}
\maketitle
\input{logic_diagram_paper}
\bibliographystyle{plain}
\bibliography{vmgbibliography,mybib}
\begin{verbatim}
$Id: paper.tex,v 1.4 2009/11/28 20:05:52 robin Exp $
\end{verbatim}
\end{document}

28
logic_diagram/paper.tex~ Normal file
View File

@ -0,0 +1,28 @@
\documentclass[a4paper,10pt]{article}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{amsfonts,amsmath}
\input{../style}
\begin{document}
\pagestyle{fancy}
\outerhead{{\small\bf Propositional Logic Diagram}}
\innerfoot{{\small\bf R.P. Clark } }
% numbers at outer edges
\pagenumbering{arabic} % Arabic page numbers hereafter
\author{R.P.Clark}
\title{Propositional Logic Diagrams}
\maketitle
\input{logic_diagram_paper}
\bibliographystyle{plain}
\bibliography{vmgbibliography,mybib}
\begin{verbatim}
$Id: paper.tex,v 1.3 2008/11/07 19:54:52 robin Exp $
\end{verbatim}
\end{document}

179
logic_diagram/repeated.eps Normal file
View File

@ -0,0 +1,179 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: repeated.fig
%%Creator: fig2dev Version 3.2 Patchlevel 5
%%CreationDate: Fri Jan 1 14:20:31 2010
%%For: robin@NovaProspect (Robin,,,)
%%BoundingBox: 0 0 486 206
%Magnification: 1.0000
%%EndComments
%%BeginProlog
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
end
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
/pageheader {
save
newpath 0 206 moveto 0 0 lineto 486 0 lineto 486 206 lineto closepath clip newpath
-60.5 247.5 translate
1 -1 scale
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06299 0.06299 sc
} bind def
/pagefooter {
$F2psEnd
restore
} bind def
%%EndProlog
pageheader
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Arc
7.500 slw
0 slc
n 5173.5 2296.8 1623.9 175.2957 3.1128 arcn
gs col0 s gr
% Arc
n 6772.5 3082.5 1464.1 -136.2454 -43.7546 arc
gs col0 s gr
% Ellipse
n 1980 2205 1011 1011 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 3150 2205 1028 1028 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 6255 2070 1070 1070 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 7515 2115 1138 1138 0 360 DrawEllipse gs col0 s gr
/Times-Roman ff 190.50 scf sf
2430 2520 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
6795 2340 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
7785 2340 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
5670 2340 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
3510 2385 m
gs 1 -1 sc (*) col0 sh gr
/Times-Roman ff 190.50 scf sf
1620 1035 m
gs 1 -1 sc (A) col0 sh gr
/Times-Roman ff 190.50 scf sf
2970 945 m
gs 1 -1 sc (B) col0 sh gr
/Times-Roman ff 190.50 scf sf
5985 810 m
gs 1 -1 sc (A) col0 sh gr
/Times-Roman ff 190.50 scf sf
7515 810 m
gs 1 -1 sc (C) col0 sh gr
/Times-Roman ff 190.50 scf sf
4770 3690 m
gs 1 -1 sc (R1) col0 sh gr
/Times-Roman ff 190.50 scf sf
5985 1800 m
gs 1 -1 sc (R2) col0 sh gr
/Times-Roman ff 190.50 scf sf
2340 2160 m
gs 1 -1 sc (R3) col0 sh gr
% here ends figure;
pagefooter
showpage
%%Trailer
%EOF

View File

@ -0,0 +1,27 @@
#FIG 3.2 Produced by xfig version 3.2.5
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 5173.463 2296.817 3555 2430 5310 3915 6795 2385
5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 6772.500 3082.500 5715 2070 6840 1620 7830 2070
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1980 2205 1011 1011 1980 2205 2835 2745
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3150 2205 1028 1028 3150 2205 4095 2610
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6255 2070 1070 1070 6255 2070 7245 2475
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 7515 2115 1138 1138 7515 2115 8595 2475
4 0 0 50 -1 0 12 0.0000 4 75 105 2430 2520 *\001
4 0 0 50 -1 0 12 0.0000 4 75 105 6795 2340 *\001
4 0 0 50 -1 0 12 0.0000 4 75 105 7785 2340 *\001
4 0 0 50 -1 0 12 0.0000 4 75 105 5670 2340 *\001
4 0 0 50 -1 0 12 0.0000 4 75 105 3510 2385 *\001
4 0 0 50 -1 0 12 0.0000 4 135 135 1620 1035 A\001
4 0 0 50 -1 0 12 0.0000 4 135 135 2970 945 B\001
4 0 0 50 -1 0 12 0.0000 4 135 135 5985 810 A\001
4 0 0 50 -1 0 12 0.0000 4 135 135 7515 810 C\001
4 0 0 50 -1 0 12 0.0000 4 135 240 4770 3690 R1\001
4 0 0 50 -1 0 12 0.0000 4 135 240 5985 1800 R2\001
4 0 0 50 -1 0 12 0.0000 4 135 240 2340 2160 R3\001

BIN
logic_diagram/repeated.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

137
logic_diagram/style.tex Normal file
View File

@ -0,0 +1,137 @@
%
%============= Definition of {asyoulikeit} page style ======================*
%
% Jonathan Burch This is the terse form - expanded, formatted,
% 20-Jan-1989 commented version in TEX$LATEX:ASYOULIKEIT.FULL
%
\catcode`\@=11\def\ps@asyoulikeit{\def\@oddhead{\hbox{}\lp@innerhead
\lp@headfill\lp@middlehead\lp@headfill\lp@outerhead}\def\@evenhead
{\hbox{}\lp@outerhead\lp@headfill\lp@middlehead\lp@headfill\lp@innerhead}
\def\@oddfoot{\hbox{}\lp@innerfoot\lp@footfill\lp@middlefoot\lp@footfill
\lp@outerfoot}\def\@evenfoot{\hbox{}\lp@outerfoot\lp@footfill\lp@middlefoot
\lp@footfill\lp@innerfoot}\def\sectionmark##1{}\def\subsectionmark##1{}}
\def\lp@innerhead{}\def\lp@middlehead{}\def\lp@outerhead{}\def\lp@innerfoot{}
\def\lp@middlefoot{ {\thepage} }\def\lp@outerfoot{}\def\lp@headfill{\hfil}
\def\lp@footfill{\hfil}\newcommand{\lp@linefill}{\leaders\hrule height 0.55ex
depth -0.5ex\hfill}\newcommand{\innerhead}[1]{\def\lp@innerhead{#1}}
\newcommand{\middlehead}[1]{\def\lp@middlehead{#1}}\newcommand{\outerhead}[1]
{\def\lp@outerhead{#1}}\newcommand{\innerfoot}[1]{\def\lp@innerfoot{#1}}
\newcommand{\middlefoot}[1]{\def\lp@middlefoot{#1}}\newcommand{\outerfoot}[1]
{\def\lp@outerfoot{#1}}\newcommand{\lineheadfill}{\def\lp@headfill
{\lp@linefill}}\newcommand{\linefootfill}{\def\lp@footfill{\lp@linefill}}
\newcommand{\blankheadfill}{\def\lp@headfill{\hfill}}\newcommand
{\blankfootfill}{\def\lp@footfill{\hfill}}\newcommand{\documentnumber}[1]
{\def\lp@docno{#1}\outerhead{\lp@docno}}\def\lp@docno{}\def\@maketitlet
{\newpage\null\vskip -14ex\hbox{}\hfill\lp@docno\vskip 13ex\begin{center}
{\LARGE\@title\par}\vskip 1.5em{\large\lineskip .5em\begin{tabular}[t]{c}
\@author\end{tabular}\par}\vskip 1em{\large\@date}\end{center}\par\vskip 3em}
\def\abstract{\if@twocolumn\section*{Abstract}\else\small\begin{center}
{\bf Abstract\vspace{-.5em}\vspace{0pt}}\end{center}\quotation\fi}\def
\endabstract{\if@twocolumn\else\endquotation\fi}\ps@asyoulikeit\catcode`\@=12
%
%=========== End of {asyoulikeit} page style definition ====================*
\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
\DeclareMathSymbol{\N}{\mathbin}{AMSb}{"4E}
\DeclareMathSymbol{\Z}{\mathbin}{AMSb}{"5A}
\DeclareMathSymbol{\R}{\mathbin}{AMSb}{"52}
\DeclareMathSymbol{\Q}{\mathbin}{AMSb}{"51}
\DeclareMathSymbol{\I}{\mathbin}{AMSb}{"49}
\DeclareMathSymbol{\C}{\mathbin}{AMSb}{"43}
% Page layout definitions to suit A4 paper
\setcounter{secnumdepth}{3} \setcounter{tocdepth}{4}
\setlength{\topmargin}{0mm}
\setlength{\textwidth}{160mm} \setlength{\textheight}{220mm}
\setlength{\oddsidemargin}{0mm} \setlength{\evensidemargin}{0mm}
%
% Local definitions
% -----------------
\newcommand{\eg}{{\it e.g.}}
\newcommand{\etc}{{\it etc.}}
\newcommand{\ie}{{\it i.e.}}
\newcommand{\qv}{{\it q.v.}}
\newcommand{\viz}{{\it viz.}}
\newcommand{\degs}[1]{$#1^\circ$} % Degrees symbol
\newcommand{\mins}[1]{$#1^{\scriptsize\prime}$} % Minutes symbol
\newcommand{\secs}[1]{$#1^{\scriptsize\prime\prime}$} % Seconds symbol
\newcommand{\key}[1]{\fbox{\sc#1}} % Box for keys
\newcommand{\?}{\_\hspace{0.115em}} % Proper spacing for
% underscore
%----- Display example text (#1) in typewriter font
%\newcommand{\example}[1]{\\ \smallskip\hspace{1in}{\tt #1}\hfil\\
% \smallskip\noindent}
%
%----- Enclose text (#2) in ruled box of given thickness (#1)
\def\boxit#1#2{\vbox{\hrule height #1pt\hbox{\vrule width #1pt\hskip 5pt
\vbox{\vskip 5pt #2 \vskip 5pt}\hskip 5pt
\vrule width #1pt}\hrule height #1pt}}
%----- Display boxed warning text (#1)
\def\warning#1{\bigskip
\setbox1=\vbox{\tolerance=5000\parfillskip=0pt
\hsize=3in\noindent#1}
\centerline{\boxit{1.0}{\box1}}
\bigskip}
%----- Definitions to aid display of help text
% (modelled on \item and \itemitem)
\def\helpindent#1{\setbox2=\hbox to\parindent{{\it #1}\hfil}
\indent\llap{\box2}\ignorespaces}
\def\helpitem{\parindent=70pt\par\hang\helpindent}
\def\helpitemitem{\parindent=70pt\par\indent \parindent=80pt
\hangindent2\parindent \helpindent}
%----- Tables and footnotes to tables
%
\newcommand{\spacerA}{\rule{0mm}{4mm}}
\newcommand{\spacerB}{\rule[-2mm]{0mm}{5mm}}
\footnotesep=5mm
\renewcommand{\footnoterule}{{\small Notes:}}
%% Robin 01AUG2008
%%
\newcounter{examplec}
\newcounter{definitionc}
\newcounter{summaryc}
%\@addtoreset{examplec}{chapter}\renewcommand\theexamplec{\thechapter.arabic{examplec}}
%\@addtoreset{definitionc}{chapter}
%\@addtoreset{summaryc}{chapter}
%\renewcommand\examplec{\arabic{examplec}}
%\newenvironment{example}
%{
% \stepcounter{examplec} \vspace{10pt} \normalfont\bfseries Example:\normalfont\[{\arabic{chapter}.\arabic{examplec}}\]
% \normalfont \begin{quote}}{\end{quote}\par}
%\newenvironment{definition}
%\newenvironment{example}
%{
% \stepcounter{examplec} \vspace{10pt} \normalfont\bfseries Example:\normalfont\[{\arabic{chapter}.\arabic{examplec}}\]
% \normalfont \begin{quote}}{\end{quote}\par}
\usepackage{amsthm}
\newtheorem{example}{Example:}
\newtheorem{definition}{Definition:}
\newtheorem*{summary}{Summary:}
%\newenvironment{example}
%{ \stepcounter{examplec} \vspace{10pt} \normalfont\bfseries Example:(\arabic{chapter}.\arabic{examplec})
% \normalfont \begin{quote}}{\end{quote}\par}
%
%\newenvironment{definition}
%{ \stepcounter{definitionc} \vspace{10pt} \normalfont\bfseries Definition:(\arabic{chapter}.\arabic{definitionc})
% \normalfont \begin{quote}}{\end{quote}\par}
%
%\newenvironment{summary}
%{ \vspace{10pt} \normalfont\bfseries Summary:
% \normalfont \begin{quote}}{\end{quote}\par}
%