From d68ffdf5a758c37926f439dffa09104fb0168995 Mon Sep 17 00:00:00 2001 From: Robin Clark Date: Mon, 8 Nov 2010 19:05:19 +0000 Subject: [PATCH] . --- fmmd_concept/fmmd_concept.tex | 96 +++++++++++++++++++++++++------ fmmd_concept/fmmd_env_op_uml.dia | Bin 0 -> 2054 bytes fmmd_concept/fmmd_env_op_uml.jpg | Bin 0 -> 18777 bytes fmmd_concept/fmmd_hierarchy.dia | Bin 0 -> 1607 bytes fmmd_concept/fmmd_hierarchy.jpg | Bin 0 -> 10927 bytes 5 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 fmmd_concept/fmmd_env_op_uml.dia create mode 100644 fmmd_concept/fmmd_env_op_uml.jpg create mode 100644 fmmd_concept/fmmd_hierarchy.dia create mode 100644 fmmd_concept/fmmd_hierarchy.jpg diff --git a/fmmd_concept/fmmd_concept.tex b/fmmd_concept/fmmd_concept.tex index ac3174c..d69e8a0 100644 --- a/fmmd_concept/fmmd_concept.tex +++ b/fmmd_concept/fmmd_concept.tex @@ -582,7 +582,12 @@ there are generally only a handful of SYSTEM level failure modes. \subsection{Outline of the FMMD process} \label{fmmdproc} FMMD builds {\fg}s of components from the bottom-up. -Thus the {\fg}s are minimal collections of components +The lowest level of components are termed base components. +These are the initial building blocks. +In Electronics these would be the individual +passive and active components on the parts~list. +In mechanics the the levers springs cogs etc. +Functional groups are collections of components that work together to perform a simple function. % We can perform a failure mode effects analysis on each of the component failure @@ -603,43 +608,100 @@ modes, the collected symptoms of the {\fg}. Because we can now have {\dcs} we can use these to form new {\fg}s and we can build a hierarchical `failure~mode' model of the SYSTEM. +The diagram in figure \ref{fig:fmmd_hierachy}, shows one stage +of the FMMD process. The resultant {\dc} may be used to +create higher level {\fg}s in later stages. %%- Need diagram of hierarchy %%- %%- -\vspace{20pt} -NEED DIAGRAM OF HIERACY -\vspace{20pt} +\begin{figure}[h] + \centering + \includegraphics[width=200pt,bb=0 0 331 249,keepaspectratio=true]{./fmmd_hierarchy.jpg} + % fmmd_hierarchy.jpg: 331x249 pixel, 72dpi, 11.68x8.78 cm, bb=0 0 331 249 + \caption{Example derived component created from the functional group comprised of components a,b,c} + \label{fig:fmmd_hierarchy} +\end{figure} + + +% \begin{figure}[h] +% \centering +% \includegraphics[bb=0 0 331 249,keepaspectratio=true]{./fmmd_hierarchy.jpg} +% % fmmd_hierarchy.jpg: 331x249 pixel, 72dpi, 11.68x8.78 cm, bb=0 0 331 249 +% \caption{Example derived component created from a functional group comprised of components a,b,c} +% \label{fig:fmmd_hiarchy} +% \end{figure} +% +% \vspace{20pt} +% NEED DIAGRAM OF HIERACY +% \vspace{20pt} \subsection{Environmental and Operational States and FMMD} -Introduce the ideas +Any real world sub-system will exist in a variable environment and may have several modes of operation. +In order to find all possible failures, the sub-system must be analysed for each operational state +and environment condition that can affect it. +Two design decision are required here, which objects should we +analyse the environment and operational states with respect to. +We could apply these conditions for analysis +to the functional group, the components, or the derived +component. -\paragraph {Environmental Conditions and FMMD} +\paragraph {Environmental Conditions and FMMD.} -HERE talk about environmental effects of a sub-system. +Environmental conditions are external to the +{\fg} and are often things that the system has no direct control over. +Consider ambient temperature, pressure or even electrical interferrence levels. -Define this further by identifying that -environmental conditions affect components +Environmental conditions may affect different components in a {\fg} +in different ways. -for instance a system may be speced for +For instance a system may be specified for 0 to 85oC operation, but some components may show failure behaviour between 60 and 85 +\footnote{Opto-islolators typically show marked performace decrease after +60oC whereas another common component, the resistor will be unaffected.}. +Environmental conditions will have an effect on the {\fg} and the {\dc} +but they will have specific effects on individual components. + +\paragraph{Design Decision.} +Environmental constraints will be applied to components. +A component will hold a set of Environmental states that +affect it. +Environmental conditions will apply SYSTEM wide, +but may only affect specific components. +%Some may not be required for consideration +%for the analysis of particular systems. \paragraph {Operational States and FMMD} -HERE talk about operational states of a sub-system -Define this further by stating that -operational states are effects on a functional group. -For instance a circuit may have a test line input. -The fnctional group will there fore have two -operational states, testing mode and normal mode. +Sub-systems may have specific operational states. +These could be a general health level such as +normal operation, graceful degradation or lockout. +Or they could be self~checking sub-systems that are either in a normal or self~check state. + +Operational states are conditions that apply to a functional group, not individual components. + + +\paragraph{Design Decision.} +Operational state will be applied to {\fg}s. \paragraph{UML Model of FMMD Analysis} -iDraw a UML model showing the components and the functional group +Draw a UML model showing the components and the functional group with the ENV and OP\_STAT classes associated with them + +\begin{figure}[h] + \centering + \includegraphics[width=400pt,bb=0 0 818 249,keepaspectratio=true]{./fmmd_env_op_uml.jpg} + % fmmd_env_op_uml.jpg: 818x249 pixel, 72dpi, 28.86x8.78 cm, bb=0 0 818 249 + \caption{UML model of Environmental and Operational states w.r.t FMMD} + \label{fig:env_op_uml} +\end{figure} + + + \subsection{Justification of wishlist} By applying the methodology in section \ref{fmmdproc}, the wishlist can diff --git a/fmmd_concept/fmmd_env_op_uml.dia b/fmmd_concept/fmmd_env_op_uml.dia new file mode 100644 index 0000000000000000000000000000000000000000..d52b522203b0d7faf22661cbb6519ef0642929bb GIT binary patch literal 2054 zcmV+h2>JIPiwFP!000001MOX1Z=*&Oeb28z-nYsf&nGjp-elFSwrZvBuGCE{^(n$O zap+>OfH=uZe|u*DC&q@v0gn^5gS4wahB?e|Irq%H7xM1??ILtmev$@pbUHu)4jez4 z#OT8>kKp0$u z)F1upg`qc6jYfmB6UW)?VCH3>K2{#}vMdQE*O~7`-oif}OuXs0c@keovq90SY&VU= zIB`~9csh7*ki-$FpA3{%i<@l z|I!Q7eFjh*zJJ=D`{d4(VD|WfTWQhI%S|xLt}bp3O;^$TouS@WK^ja#zwYXTC_7m9 zcZcbI`|jlI{cw6mYbbhabPqG(GoL-*J`wtIp+9_{v$vBQT&4Sf>Z(~m4$v^%yD+l{E^P-uT%$y&c5Ap5bL4zm- z63k8qUto2zwuh%WQ#`mcTg&*~q$I#>h!9}gQ?N@QO#qY0cK?YQffvm~{~kj_P&P&` z5DJa}-VV+W{l&#JPNH3jaJVt$AUT)pj%&>$954nqHsp4|y7GhhRn`oK0itqaBe)${ zdKKSX)F{WN-D3SCJbJL#Jq-BVzs)u*7?l=`x>~TZDX4C@QV%9=_#OrG@%_(I@RpdF zo{T3bd#g>;P0clKrQMbsZVA*>|J56Q^6Gd_mX^NU7F&wD9ZirypG} z%DLPVrPgac?}=FDm$dy%JX{Jn3LD|BY=j9Qxg{9nqBRD_4<}Z&?_}% zchY#Uq5W|73pUV7uz_%+!Gbm9-D>~bs@vVIBBihZHR@H7LLjVktF)Wb+rzVV8Bv=k zJ~ZoCU0K=qcjQ=kXU7TwQ$mUWXwT(#U8{68BI-pHf95B_%AYxT|B>QP>syWc z);gQC&b5c(G|`!!bhN#QX)JAREb{|J6J2010!h1E_`*<~fE=m~$W~ z))6({iRw^U6j^8? zu4`B!GAaKVa9!aJ1>i1XuFj<+RJQ{AiXBsMRoQeKcf{tLqfll`UsP z*}-(VeLZ!x?vHhd2ND+|_(*4m!+qW#Napw0zMN^hGk z3x(fTD>EtdMO-a_tNz@!5aL#`JDCKDM&vAL9N ztkxd7I7I-~i^||HOF!|7(%=(yJ2Ky9FwAE#YE07l);_LKJJ&BMhest7+8Pvjn2e#h zI=7B;BrIJz*6+ta=Bj;{N@+TW(Kyc97k403%V*V8v`)&u+(K0euJ$WcYIvdAWXGLr zT@V2f5s~MpsN`lV@gxyaIao;ramO0jr6kYAwbnlS=i-{iSz8Jwg{1mIr4a7_DHr!b zW{lwh%1NanD7`#@kVvy;EQCZu3ZRr&=4Omwu`q#cGq?Mjanm^Kn-b~jw@PT+bW&$W8?HeR#L(42Z$!CN`+^f9UjM=e*>#Tb2x5&L+I3DJ zzrNJH$^`+KSM3=sb16U=kOd_nKq%Hu&g};!{a`7{I3?BCp{1lgQd0LXF(H78K&{cp zaDl>=-qxI?c8QYvx{wrGPO_ZTXo!}S`bbK&dpuYwvM?G3mfHQ%Tp@9Q5tmed)5apXo;wgM0AJ`YUS^@AhX}oQW*MU4r7D?%kgk8s?QJrmWqz?4Xte(v~1KzHgXTZ zMtNZvG0R4rPx# literal 0 HcmV?d00001 diff --git a/fmmd_concept/fmmd_env_op_uml.jpg b/fmmd_concept/fmmd_env_op_uml.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b217411a9669a9137bfeec945aafb46059827fde GIT binary patch literal 18777 zcmeHu1zeQdy8buPEz*s&bmve?ih`(sv~)>#=nw*egtVe`#}Lxp-60?;p@g&u2*b?( zbDy)%-MY`Ycb^;QocsUX;kRJ;X3e+aTkCzF=Xu|Snn8U4F5gsARRSOo0Dyo$0BR1n z0bpZdVqs!nV_{+8;9%q8lM>+L;o(zVAt55Aqh_F|qo$>0WZ`9JWa4I~rR5O2#?3Dv zEG*2xE+H*02;~(L7W{q_2o4SoJ{~?L0Rg4pRobh9fA3!P<|(&jEB|j4M|K zJF$dq-zicTaC$|M}3K+X>h~bKqLIJVfE5_#-hOmv?bV7!97&a8A;8g5JOXFzc zKoMMK(I#!jHF9{Yz|8-Yisc9%eR|iJNOr>r1@z5DBP9&60%X@xz3h-}+AU|-?9$VT zWKlpc>;4yH@E#(i76q)v!`fp{y-~pR6Que)?4bV$mji7C1uU!jK~X@4FA89HkUjm# zu%F#b4;yVl0dX}92$!Zy;lLLZ@MBxbh--YIX-9mpwVfUmKwB!8=?~rlNt)C#az@c| z=&_0dqBKzeuG;eY1>Vv(DQ6VW!!^qBFWDuc)13X9wr1K>=OWu#^~hu24QLv#an-GJ z&s*VMR*d^9YdW<$X$X7p@!Tju0dpO&tf5O~YcOWrFE#(ZQpuk)O4jc+2sc83mh9gKucl;o;)vs3O7H)JdnW^cf_LY?I z5H3i%U#3(meL0PFqF!v)Jr;-uiIq<$Y!Cl%B&~L53Tl{c>lyg&VdEI@u6-=o!-K2= z>+8*`^Kx^&JuDHZ_iusPaYUY0EOR4vJJA&{o`$)yMjZ;_-duh6dKs^$nh>vD}^ z8)eO~=8b4jzH|&AZ@c-6=*4G{8y|Nc>Bv|pfONMy@?zU9^IF(N94uAR=#sR-<;&-mylF2imA=E_y z_x7S-`=BYB(Ol;H#6-t_Jt=Ovf{=c#v|mzM zsDJvo8!nv?KTTYmT*s+?0@a*e0v*OZ&A_55}}(C zaZ{D$P!;+qJi0aQPy;H00v;9_UyxSb!ID=by#x6p#Q^j$C;;?#Nys)G8&GAe{ufNRX=QAuZcvb|@e-u^x9Ff%Dzzb{HSyR)J1e%@6}1yQeu}FQRYa z=uIPtMVP~4y+G+^VR1G7JdksN6!OfEH4_C`D(0~kznD`vl*Hz>2n&7LHSefRQ1voa zM|`vAQeIL={jI4Jj~&ZQng-U1Pl}dzrnYD~0iu2&<{KsS>j$&D;Xn?3oEc%c44keW z{5x=!Jz(|ftA;GzIumqJ&zu++M%qBWoX0l*UPRyTHC-Vxlp7p+wx44+>u0x`ci%G5i54DXnM^fMi%h z_*|Mqy$m^WF4B^8k!Jk}{=`GZfZb9jZsaU`Z4J@nEiszuFQL*%l*e1k?(2>mshNOt z+cWB}VJPqjaIT8Gb@X(Q_ZcYzDPffaf{%6GC3t2Qu4%96U=OyqC-Zw$5Dv;SN6>Sr zhXW(g3KN;9yk`7rkS)7#2%QOv=_6!QM-|5)$*+25xZ=CL8bB<>(oA@FrQ0I6K;~kmxma>!~G# z4(aH|+jDL$tBjb+Ljm_A9jpSc*LTOiej0aYAU!p^+PTqHOGCs$e%oQ-Z4fqBzFJp2(2!z9q?vBaP{b7vuli4Z> z3cb@7E85gagdMCz-KyQfteYpi{9ew=8&P;G8D zz=-Cr!PeCN--{VQ46@D=iN;{^Dii&|CGP2^1MSWq0d277<935@x| zPh1xIaqUoUz=0Ivt6w?AUI%WFstFMq93~vr)QqcxZ*(M<6b9@o7ZyCIV+FVoD9*+6Jp`3trFdB>%p5T{qqNMBu2WQ zr(zYS5R)~mUCf3xSGTgI=919=Ex#u*!iBU=Q);z3x6=c5@ zcNh`O9{xV+T<;xg;`+@bbu|tLmYTy76A$lXF%W4~A6<>9vPqBB=UKFrPBh{PZ2Dz-+!sb+sfWen0 ziUT&&V-KGKD#~cFs-uXmN_EN-^U%G3nuH>K#DZC>>H&O%>^Vc6?Vvn(9MUO?7=t*7!&57<2FY=|gR}a-n+5P{WVe-RvV%4yL*uEX7SnqeTrS~ z#q;g`&H8{~tXG)&9~q;HQUxZbdVWCh{?eDizsnoH#qtclMe)E9F4uRFrOH$Ds-SUuQLzwp`*Uka2+vqd*;gsq zK+k=>;bZbNH+#n_NV;8LCefZq`#OI?816S1sM%x@sC81rNLSYmlXpuZmW}7|xWVKq%R%?z)(3f5~21bF##pHC%k}Xinc! zg_V0ujb?aTD?BPhi*p8x>kT1SCWx_VWbtidyd)mwHB?K^i&ZSOxrO_c3yrW8s%$|B zwfwgSF@4_65fP+_-5>iHsOalUC-Z4m+r_WXB2k65Zk6`se5y|wLXw&TEp)V*L2rY6 zk-nk4eB$a9H_vKKQ=)hvygeT8+B}8STQN*#_7_f+t0s>`Qbh79$Fs`pBt9j=B)wD2 z1F}u`o?`F}yF$e!n>yZ1yQ5AoprT#3g7aW0Xr? zE~X0{N|3K+LRMYmY0q3$QiOllR?8r`^^r|kGm4)yZUl>RL~jpN0c9L7ZH;dbIEpM} zCr5Ti7w8)f>IOEwn^Twz9XNp~(Fpz%PiN;PNN2^a;#-xw#?5~hP9t_8@i zGjvLOZ|Z}Dns5=fnVx>XsaTBsU~%)g3Bl&Tqf`!-a3x?>f`I;h%t9zlq}vOd3dI%p zjr*3-y|tk2RYcz{&krczjQU6xK?$P4uJ7#j|Em2oA-|>jCL^mF zxU=(Wj?OEF)Kn`jvC6E7o4u_c0`bf*dvz(J0Gy>D5a-*Cf^%&KPBR&Z@X0{i{L?&x zw)Y=W@i%_U5DUTn1nf~p=?zdZijYNUIe~pl^m0T}lpaSTSg3VoV9V5pG84x$h!&w8 zscMH|F|#-BU4T#5KXCy6m8Ny%|EBs)5Bo`8Gy3_$-~8&&gpFQyzotiqe1E;2j@8}X zr+d*Fx+l0aL?pOd>-S{SWj&AxEl-*&9dy1i`CDmx!3d%fTkne%1H;0Zx!XiG%!#*l zhwlfsvRv`%vh<@IJ9;2PxiR~BQxrBU03Q%p(c?0BsK&J4O2O_(NxK@pi;!Kh7weq* zGLqX^{G$Ir!Ye$YNO0eWc4t`V1$Hm`iob-wG71RudDjtX)s^fJZK-KyEi7fa!x`%t z!;He(yW?q2i5(Za0Kj2)aO5cd@8Gi@e zNuB`SsC|5(j8Dv{vKo24kb@F{v;xlIv7mA>wA(1QIwaKd?%dYI9fXPTOi1RB?>;e^#0vZ&+ z1`^5VEhylw81nY7M3VxB%yvY)&O-8{fD4tSZ-1ewpiFWW({c#1*nfeR@``L)$lX(@ z&(&%jF}NwJ5A}P;UZ=Mi-i#H*9wy2ty_M-Nh!Dvg%JR}t8Q-NAP3`Ze@un8MnW%uP z(u+k!9~eFf#;MYlv7REt3J^SFrF;n49K!|G^}S?Yj9WttMJ2wHwBD)i{?CR30X{S-F>I5NZkY5|!V4y@1U^f?M}8o6M%{UyZo z)0JPo_z7WBdOPDr&dVwSF%7kWrHTR1{0!?%V>Vr(XaNZx>ihv1g->a&*V}$6yt$nl zU3%ns_Gs-9X9g_ZY|1kYt%-L%1pv2hBBNP)rn1SBoUz@bS~y#pMw1u;+2jsx{Y$pz zkObPGSMr-P?|cWOJ@qG^48g2&-&cB8d*ZAaH7-waJxypEycSf&FS(ZLJmt@;dzz=* z{IG0+->)C{HhPR8WqT4no%~(2g0?osHFH-@)s+-p2M+GZngCG0WGA4exr~hn;oe8rlYSsek)TQv$EMi-Nu4HSGs=n!+ zgTq5#w-EUpbS0L{JPwOi9|*Tv`C1GJtvNjPN-|@+wEd;1EC^n(YjY7<-1ZkvSQD)D5Xoi=cc1sTs}am z!Gt}x+aMT7tYK*i`C7by)uH2Kj9{jBOWe6g$ZSrNX;xi6Ng4gu3~D0 z*1&UY5{pezrj@J4cPF>RL=PaB9}d0cX?BvDv3F@C%wqGG?DNyjY%6L`Vx5D}swWOZ z!*E%m3VVysJp$XNsi1KIBV_k(AC#o{X37*mJ+;T4Zx+XjR=w$XNbqxqXI#pI;ul2KcG`MRz0EqEE|Q#}k5|`Zu+(*8hPj%9N;@)cn_0O!l7La3 z`GqIDA6JChxMS7IYOk9;94D%$xhjd62W<3Cqj=Qx#+N4+C5rhTmF(gNQyD-7+h035 zN0~dxQ}xpEyEYlXLZDpv))Sj9h9l@9Q*^4V*O==pYwM%T8EgC6Gy2#izJ4|g2C22; zUkV6R+xUsv3Gj(uJOO=F)>_G@ss8aUTs^%Ghft~qS=fYt=ENu<HT*GEil)63L)BY1BTonYzr9$b`>ZXdW3}kI6||#<)-DJaQx1`oJi1%~;(b#k4%2 z#L_cR5t9|YB3I`mT;QD;VQOaG5}r+c@bu?m)>NO-=j0ZI`dU}mXeW`_iU}nyraOQ#Bn#JJi56MClN==@o#J#vB^Sr4 z@AHBfI_TgFo7cnAZzyt{KztJr%m3c2NR%%=Zb_h!Gj0Dy%z zARG)q4@huLFnO~_=VfJlKue*W?7pq}e*QsKZMfPiMx3h)i6+!({Fm?Bvp@o!-ZQ}s zy%A^@G>d*{}h^)oF-SV(7x1*LL`xA{! zogxMXID3`4O%~)?Tw}WKO*C39UucWQPN4vS=l8rnso}?PT^C5YyM+dcd1GZGE?(&I zgl>}Y9sDUAOpUP0H`wCueJhZx{8BC6V$PppzhF|DgkWV@fb%)C(5{)Wtw zb3st*L-^+Bk!=JO{37#g<#+`%cEylqQe?XZ9nUT|`Bp{#R-QjVCBC}H0IuWTI~mZI z{5CmZWSAM71YZ!4NYj1N2|CoPH;yj-9e+Yz*IwYd~QTkRgW+f)Ok;!xLm5 zD0w>Wd)PgXlvv)1ejQ2>6caN|w)v-!n3k{Fx%73h*#2F- z_^2Bsm4aBftA(+W#Pj##x+nApuH0rJ+|aU!xMt4sc)6B1X8MJ4zDS!F@3*5SiZ*S* z#g%?X!U1=_WMY?rW79@|ajjVSU5Q6A$-ogc*8pt!>H*zINbb9Py4FSm?TLB~jMdM= zcB!na77~{A`+?wYDdJ%t-{;TIcg*g}uV9W}t!xM%7Vo@M_IfZ}bRp@kXX1;(538Jl z@LonbiCTXHWk|As@Uw9i-;hsQj6#q}e_a<}2l^^j@6_kTTapZceiCcyC$_0q>RJx7 z6$kpR%u!BrLfXTqlwAbgq}pB_7ZuO6`IIDjWT5{g_&DSumJLmP6Z>LWX|bp36r6*W@YuH+j*qz!FtdGeJ=0i z%CKE4?P}FyNC2ftQ?qI9Y>J@kozr_-byHQ*L`I7$7B6RP52z>^Er}QPyR)CNx?GRg zS(WG^g=`4x;K4upWJ^|cv=v^&O4*xfOiYb-QBe>NjwU@STc{1AQz8VER-s|c@2ad3 zLit;FZMhFsi~7uPtY7dHU;hR_i6Fe0F)|c$NaW}5F{wj=S(QJxm8j=8y#sar41ahc zm~B$Re2zDaW`8F=4BH@|!If^<^}}@4ZM`qI17$D6<0;r5xJoLLIO_XWsa#LI%YXUJ zSw4FSCE&wKmX^MByWrIG)+8?zv4*=1>9`Wsyro>{6ZEOz?^!F|OCWFAy8sE?rh@wh z**X|+gsr{!+;Y5!0&<9_)Bh67`Z@6e>!+aCUk!p`YBvuci5K8{)XlRe9!yXvQXvw(SL|l( zhchsWrvw#}ro^~h9V~~t?TaJeQF0u+f|6F^;$4>WHq^UCc}8^CeN{?~d~M+NCLUg< z{3>t#4GJq9EjsA3&?vEJ{SD)~>V-x54f|XDTCg6_9neN4nvS-DDLVnqy^BJBTcd<=d?R&(FKf?%ZiSlP{b(G$*OE%bw@%J!G zGF?Q%6EwpEdv*m__zryVdx%25>f`W~!0G$d^7AGGR8s=Ib#!E$9tHPV%%<@Ivi$Rs zqZl?&A8x3`a*Fyl&w1Oa#KWeXs_gMA=3ZneH+N?X)*p}Kxb#9suriX2-&RNlEf|LC z+vQXrE?387>sZHh`YNq5Up{}EmC-GjJv`vc6+oY%|*KZn3+=mvS!+h=* zs%Y*yM|aolFn3a%2z2>5RyG-{yICbv)*261L)2Uv7P8mu+w&jA9DeOl^CtcBU|!MQ z$$pn!^g%8z&44LC4OURlFcI0%thG6&$!M%p%Zr%1iM(Dz^XBQddyM`&!4Cy-$UJ(ww3Bosk6gN- zIN63g4Sg(EAZ%tz7%o}P+?_xji#>Cw!J%Yypx-_351$PoeDEvcl>vG2YJFxADusQY z=n7t;@eUTW8Zb0V?k$}f9iGV&%Z)3PZBa~3Pwmj|(d>qqU{K~`Ktxvwv(w(}<3{+~ z46HQK(}_x*)V@??K>=1OUB$U(eC$?nHG>QO>Z0pt(p*aI$m#oUqYj6SMRA0x%H(@l zF3Yc7mPeV>4F>&@CGF@4(QpIajwX*1RGoI@v+cn%9lPu4!4VM;)A3vRcSetLs4Ah7?J85ZS(wg45Bv`go$LI~w&d90nsT(mIm;3v z8kf8BH9Q~LXC+c;5rlvH{86wzbL7plfqYYJc8N7YOfbd9US@!&^!>wgXwG1ax0zWI zOSAHg+E|SOc4=E54m9aXI=Z8(@ui#P_7W;w*7l>F5+gVf?&~?4_4|nl?gcX=tO>7m zXWN`9E9|rck`h(2`J((oo~6D?VwY){yaO2rc?HN5K#cXseOBKUzKagoqm&|WG5mDl51W`jYF7Tx!GPab!{1rK!wZt-mWW1) zthVe;Sz_df8Ri}@-?q51!zXTUOE8~uZ7LMOWPBNvE%Q*o$4g5H>t7+Q8VG4g!8D+B zeGv09?1%Y%$FylEARZ5P@GGVz<^wV9Jrr;l;D{84wX=etHXMe$!vo@nUqP)x^LJ3I z0fJhLmecQIXA%f%uc3f%av-Xu{xwj3F32FyZmFzx@Sur zFe-H)5ijc1&4cZw-pim}(w+R};c{3aV2tshB$nj}9~0=051wDYl# z*jahL{$RHxmW?Z(3i3?6mszH}LE}^%!2l*(8G%C#qJ*6m#=7W0SSvgWd07Js1&kJCfKITU0m&Bq&$&l&^fn)68adn3X54W>dyAA38uhSyE|f~G zqKNrh*{MN!?BWw?ZS3hUxtdl;72R#zs8?=SecmlVSOb3BaUr|76wz_OuG z+mmaRwYAZ$vxbEo*W}l2_Wf2_GH9*hXBGs$M3B=?iG_jcVFN7O=u$;!$Ju?48sk|8 z>tOCI9Nrnyl8-i(eMYe~?|o-v@@tPs{2v6ox#YZU z7lfQSeZF!kyK+0bZCQ2RC4+ga ztE?qeV!T0&AFnWcwWC)fGoWjzh2jG)NZf;w;1U_;({*j+VtHWq$u@&!;;yFSr|sZ` zGL~5{sN2!kQn}x4tRjj z-zNEAYKZ^9`dI&o*AyO$lKWV^@$evjp{LiA@}iA0l7b~Jm=-@)V^#YP zX!M`DS2U<>l0MVhn@sF3$D9x)EUKAi(RmZMeB9-dcVKno6TMgR%}BIQBSvXkqT}(@ ztUyG~a2?vGE->l0RQA9Tk+2tPd_n^9KKJk0`#)Uxj$Qt}+~BgWD1h?RwY_%;ZbzON zby+rcq+a{(ocx1n-VTX1w9zwaFhaG=dk`IQw1dPOm3<4hc5i~@EKRaX1M#K@Op z5^uzdn*_j$A)7o7EWuo>X=^L6glL(VyW3S{h+JvZeVm)RHr@QFOUW({f zwCY%B59S}t=x!!Dzn{^Qx3Q!5xPfjeY!ItX>LjQt8wq%yc^UUKbB0ejlALCp;}VBF zmg;EjUfU7pkube+X@*nm>a4&BbMYvYZg~WcspNUqte*JwRF~XMT{VZR*^e6VR|7TV zH@IB>dSvZyMcn==*GpVf`BqP#TaYG2Jj$JLSm1eKBClKpd3`>V3+;Ct!t`X1%f3YBdT<{f}4F$dvmKU&pNL($>kou3m}Kw=|k(=sTM4UIWWYsy&zd zg*i&aK(RQi^+%t3CuPE4W6~C4WJ*A2z4L|n)WN)iY z9(&sEFrjnNcacpIy7z){TcpT%XI_+<@)J49aoe_#3uDu-jL56CT-l0Y+k0zsxw3=C zg|aujWH90G{c?h8W;?tSPS zG;dR{{yIy)syQid_Cf2gVOCYJ>D?JL77jFVz-mUTANYun-aqLuqHYvB)~0vJMfBwx z_D&4%1yY>|Na@yy?licjrf}u|jd<)oWp(_uzLc_$VMQSf^G{>#Wa(fQvom&{+Lu9g zY2GGtMGzO!gOvpt_Hq9N9@+SjB*@VRD1xfNPb38d4?j>Qzz5^IZ2BW{%0m7?nIN;O zxgER}_Ju;K>vMBM4&m6d+DefxQ-$7i)~?rmo>i<#@M~Ngo@4cRTheOqT|%f zzr?hb_8KbtA9n!k<#X6tsh=bYs7*u0!GEH0#pf*{NWtbQ;T^s86`AuLv7vL8mKmpL zzCpv%)uz}G*eGXFRQ|8oqjPTFxrEL7Mox?I_nt*DT~%~0&7M&&&DjW2

xWwH)rcG71y#yWC~@tDdwu!wsz+R!K;eU-`0+COQJ zCON%3IJ@x#8rUy-{t+q*@#a^hc~frLy&4f0@xfV+8pruSs;gXY$dN2Mh+7{Y=|qwA z)SiVd_&Nq_Jehq7Zd%6VXfuVEtKvHb?G%TvDY|d?Ti$&-S15{XaDD-Bm6?>+x($mL z!hU?taH8P)#jF+CP-=B}k-_84Gnmw1l4dAPzWjpq2f*PUzorQ2*G^K&9db z!OIA?UxBnTKBwMmIsP>$`==cp6~yL`%OwK6k*R7TeP&1PtJ^xqR;wQ`(7hP(z7-l( z`5Er3TpoCB_p2QZcq&Tp8f&eBjz+x0U3KhlNii48TO4TD!_!5Et|ss3+<(hs#qin% zqumm{+f!DSqenuzV1H}YeyI3_-<|e+k3jwePU&j z5N^ty%cAJyaBsi`!h$(Wc&U8#ZQ9M4ua8BgxosWu^>|b7i`U!4E8IVl`V!&$$)8tK z_eAeF+RTxxYY}edh(GqqG}bO&(T&EXH7-!bVh!fyGpW7EJi!N5bkC4?Crz4~8Z)Tp z4p;Bt#sb#;NmC_N(iTY}Mc*YxaCX!{c`+CTI5M1Rvi_nj{w4)1{zq}~w?gB;+I!G+ z`~l(f`_T-m&r?FSsdSS^=iUnU7WCB6T^K%CUQb7Ykt9+`_k#YGn5&+x=BXh(xqDZF zdTBUlxIr=e!9M>Se~6;R{A$LsSHBHCZT)lYabCVhs{%J13o44p9Iuw}GQ}{Tv^yF^ zM8`)Q3cVkbqt`DyeR6W^6o#f@SuT?IY_5fpHP3Xa9h{~)e<28JhVUM^TO6KGZ*<~9rF*O)G77t?jV>eCk zOd^l$*^5R{kO+h!hoevRU|+9#f!-D!Ohrur_aO?v(?DkP(Smwd8Vab$LXxLls2E9r zQzr|CA;4k4+9$xwRy^=fJv(@)9?WhH&I7YsDZsP-pj7#OOc7w%2UGsGu7k(&!2{su zlK=8ODE4D4YXtKtH>Ny~<7N$&*Y`ra1|8~BuM6hIypTs&XZlNp|3)bOdxhoyYJFMM G`~L?J0LBym literal 0 HcmV?d00001 diff --git a/fmmd_concept/fmmd_hierarchy.dia b/fmmd_concept/fmmd_hierarchy.dia new file mode 100644 index 0000000000000000000000000000000000000000..593d4470bad40af8ebb5ceca65eca16c2efca143 GIT binary patch literal 1607 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 a-{7EUe&w1y-|xAhMpj3wz&H1>U;Yi}7L#HC literal 0 HcmV?d00001