読者あとがき¶
大量のページからなる仕様書のほとんどの文章に目を通したものの、内容はほとんど血肉にはなっていない気がしないだろうか。反省と検証を試みよう。
英文和訳メモ¶
今回の更新で DeepL を利用して仕様書を読んだところ、以前のノートにかなりの誤訳があることがわかって肝を冷やした。知の負債を返済する気持ちで修正に一ヶ月を費やし、かろうじて得たコツをここに記す。
個人的に訳すのが厳しい、訳したくない、訳に納得していない英単語集。誤訳や変な解釈がまだまだ残っていそうなので、発覚次第修正する。
単語¶
UML を詳述する既存の日本語文書をなるべく参考にしないでノートをつづったで、定訳がある術語に関しては一般的でない訳を充てている可能性が高い。
abstraction (n.) 「抽象化」
aggregation (n.) 「集約」
accept (v.) 状態機械の場合は「受理する」
action (n.) ある目的を達成するために何かをすること。「行為」「行動」。
ノートを読み返すときに behavior や activity と区別されていればよい。
active (adj.) イキが良いということだろうが、訳しにくい。
activity (n.) 「活動」にしておく。
alias (n.) 「別名」
annotate (v.) 註釈をつける。
architect (n.) 建築の文脈では「監督」の意。そのソフトウェアまたはシステム版だと考えられる。
architecture (n.) これも建築物のではなく、ソフトウェアやシステムの構造の意に解釈したい。
arrowhead (n.) 「鏃」
artifact (n.) 「成果物」なのだが、最終成果物とは限らない。
assert (v.) 「主張する」
association (n.) 「関連」「関連性」。後者を積極的に採用すれば良かったか。
assets (n.) 複数形のときに「有価物」とか「資産」を意味する。
asynchronous (adj.) 「非同期~」
atomic (adj.) 「不可分~」
attribute (n.) 「属性」。辞書によると人や物の固有の部分とみなされる性質や特徴ということだ。
automaton (n.) ここはそのままカタカナで。「状態機械」は state machine に使いたい。原文では複数形の automata で記されていたとしてもここでは「オートマトン」と書くかもしれない。
behave (v.) この動詞が現れるところでは主語が一般的に物であることに注意。
behavior (n.) 「振る舞い」「挙動」「動作」を気まぐれに使い分ける。字数を費やしたくない都合上、「挙動」を多用する。
bahavioral (adj.) ところが形容詞になると「行動的」という訳でないとしっくりこなくなる。
bind (v.) テンプレートの文脈では「束縛する」と訳す。
body (n.) 「本文」「本体」
business (n.) 「業務」
channel (n.) 海域二つをつなぐ長さの水域が原義だが?
class (n.) カタカナで「クラス」。
classifier (n.) DeepL に従い「分類子」を採用することが多かった。
client (n.) この単語は対になる単語によって訳を分けるのがわかりやすい。例えば supplier とともに使われる場合、仕入先に対する「仕入元」を充てる。
collection (n.) 「収集」としてしまったが、開き直って「集団」でも問題ない。
comment (n.) 「註釈」またはカタカナで「コメント」
communication (n.) 「通信」
component (n.) 「部品」
composite (?) 合成関数の合成だが、あえて「複合」とする。
compound (?) こちらは「混合」とする。
concurrent (adj.) 本文中にあるように、必ずしも「同時に起こる」とは限らない。
configuration (n.) 「構成」
conjugate (v.) TODO
context (n.)「文脈」を避けたい場合は「前後」「状況」「背景」「脈絡」など?この単語が和訳にいちばん困った。
contravariant (adj.) 「反変」
coregion (n.) codomain のようなものだろう。だから「余領域」などの訳語になる。
covariant (adj.) 「共変」
default (n.) 当ノートでは「既定」しか採用しない方針。
defer (v.) 「延期する」「保留する」
deliverables (n.) これは artifacts と同義かもしれない。
diagram (n.) 「~図」「図式」
delegation (n.) 「委譲」
denote (v.) indicate と同じ。
deployment (n.) 配備
derive (v.) 「導出する」「派生する」
edge (n.) 「辺」
emergent (adj.) 「不意に起こる」ぐらいの意味のはず。
enclose (v.) 取り囲む。四方を囲む。封鎖する。
end (n.) association end などの end は「端」ということ。単品で出る場合は「端子」などとも訳す。
enter (v.) 入場する。
event (n.) ふつうは「イベント」とする。「事象」も捨てがたかった。
exit (v.) 退場する。
expansion (n.) 「拡大」
expose (v.) 晒すという意味のはずだが、DeepL は「公開する」。
expression (n.) 「式」「数式」
export (v.) カタカナで「エクスポートする」。「輸出する」とは訳さない。
extension (n.) 「拡張」
feature (n.) 「機能」として訳していたが「特徴」のほうが良かった。
flow (n.) 一定方向への移動の意。
framework (n.) 「枠組」
gate (n.) 壁、フェンス、垣根の開口部をふさぐために使用される蝶番のついた障壁。
generalization (n.) 昔読んだ本では「汎化」としてあったと思う。これでもいいし「一般化」でも全然問題ない。
guard (n.) 「防御」にしておくが、しっくりこない。
import (v.) カタカナで「インポート」とする。「輸入する」とは訳さない。
incoming 到着
instance (n.) 「オブジェクト」と訳す。これで通じる。
instantiate (v.) オブジェクト指向プログラミングの言葉で説明するならば、演算子 new などによって、何らかのオブジェクトを新規に生成する行為に相当するはず。
interaction (n.) 「相互作用」
interface (n.) システム、対象、組織などが出会い、相互作用する点。
interleave (v.) 「交互に配置する」で我慢する。
invoke (v.) 「呼び出す」で十分伝わる。
lifeline (n.) 某文書では「生存線」という用語を採用しているようなので拝借する。意訳して「存続期間」を充てても穏当かもしれない。
link (n.) カタカナで「リンク」
literal (adj.) ありのままの。
manifestation
map (v.) 「写す」でないとおかしい。名詞なら「写像」。
match (v.) 「合致する」
metaclass (n.) カタカナで「メタクラス」
metamodel (n.) カタカナで「メタモデル」
method (n.) カタカナで「メソッド」とするが、「方法」とかにしたい。
model (v.) 「形を設計する」と辞書にはある。なので「設計する」とノートには書いた。
module (n.) 着脱可能な自己完結型の単一体ということ。
multicast 一斉送信
multiplicity (n.) 「多重度」。ほんとうの意味は高々可算子の濃度だとは思う。
navigate (v.) 航行・回航する。ひねらない。
node (n.) 「節点」「結節点」。結節しない場合があるので前者を多用する。
occurrence (n.) これは instance の Event 版と言える。「発生」がいいだろう。本文中で次のように定義されている: «An occurrence is something that happens that has some consequence with regard to the system.» (p. 12)
offer (v.) 「供給する」で問題ない。
本文を読み返したら 11.3.3.1 節の第二パラグラフに provides (offers) と書いてあったので、やはり provide と同じように訳すのが良いだろう。ということは、やはり訳しづらい単語であることには変わりないということだが。
operand (n.) 「演算子 (operator) が作用する対象」を意味する英単語だ。しかし、本文を読むと operator が演算子であるように感じられない。意味がやや限定されている。 「演算」よりは「作用」に寄っている感じがするので、 「被演算子」よりは「作用対象」のほうが訳語としてましと思われる。そうすると operatorも「作用素」にしたくなるところだが、少しは検討してから変えるかどうか決める。
operation (n.) 「操作」か「演算」の二択となる。
optional (adj.) 「必要でない」とか「なくてもよい」とか、義務でないという意味合いを表したかった。
orthogonal (adj.) 「直交の」だが、たいていの場合、幾何学的な意味あいでとは限らない。
outgoing 出発
package (n.) カタカナで「パッケージ」
parallel (adj.) 「並列」
parameter (n.) 「引数」
parameterize (v.) 「引数化する」が自然なはずだが、なぜかそうしなかった。
protocol (n.) 通信等の手順。「約束によって成り立っている規則」くらいの意味だろう。辞書には儀礼とか典礼ともあり、むしろここではこれらが相応しい?
partial ordering (n.) 「半順序」とする。集合論の教科書で現れる用語と同じものだろう。
port (n.) TODO
powertype (n.) 「べき乗型」にしておく。組み合わせに関する用語だと思う。
primitive (adj.) 原始的
profile (n.) カタカナで「プロファイル」とするのは良くない。考えたい。
propagate (v.) 「波及する」
property (n.) この仕様書の性格上、「特性」「性質」と訳したい。
protocol (n.) 「規約」と訳しておけば無難だった。
provide (v.) 下記ページ参照。ちなみに今回は「提供する」は採用しない。
qualifier (n.) 「修飾子」
qualify (v.) 「修飾する」
realization (n.) 「実現」「具現」「体現」いろいろある。
reduce (v.) 数学とかプログラミングとかでよくある状況での用法での訳。ここでは「縮約する」と訳しておく。
reentrant (adj.) 「再入可能」という定訳を使う。
region (n.) 「領域」「区域」など。
semantics (n.) 「意味」でだいたい押し通せる。つい最近読み返した『人月の神話』では「語義」も充てていてさすが本職と思った。UML の仕様書としては言葉の意味だけでなく、記号の意味や図式の意味など、より広い使われ方をする。
sequence (n.) 特定の順序で続く、関連する一連の何かの集まり。
signal (n.) 「信号」
signature (n.) 「署名」と訳す。もちろん、関数宣言やテンプレート宣言の文脈における「入力と出力を定義するもの」という意味だ。
slot (n.)
source (n.) 何かの源というのが原義だが、万能な和訳が見当たらない。
specialization (n.) 「特化」「特殊化」とする。
specify (v.) 「指定する」の他に「規定する」もある。両方ある。
stereotype (n.) 「典型」「定型」か。カタカナにしてしまった。
streamlined (adj.) 「合理化した」
streaming (n.) TODO; 安定した連続的な流れを意味する。
subclass (n.) カタカナで「サブクラス」
subexpression (n.) 「部分式」
submachine (n.) 「部分機械」と機械的に訳すことにする。
substate (n.) 「部分状態」
subtype (n.) 「部分型」
successor (n.) 「後者」としておく。ペアノの公理での successor と単語の使われ方が似ているから。
suppress (v.) 「抑える」だと意味が通じない。
symbol (n.) 「記号」
system (n.) カタカナで「システム」
target (n.) 「対象」
template (n.) カタカナで「テンプレート」
tick (n.) 特に時計が発する音。
tool (n.) なぜだか「道具」や「器具」ではしっくりと来ない。
trace (n.) ある文脈で「事跡」を主に採用。特定の章では «sequence of event occurrences» の意。
traverse (v.) いい訳がない。横断の場合も縦断の場合もある。
trigger (n.) 普通はカタカナで「トリガー」とするのが一般的だが、実験的に「引き金」や、踏み込んで「撃鉄」なども採用する。何かの引き金になる、何かのきっかけになる、何かを誘発する、等々。
trigger (v.) 動詞の場合は occur と同義だと思う。「発火させる」もありか?
token (n.) 「トークン」とする。代用硬貨とかではさすがに意味が通らないが、本質的な意味はまさにそれ。単に何らかの印を意味する。
unmarshal (v.) のスペリングに注意。仕様書では最後の l をどんな場合でも重ねるが、辞書によると不定詞では l は一個しかない。
workflow (n.) 「仕事の流れ」としたが、おそらく不適当。
イディオムなど¶
across the edge: 「エッジの端から端まで」の意。「横切る」などではない。
argument: 実引数
component profile: TODO
critical region: 「危急区域」とする。誰もこんな訳語は使っていない。
execution trace: TODO
formal parameter: 仮引数
note symbol: 「付箋記号」あるいは間に合う場合は単に「付箋」。
open end: 違うと思うが「開放端」にしておく。
qualifier value: 何かを限定する値の意だとは思う。C++ だと
const
やvolatile
を qualifier と言うのだが、ここでは忘れてよい。
MultiplicityElement の仕様で lower/upper bound という言葉が出るが、数学(解析学)の意味とは異なるように思われる。むしろ infimum/supremum の意味に近いかもしれない。
PDF 閲覧ツール¶
SumatraPDF を強く推奨する。テキストを選択して DeepL のショートカットキーを押すと、他のツールとは異なり、改行文字に邪魔されない文章に対する翻訳を表示するのがいい。