小型CPU m8のUML図から、SFLのスケルトンに変換するXSLTスタイルシートを作成した。
図のUMLを自動変換して得られたSFLコードを↓に示す。
データタイプのbitがちと気持ち悪いのだけれど、それ以外は、まぁまぁ、納得できそうなUIではないかと思う。
もちろん、スケルトンができて終りではなく、これが始まりなので、コアコードをどのように開発するかを検討する必要がある。OMGのMDAのように、基本クラスに演算子を全部定義するようなマネはしたくなく、もう少し賢い方法を模索中。
declare m8 { instrin ack; instrout mr; instrout mw; input datain<8>; output addr<8>; output datao<8>; instr_arg ack ( datain ); } declare alu8 { instrin exe; input op<4>; input inA<8>; input inB<8>; output result<8>; instr_arg exe ( op,inA,inB ); } module m8 { instrin ack; instrout mr; instrout mw; input datain<8>; output addr<8>; output datao<8>; reg_wr acc<8>; alu8 alu; reg_wr pc<8>; instr_arg mr ( addr ); instr_arg mw ( addr,datao ); { /* common operations */ } instruct ack { /* instrin operation */ } } module alu8 { instrin exe; input op<4>; input inA<8>; input inB<8>; output result<8>; { /* common operations */ } instruct exe { /* instrin operation */ } }