$B!|$3$N%-%C%H$r;HMQ$9$k$K$O0J2<$N%=%U%H%&%'%"$,I,MW$G$9!#(J
$B!!I,$:!"(J2.0.2-2 $B$N%Q%C%A$rEv$F$?(J Smalltalk/V version 2.0.2 for Macintosh $B$K%$%s%9%H!<%k$7$?!VL@(J (MeiSystem) $B!W$r;HMQ$7$F$/$@$5$$!#(J
$BF0:n4D6-!'!VL@(J(MeiSystem)$B!W(J0.15 on Smalltalk/V 2.0.2 (+ Patch 2.0.2-2) IIci 8MB with VM / $B4A;z(JTalk 7.1 / PPC 8500/120 48MB / $B4A;z(JTalk 7.5.2 $B%+%i!<4D6-(J $B3+H/4D6-!'(JIIci 8MB with VM / $B4A;z(JTalk 7.1 $B3+H/8@8l!'!VL@(J(MeiSystem)$B!W(J0.15 on Smalltalk/V 2.0.2 (+ Patch 2.0.2-2)
$B!!!VL@(J(MeiSystem)$B!W$N(J Smalltalk/V Mac $BHG$O!"(J($B3t(J)SRA$B$N%=%U%H%&%'%"9)3X8&5f=j$K=jB0$9$k@DLZ=_$5$s!"EOn49n9($5$s$K$h$C$F:n@.$5$l$^$7$?!#(J
$B!!(JdagTSO-kit $B$O>e5-(J Smalltalk/V version 2.0.2 for Macintosh (+ Patch 2.0.2-2) $BMQ!VL@(J(MeiSystem)$B!W(J version 0.15 $B$r3HD%$9$k!J$D$b$j$N!K(J for-thrill-seekers-only $B$N%U%j!<%=%U%H%&%'%"!&%i%$%V%i%j$G$9!#%O%s%I%k$NF,#3J8;z$r
$B!!$*$*$h$=!"0J2<$N$h$&$JFbMF$r!V0\?"!W$7$^$7$?!#(J
$B!!>e5-%/%i%9$O$9$Y$F(J
$B!!%a%$%s$N4D6-$O(J IIci 8MB with VM / $B4A;z(JTalk 7.1 $B$G$9$,!"F0:n$OHs>o$K=E$$$G$9!#(J030 $B%^%7%s$NJ}$OJ"$r$/$/$C$F$/$@$5$$!#(J(^^;)$B!!$4$/:G6a(J PPC 8500/120 $B$r
$B!!0\?"$7$?%/%i%972$OH=$kHO0O$GF0$/$h$&$K$7$F$$$^$9$,!"$J$K$;!"(Jsmalltalk $B%o%J%S!<;V4j
$B!!@;E5$N%t%!!<%8%g%s!&%"%C%W$,$$$A$P$sK>$^$7$$$N$G$9$,!"$o$?$7$J$s$>$h$j!"$b$C$HM%=($JJ}$,!V$3$s$J0\?"$N$d$jJ}$G$O%@%a$@!*!W$H3HD%%-%C%H$r:n$C$F$$$?$@$1$?$i$"$j$,$?$$$G$9!#!VL@(J(MeiSystem)$B!W$N(J Smalltalk/V Mac $BHG$,EA@b$K$J$k$N$O:$$j$^$9!#(J
$B!!$3$N%-%C%H$r8x3+$9$kM}M3$O$?$@$R$H$D!V(JMeiV0.15 $B$,Aa$/%t%!!<%8%g%s!&%"%C%W$7$J$$$+$J$!!D!D!W!#(J
$B!|!VL@(J(MeiSystem)$B!W$N(J Smalltalk/V Mac $BHG$O0J2<$+$iF~
$B!{;29M!!!VL@(J(MeiSystem)$B!W$N(J (OW) VW $BHG$O0J2<$+$iF~
$B!|(J $B0\?"$K$"$?$C$F!"CH$+$$Ne$^$7$N$*8@MU$r$$$?$@$$$?!"@DLZ=_$5$s!"EOn49n9($5$s!"LpLnJY$5$s$K?<e2m>O$5$s!"0$ItOB9-$5$s!"CfEhKS7n$5$s$r$O$8$a$H$9$k!"(JFAI$B!V(JLisp/Prolog/Smalltalk$B$J$I$N8@8l$H
methodTemplate "Private" ^'messagePattern "Comment"', ' "', DagMiscellany dateNowString, ' ', DagMiscellany userName, '"', ' | temporaries | statements'
$B!!(Jlauncher $B$G?<$$3,AX$K$"$k%D!<%k$r7+$jJV$7N)$A>e$2$k$N$OLLE]$G$9$,!"%3%s%H%m!<%k!&%-!<$r2!$7$J$,$i(J launcher $B$N9`L\$r%/%j%C%/$9$l$P!"(Jpop-up $B7?$N%a%K%e!<$G$O$J$/(J normal $B7?$N%&%#%s%I%&$r3+$$$F$*$/$3$H$,$G$-$^$9!#(J
$B!!(JGUI Editor $B$O!"3F $B!!ItIJ$N0LCV$dBg$-$5$@$1$G$J$/!"(Jplug-in $B$N$7$+$?$b@_Dj$7$^$9$+$i!"@h$K%b%G%k$r40@.$5$;$F$+$i(J GUI Editor $B$rMxMQ$9$k$[$&$,:n6H$,$&$^$/$$$-$^$9!#BP>]$N%b%G%k$rA*Br$9$k$K$O!"2+?'%\%?%s%a%K%e!<$N(J(goodies $B$N$J$+$N(J)select model class $B$rA*$s$G$/$@$5$$!#3FItIJ$N(J plug-in $B$N$7$+$?$O!"(Jedit$B$G;XDj$G$-$^$9!#(J $B!!%a%K%e!<$NCf$N(J scaled size/fixed size $B$O!"A*Br$5$l$F$$$kItIJ$,!"(Jwindow $B$NBg$-$5$NJQ2=$K=>$C$F<+J,$NBg$-$5$rJQ2=$5$;$k$+H]$+$r;XDj$7$^$9!#(J $B!!(JGUI Editor $B$NMxMQK!$rNc<($9$k$b$N$H$7$F!"(JDagGuiExample $B$,$"$j$^$9!#(J
DagGuiExample edit
$B$rI>2A$9$k$H!"(JBossFiles $B%U%)%k%@Fb$KJ,N`$5$l$?%$%a!<%8%U%!%$%k72$rI=<($9$k4JC1$J%D!<%k(J($B%b%G%k$,(J a DagGuiExample)$B$N%f!<%6!<%$%s%?%U%'!<%9$r9=C[$7$?2hLL$,N)$A>e$,$k$O$:$G$9!#$3$3$G!"2+%\%?%s%a%K%e!<$N(J experiment $B$rA*$V$H
$B!!0J2<$K!"ItIJ$H MeiShowView $B$O2+%\%?%s%a%K%e!<$rHw$($F$$$^$9$,!"(JMeiDisplayView $B$K$O$"$j$^$;$s!#(J $B!|!!(JDagGuiExample $B$r(J experiment $B$7$FF0$/%D!<%k$O!"(JObjectFiler $B7A<0$N%P%$%J%j!&%U%!%$%k$N$[$+!"(JPICT $B$N%U%!%$%k$bFI$_=q$-$G$-$^$9!#(J
$B!!ItIJ$K$O#2DL$j$N8+$;J}$,$"$j$^$9!#JR0lJ}$OF0:n$,$d$d7Z$$$,
$BItIJ(J $B%/%i%9(J selection list view
single MeiListView multi MeiList2View
text view MeiTextView label view MeiDisplayView button view DagButtonView switch view DagSwitchView display view
no scroll MeiDisplayView scroll MeiScrollDisplayView
show view
no scroll MeiShowView scroll MeiScrollShowView
gauge view
bar DagGaugeView oval DagOvalGaugeView
circle DagCircleGaugeView
color DagColorGaugeView
mask DagMaskGaugeView
$B!!3F%/%i%9$KBP$7$F(J Hierachical Factor, Reference Factor, PolymorphicFactor$B$H$$$&(J metrics $B$r7W;;$7!"%/%i%972$N(J HF,RF,PF $B$NAH$,C10LN)J}BN>e$G$I$N$h$&$JJ,I[$r$J$7$F$$$k$N$+$rD4$Y$k%D!<%k$,$"$j$^$9!#(J
$B%/%i%9(J A $B$N%9!<%Q!<%/%i%9?t(J HF(A) = ------------------------------------------------------------- $B%/%i%9(J A $B$N%9!<%Q!<%/%i%9?t(J + 1 + $B%/%i%9(J A $B$N%5%V%/%i%9?t(J $B%/%i%9F1;N$N;2>H4X78$rH>=g=x$H$7$F(J $B%H%]%m%8%+%k%=!<%H$7$?$H$-$N%/%i%9(J A $B$N=g0L(J RF(A) = ------------------------------------------------------------- $B%7%9%F%`Fb$NA4%/%i%9?t(J $B%/%i%9(J A $B$KDj5A$5$l$F$$$k%a%=%C%I$N$&$A!"(J $BF1L>$N%a%=%C%I$,B>$N%/%i%9$K$bB8:_$9$k$b$N$N?t(J PF(A) = ------------------------------------------------------------- $B%/%i%9(J A $B$KDj5A$5$l$F$$$k%a%=%C%I?t(J
HF $B$O!"6qBNE*$J%/%i%9$+Cj>]E*$J%/%i%9$+$r$"$i$o$7$^$9!#(JRF $B$O!"B?$/$NItIJ$r;2>H$7$F$$$k$+!"$=$l$H$bItIJ$H$7$F;2>H$5$l$F$$$k$[$&$J$N$+(J($BItIJ$O(J0 $B$K6a$/!"J#;($KItIJ$rAH$_9g$o$;$?$b$N$O(J 1 $B$K6a$$(J)$B$r$"$i$o$7$^$9!#(JPF $B$O!"$=$N%/%i%9$N%a%=%C%IL>$,$I$N$/$i$$IaJWE*$J$b$N$J$N$+$r$"$i$o$7$^$9!#$3$N(J metrics $B$K$D$$$F>\$7$$$3$H$O!";29MJ88%(J [OOAD][Ikada][Rafts] $B$b;2>H$7$F2<$5$$!#$3$l$i$NK\$K$O!"%i%$%V%i%j$H$7$FMQ$$$i$l$k%/%i%9$O(J RF-PF$BJ?LL$N86E@6a$/$K0LCV$7!"%"%W%j%1!<%7%g%s$h$j$N%/%i%9$O(J (1@1) $B6a$/$K0LCV$9$k$3$H$,=R$Y$i$l$F$$$^$9!#(J
$B!!(JDagMetricsModel new edit
$B$H$9$k$H$3$N%D!<%k$,N)$A>e$,$j$^$9!#:8B&$K$O!"N)J}BN$+!"$=$NFCDj$NB&LL$+$i$ND/$a$,I=<($5$l$F$$$^$9!#$I$NB&LL$+$i8+$k$+$O2+%\%?%s%a%K%e!<$GJQ99$9$k$3$H$,$G$-$^$9!#$I$l$+E@$rA*$V$H$=$3$N(J HF,RF,PF $B$,1&>e$KI=<($5$l!"BP1~$9$k%/%i%9$,1&B&$N%j%9%H$K8=$l$^$9!#J#?t$N%/%i%9$,F1$8(J factor $B$r;}$C$?7k2L!"0l$D$NE@$GI=8=$5$l$F$$$k$3$H$b$"$j$^$9!#E@$G$O$J$/!"E,Ev$JHO0O$rA*Br$9$k$3$H$b$G$-$^$9!#%j%9%H$NCf$G2+%\%?%s%a%K%e!<$+$i(J factors $B$rA*$V$3$H$G!"FCDj$N%/%i%9$N#3$D$N(J metrics $B$r(J transcript $B$KI=<($9$k$3$H$,$G$-$^$9!#(J
[OOAD] $B@DLZ=_(J;$B!V%*%V%8%'%/%H;X8~%7%9%F%`J,@O@_7WF~Lg!W(J; $B%=%U%H!&%j%5!<%A!&%;%s%?!<(J;ISBN4-915778-19-3; [Ikada] $B@DLZ=_(J;$B!V%=%U%H%&%'%"5;=Q$B!|DI2C(J
$B!!7W;;$K$OG|Bg$J;~4V$,$+$+$j$^$9!#Cm0U$7$F$/$@$5$$!#(J
$B!!%/%i%90LCV$r<($9%]%$%s%H$O!"?'J,$1$7$F$_$^$7$?!#(J
Mei*** -> red Dag*** -> darkGreen Mac*** -> olive ****** -> black $B!!(JLauncher $B$N(J sample tools $B$+$i5/F0$9$k$H!";XDj$7$?%/%i%972$N$_$N(J Metrics $B$rI=<($5$;$k$3$H$,$G$-$^$9!#(J
$B!!(JHF,RF,PF $B0J30$K!"(JIM,CM,IV $B$rI=<($9$k%D!<%k$,$"$j$^$9!#$3$l$O!"3F%/%i%9$N%/%i%9!&%a%=%C%I?t!"%$%s%9%?%s%9!&%a%=%C%I?t!"%$%s%9%?%s%9?t$rI>2A$7$^$9!#(J
$B%/%i%9$4$H$N%I%-%e%a%s%H(J
$B!!(JMeiDocs $B%U%)%k%@$N%I%-%e%a%s%H$O(J MeiClassList $B%V%i%&%6$+$i5/F0$G$-$k(J document $B%a%K%e!<$G;2>H$G$-$^$9!#(J
$B!!(JDagDocumentFiles $B%U%)%k%@$K$O!"K\Mh$O%/%i%9$4$H$K%I%-%e%a%s%H$,<}$a$i$l$k$O$:$J$N$G$9$,!">l9g$K$h$C$F$O$3$3$O$[$H$s$ICf?H$,6u$N>uBV$+$b$7$l$^$;$s!#9,1?$K$b$3$3$K%I%-%e%a%s%H$,$"$C$?>l9g!"(JDagClassList $B%V%i%&%6$+$i5/F0$G$-$k(J document $B%a%K%e!<$G;2>H$G$-$^$9!#(J
Interface and Circuit
$B!!(JDagCV* $B$G;O$^$k%/%i%972$O!"(Jnifterserve $B$N(J AI $B%U%)!<%i%`$N%i%$%V%i%j$KEPO?$5$l$F$$$k!"(JSmalltalk-80 Release 4 $B$N$?$a$N%=!<%9$r(J Mei 0.15 $BMQ$K0\$7$?$b$N$G$9!#(J
FAI LIB02 $B%G!<%?L>!'(JInterface.st for ST80 R4 $B!'(JCircuit.st for ST80 R4$B!!K\2H(J ¢Smalltalk-80 Release 4£ $B$N%W%m%0%i%`$G$9!#(J
$B!!$3$N%W%m%0%i%`$O!X(JDan Benson$B!Y;a$K$h$k$b$N$G$9!#%7%9%F%`%H%i%s%9%/%j%W%HEy$G(J¢File In£$B$9$k;v$G%7%9%F%`$K%$%s%W%j%a%s%H$5$l$^$9!#(J
$B!!(J¢INTERFAC.ST£ $B$O(JMVC$B$N%/%i%9$H$7$F(J
$B$G=PMh$F$$$^$9!#(J
- #Circuit Interface
- #CircuitModel
- #ElementModel
- #IconView
- #IconViewController
- #OscilloscopeView
- #OscilloscopeViewController
$B!!(J¢CIRCUIT.ST£ $B$O%/%i%9$H$7$F(J
$B$G=PMh$F$$$^$9!#(J
- #Capacitor
- #Circuit
- #CircuitElement
- #CurrentSource
- #Element
- #Inductor
- #ParallelCircuit
- #Phasor
- #SeriesCircuit
- #Source
- #VoltageSource
$B!!(J¢CIRCUIT.ST£ $B$H(J ¢INTERFACE.ST£ $B$r;H$&$3$H$G(J ¢ParallelCircuit Browser£ $B!"(J ¢SeriesCircuit Browser£ $B$N2sO)?^$H$=$l$>$l$NGH7A$r%b%K%?!<=PMh$k$h$&$K$J$C$F$$$^$9!#GH7A$r%b%K%?!<$9$k%*%7%m%9%3!<%W$O%+%i!
$B!!(JLauncher $B$N(J sample tools $B$+$i(J circuit $B%D!<%k$r5/F0$9$k$+!"2<5-$rI>2A$7$F
DagCVSeriesCircuit exampleBrowseRLC ($BD>Ns2sO)(J) DagCVParallelCircuit exampleBrowseRLC ($BJBNs2sO)(J)SourceCodeSaver
$B!!$b$H$b$H(J Mei 0.15 $B$O%=!<%9%3!<%IB`Hr%D!<%k$r;}$C$F$$$^$9!#(JLauncher $B$N%P%C%/!&%"%C%W!&%D!<%k$,$=$l$G$9!#$3$l$H@DLZ$5$s$N!X(JVisualWorks Release 2.0$BMQ$N%=!<%9%3!<%IB`Hr$N%0%C%G%#!<%:!Y$r;29M$K$R$M$/$j=P$7$F$_$?$N$,!"$3$N%D!<%k$G$9!#(JLauncher $B$K$O!"(JSourceCodeSaver $B$H(J SourceCodeChecker $B$,$"$j$^$9!#8e
- $BCm0U!'(J
$BB`Hr$9$k%G%#%l%/%H%j$K%U%!%$%k$,$9$G$KB8:_$9$k$H$-$OA]=|$7$^$9!#(J
- $B35MW!'(J
$B$?$/$5$s$N%/%i%972$r:n@.$9$k$H!$$=$N%/%i%972$N%=!<%9%3!<%I$NB`Hr$J$I$,Lq2p$JLdBj$K$J$C$F$-$^$9!#$^$?!$$=$&$7$FB`Hr$5$l$?%/%i%972$N%=!<%9%3!<%I$r!$$I$s$J=gHV$GFI$_9~$`$+$bLq2p$JLdBj$G$9!#$=$l$+$i!$%U%!%$%kL>$N@)8B(J($BL>$,(J8$BJ8;z$G!$3HD%;R$,(J3$BJ8;z(J)$B$J$I$G!$%/%i%9L>$,$=$N$^$^%U%!%$%kL>$H$7$F;HMQ$G$-$J$$>l9g$,$"$j$^$9!#$3$N%=!<%9%3!<%IB`Hr$N%0%C%G%#!<%:$O!$$3$l$i$NLq2p$JLdBj$r4JC1$JJ}K!$G2r7h$7$^$9!#(J
- $B;H$$J}!'(J
DagSourceCodeSaver $B$H$$$&%/%i%9$N%$%s%9%?%s%9$O!$B`Hr$7$J$1$l$P$J$i$J$$%/%i%972$r!$%o%$%k%I!&%+!<%I$H$_$J$7$?%U%#%k%?$rDL$7$F7hDj$7$^$9!#$3$N%$%s%9%?%s%9$K8~$+$C$F(Jsave$B$N%a%C%;!<%8$rH/?.$9$l$P!$%/%i%972$N%=!<%9%3!<%I$,$b$l$J$/B`Hr$5$l!$%$%s%9%H!<%k$9$k:]$NFI$_9~$_=gHV$r7hDj$7$?%U%!%$%k%$%s$N$?$a$N%+%?%m%0%U%!%$%k$r<+F0@8@.$7$^$9!#$?$H$($P!$
| aSourceCodeSaver | aSourceCodeSaver := SourceCodeSaver name: 'Name001' categories: #('Tools*' 'System*') filter: 'DagSourceCodeSaver'. aSourceCodeSaver save.$B$^$?$O(J| aSourceCodeSaver | aSourceCodeSaver := SourceCodeSaver name: 'Name001' filter: 'DagSourceCodeSaver'. aSourceCodeSaver save.$B!V(JTools*$B!W$d!V(JSystem*$B!W$N%Q%?!<%s$K%^%C%A$9$k%+%F%4%j$N%/%i%972$r;XDj$7$F$$$^$9$,!"(JSmalltalk/V $B$G$OL5;k$5$l$^$9!#$3$l$i$N%/%i%972$O0l$D0l$D%U%#%k%?$K;XDj$5$l$?%o%$%k%I%+!<%I$K$h$C$FA*JL$5$l$^$9!#$3$NNcBj$G$O!$(JDagSourceCodeSaver$B$H$$$&$?$@0l$D$N%/%i%9$@$1$,A*JL$5$l$k$3$H$K$J$k$G$7$g$&!#%U%#%k%?$K(J 'Mei*' $B$H$$$&J8;zNs$rM?$($l$P!"L>>N$,(J 'Mei' $B$G;O$^$k$9$Y$F$N%/%i%9$,A*JL$5$l$^$9!#(J
$B%o%$%k%I%+!<%I$O!"(J'*?[-]' $B$,M-8z$G$9!#$J$*!"BgJ8;z>.J8;z$O6hJL$5$l$^$9!#(J
$B$=$N8e!$(JDagSourceCodeSaver$B$N%$%s%9%?%s%9$O!$(Jsave$B$N%a%C%;!<%8$r
Name001: Src00000.stv Src00001.st * * *$B:G=i$N!V(JSrc00000.stv$B!W$O%U%!%$%k%$%s$N$?$a$N%+%?%m%0%U%!%$%k$G$"$j!$FsHVL\$N!V(JSrc00001.st$B!W$O(JDagSourceCodeSaver$B$N%=!<%9%U%!%$%k$G$9!#%/%i%9$,J#?t8D$"$l$P!$!V(JSrc?????.st$B!W$,=gHV$K%+%&%s%H%"%C%W$7$F$$$-$^$9!#$I$N%/%i%9$,!$$I$N!V(JSrcXXXXX.st$B!W$KB`Hr$5$l$F$$$k$+$O!$@hF,$N!V(JSrc00000.stv$B!W$NCf$r8+$l$P!$J,$+$k$h$&$K$J$C$F$$$^$9!#(J
$B$^$?!$@hF,$N!V(JSrc00000.stv$B!W$O%U%!%$%k%$%s$N$?$a$N%+%?%m%0%U%!%$%k$G$9$+$i!$$3$N%U%!%$%k$@$1$r%U%!%$%k%j%9%H$J$I$+$iFI$_9~$a$P(J(fileIn$B$9$l$P(J)$B!$;D$j$N!V(JSrc?????.st$B!W$H$$$&%/%i%972$NB`Hr%=!<%9%U%!%$%k$O$9$Y$F%U%!%$%k%$%s$5$l$^$9!#%U%!%$%k%$%s$5$l$k=gHV$O%9!<%Q%/%i%9%*!<%@!<$G$9!#(J
Launcher $B$K(J SourceCodeSaver $B%D!<%k$,F~$C$F$^$9!#$3$3$+$i;H$&$N$,4JJX$+$H;W$$$^$9!#(J
Benchmark
$B!!(JBruce Samuelson $B;a:n@.$N(J Benchmark $B%=!<%9(J (STonesV.st) $B$r!"(Jftp $BEy$GF~
/ $B!!%*%j%8%J%k$O(J 486/33 Windows 3.1 machine running ParcPlace VisualWorks 1.0 $B$,4p=`$K$J$C$F$^$9$,!"$3$l$r(J PowerMac 8100/80 running Digitalk Smalltalk/V 2.0.2 for Macintosh $B$G
/$J$/$J$k$h$&$K$7$F$_$^$7$?!#(J $B!!(JDagSlopstoneBenchmark new runBenchmark $B!!(JDagSmopstoneBenchmark new runBenchmark$B!!$rI>2A$9$k$3$H$K$h$C$F%Y%s%A%^!<%/!&%W%m%0%i%`$,Av$j$^$9!#(JSlopstone: Smalltalk Low level OPeration Stones
Smopstone: Smalltalk Medium level OPeration StonesHistogram
$B@DLZ$5$s$N!X(JVisualWorks Release 2.0$BMQ$N%R%9%H%0%i%`$N%0%C%G%#!<%:!Y$N(J STV $B0\?"HG(J
- $B35MW!'(J
$BI8K\(J($B?tCM$N=8$^$j(J)$B$rF~NO$7$F!"EY?t$r7W;;$7!"J?6Q$dI8=`JP:9$r5a$a$F!"K@%0%i%U2=$7$^$9!#(J
- $B;H$$J}!'(J
$BI8K\$,(JX1$B$+$i(JXn$B$@$H$9$k$H!"(J
| aModel | aModel := HistogramModel new. aModel add: X1. : : aModel add: Xn. HistogramView openOn: aModel$B>e5-$N%a%C%;!<%8<0$r
Xi$B$,(JYi$B8D$"$k$3$H$,!"$"$i$+$8$aJ,$+$C$F$$$k>l9g$K$O!"
| aModel | aModel := HistogramModel new. aModel add: X1 ~> Y1. : : aModel add: Xn ~> Yn. HistogramView openOn: aModel$B$7$?$,$C$F!"(JXi$B$rC1FH$G(Jadd$B$9$k>l9g$K$O!"(J(Xi ~> 1)$B$H$_$J$5$l$k$o$1$G$9!#(J
$B$^$?!"F~NO$r%U%!%$%k$+$i9T$J$&$3$H$,$G$-$^$9!#(J'HistogramData'$B$H$$$&L>$N%U%!%$%k$NCf$,
X1 : : Xn$B0lHVL\$HF1$87A<0$K$J$j$^$9$7!"FsHVL\$N7A<0$K$7$?$1$l$P!"$=$NCf$O!"(J
X1 Y1 : : Xn Yn$B$H$J$j!"(JXi$B$H(JYi$B$N4V$r%?%V$^$?$O%9%Z!<%9$G6h@Z$C$F2<$5$$!#$3$N$h$&$J%U%!%$%k$rF~NO$9$k$K$O!"
| aStream aModel | aStream := (File pathNameReadOnly: file pathName). [CursorManager read showWhile: [aModel := DagHistogramModel readFrom: aStream]] ensure: [aStream close]. DagHistogramView openOn: aModel.$B%G%U%)%k%H$N%i%s%/?t(J($B6h4V?t(J)$B$O(J10$B$G$9!#JL$N?t$KJQ$($?$$>l9g$K$O!"(JHistogramView$B$K(JopenOn:$B$N%a%C%;!<%8$rAw?.$9$kA0$K!"%b%G%k$K(Jrank:$B$N%a%C%;!<%8$rAw$l$P$h$$$H;W$$$^$9!#(J
$B$5$i$K!"3+$$$?%&%#%s%I%&$N2+%\%?%s%a%K%e!<$G%$%s%9%Z%/%?$r3+$/$3$H$,$G$-$^$9$N$G!"$=$N3+$$$?%$%s%9%Z%/%?$N1&B&$N%5%V%&%#%s%I%&$NCf$G!"(Jself add: Xi$B$d(Jself add: Xi ~> Yi$B!"$=$7$F!"(Jself remove: Xi$B$d(Jself remove: Xi ~> Yi$B$r
- $B%P%0!'(J
$B%*%j%8%J%k$G$O2D;k@-$N$?$a(J X $B<4$NJ8;z$r2sE>$5$;$F$$$k$h$&$G$9$,!"$3$A$i$G$O8=:_$N$H$3$m!"$G$-$^$;$s!#(J
$B%H%i%s%9%/%j%W%H$NB`Hr(J
$B%H%i%s%9%/%j%W%H$NFbMF$r%U%!%$%k$X=q$-=P$7$F%/%j%"$9$k$H$$$&%0%C%G%#!<%:$G$9!#@DLZ$5$s$N!X%H%i%s%9%/%j%W%H$K=q$-=P$5$l$k$b$N$rF1;~$K%U%!%$%k$X$b=q$-=P$9$H$$$&%0%C%G%#!<%:!Y$r;29M$K$7$^$7$?!#(J
- $B35MW!'(J
Smalltalk/V for Macintosh $B$N%H%i%s%9%/%j%W%H$O!"(JTextEdit $B$N>e$K:\$C$+$C$F$$$k$N$G!"(J32KB $B$N@)8B$r$b$m$K
$B%W%m%0%i%`$N%H%l!<%9>pJs$J$I$r%H%i%s%9%/%j%W%H$X=PNO$7$F$$$k%W%m%0%i%^$K$H$C$F!"$3$N%H%i%s%9%/%j%W%H$N@)8B$O$-$S$7$$>l9g$,>/$J$/$"$j$^$;$s!#%W%m%0%i%`$N
pJs$r%A%'%C%/$7$?$$$N$K!"%H%i%s%9%/%j%W%H$N@)8B$r7Z$/1[$($F$7$^$$!"$;$C$+$/$N%(%i!<>pJs$,8+$l$J$$>l9g$,$"$j$^$9!#$?$$$F$$!"%U%!%$%k%$%s$rCf;_$7$F%H%i%s%9%/%j%W%H$r%/%j%"$7!":FEY%U%!%$%k%$%s$H$$$&>p$1$J$$;E57$HAj@.$j$^$9!#(J $B$=$3$GEP>l$9$k$N$,!"%H%i%s%9%/%j%W%H$NFbMF$r%U%!%$%k$X=q$-=P$7$F%/%j%"$9$k$H$$$&%0%C%G%#!<%:$G$9!#$3$N%0%C%G%#!<%:$K$h$j!"%H%i%s%9%/%j%W%H$N@)8B$O;ve$J$/$J$j$^$9!#$?$H$(%H%i%s%9%/%j%W%H$N@)8B$r1[$($F$b!"%U%!%$%k$NCf$K=PNOFbMF$,$b$l$J$/J]B8$5$l$F$$$k$+$i$G$9!#(J
$B%*%j%8%J%k$N%3!<%I$O!"!V%H%i%s%9%/%j%W%H$K=q$-=P$5$l$k$b$N$rF1;~$K%U%!%$%k$X$b=q$-=P$9!W$H$$$&7A<0$K$J$C$F$$$^$9!#%H%i%s%9%/%j%W%H$X=q$-=P$9$N$HF1;~$K%U%!%$%k$X$bEG$/$H$$$&7A$@$H!"(JSmalltalk/V $B$G$O%H%i%s%9%/%j%W%H$NF0$-$,$.$/$7$c$/$7$F$7$^$&$N$G!"@)8B$@$1$r%A%'%C%/$9$k$h$&$K$7$^$7$?!#(J
- $B;H$$J}!'(J
$B$$$D$b;H$&$h$&$K%H%i%s%9%/%j%W%H$r;H$C$F2<$5$$!#%H%i%s%9%/%j%W%H$N@)8B$K0z$C$+$+$C$?;~E@!"$^$?$O!"L@<(E*$K(J clear $B%a%C%;!<%8$rAw$C$?;~E@$G!"<+F0E*$K%H%i%s%9%/%j%W%H$X$N=PNOFbMF$O%U%!%$%k$KJ]B8$5$l!"%H%i%s%9%/%j%W%H$O%/%j%"$5$l$^$9!#J]B8$5$l$k%U%!%$%kL>$O!V(JTsYYMMDD.log$B!W$H$$$&7A<0$r$7$F$$$^$9!#(JYYMMDD$B$OG/7nF|$rI=$7$^$9!#F10lF|$K:FEY$"$U$l$?>l9g$O%"%Z%s%I$5$l$^$9!#$3$N>l9g$O(J 32KB $B0J>e$N%U%!%$%k$K$J$k$N$G!"DL>o$N
e$N%5%$%:$N%F%-%9%H!&%U%!%$%k$r$$$/$D$+$N%&%#%s%I%&$KJ,3d$7$FI=<($9$k%D!<%k$,EPO?$5$l$F$$$^$9!#(J TextPane methods $B$N(J textNotTooLong: $B$H$$$&%a%C%;!<%8$K
o$N%F%-%9%H!&%&%#%s%I%&$G$OF0$-$OJQ99$5$l$^$;$s!#(J My libraries
$B!!(JDagMy* $B$H$$$&%/%i%972$O!";29MJ88%(J [Exemplify] $B$K:\$C$?%3!<%I$r0\$7$?$b$N$G$9!#8=:_$G$O(J Collection $B%/%i%972$r
$NItJ,$H$O!"$*8_$$$KA4$/FHN)$7$F$$$^$9!#(J yellowButtonView
$B!!0lIt$N%&%#%s%I%&$G!">eC<$K9u$C$]$$%P!<$NMM$J$b$N$,IU$$$F$/$k$b$N$,$"$j$^$9!#$3$l$,$"$k$H$-!"9u$C$]$$%P!<$NMM$J$b$N$ND>2<$N%S%e!<$,2+%\%?%s!&%a%K%e!<$r;}$C$F$*$l$P!"$3$N9u$C$]$$%P!<$NMM$J$b$N$r%W%l%9$9$k$@$1$G!"D>2<$N%S%e!<$,;}$D2+%\%?%s!&%a%K%e!<$r8F$S$^$9!#$3$N$?$aJR
$B%/%i%9$N%D%j!
CIS $B$K$O(J printHierarchyString $B$H$$$&!";XDj$5$l$?%/%i%90J2<$N7OE}
$B$=$&$$$($P!"@N$N(J FMR $B$N(J DOS $B$K$O!"$3$l$K$h$/;w$?(J TREE $B$H$$$&%D!<%k$,$"$C$?$h$&$J5-21$,$"$j$^$9!#(J
***(Class) printHierarchyString$B$^$?$O(J***(Class) printTree$B$GI=<($G$-$^$9!#(JLauncher $B$N(J system tools $B$K$bF~$C$F$$$^$9!#$3$A$i$G$O%o%$%k%I!&%+!<%I$,;H$($^$9!#$3$A$i$G$O!";XDj$5$l$?%/%i%972$N$&$A!"?F$,0[$J$k$b$N$N$_I=<($5$l$^$9!#%@%$%"%m%0$G(J "*Gauge*" $B$H;XDj$7$F$_$F$/$@$5$$!#(J
MeiTextModel printTree $B$N7k2L$O!D!D(JMeiTextModel {text, item} + DagTextModel +-+ DagActionTextModel {for, method} +-+ DagHyperTextModel {dictionary, keyword} +-+ DagText2Model {text1, text2} +-+ DagTextModel2Browse$B$3$s$J46$8$GI=<($5$l$^$9!#$3$N$H$-!"%/%i%9L>$r%;%l%/%H$7$F!"2+%\%?%s!&%a%K%e!<$+$i(J "browse it" $B$rA*Br$9$l$P!"%V%i%&%6$r3+$/$3$H$,$G$-$^$9!#(J
Classes or Instances
$B!!(Jlauncher $B$K$"$k(J "Classes or Instances" $B$O2?$r$9$k$+$H$$$&$H!";XDj$5$l$?%/%i%972!J%o%$%k%I!&%+!<%I2D!K$N!"(J 1. $B%/%i%9<+BN$r:o=|$9$k(J 2. $B%$%s%9%?%s%9$r:o=|$9$k(J $B$H$$$&F/$-$r$7$^$9!#;XDj$5$l$?%/%i%972$K7Q>54X78$,$"$k$H$-$O!";R$NJ}$+$i:nMQ$7$^$9!#(J
Enhancements
$B!!%*%j%8%J%k$N%7%9%F%`%/%i%9$N%a%=%C%I$rJQ99$9$k$H!"(JSmalltalk/V $B$d!VL@!W$,%P!<%8%g%s%"%C%W$7$?;~$KLdBj$,5/$-$k2DG=@-$,$"$j$^$9!#L@$O!"%7%9%F%`%/%i%9$NJQ99$d%a%=%C%I$NDI2C$O$J$k$Y$/JQ99$7$J$$J}?K$G9=C[$5$l$F$$$^$9$,!"$o$?$7$N3HD%!J8mMQ!KItJ,$K$D$$$F$O!"G=NO$H$$$&LdBj$b$"$j!"JQ99$;$6$k$rF@$J$+$C$?ItJ,$b$"$j$^$9!#3Z$7$_$J$,$iJQ99$r2C$($?$3$H$OH]Dj$7$^$;$s!#(Jf(^^;)
$B!!J]
Additional methods
$B!!(JSmalltalk/V $B%*%j%8%J%k$N%/%i%9$N%a%=%C%I!"$*$h$S!VL@!W$N%*%j%8%J%k$N%/%i%9$K!"$$$/$D$+DI2C$7$?%a%=%C%I$,$"$j$^$9!#$3$l$O(J Launcher $B$N(J Additions $B%D!<%k$G0lMw$G$-$^$9!#(JEnhancements $B%D!<%k$O!"!VJQ99!W$r2C$($?%a%=%C%I$r4IM}$7$^$9$,!"$3$A$i$O!VDI2C!W$7$?%a%=%C%I$N0lMw$rF@$k$@$1$G$9!#(J
browser
$B!!L@$*$h$S(J Smalltalk/V $B$N%V%i%&%6$G$O!"(JSmalltalk/V $B%*%j%8%J%k$N%/%i%9!"5Z$S!"L@$N%/%i%9$NJQ99$O5q@d$9$k$h$&$K$G$-$F$$$^$9!#JQ99$r5v$9$K$O!"(JLauncher -> System tools -> System Meddler $B%D!<%k$G!"%9%F%$%?%9$rJQ99$7$F$/$@$5$$!#>e5-$N%/%i%9$N%a%=%C%I$r$$$8$k>l9g$K$O!"(JEnhancement $B%D!<%k$rMxMQ$7$FJQ99$rDI@W$G$-$k$h$&$K$9$k$3$H$r$*4+$a$7$^$9!#(J