ざーっと読んでみました。勘違いもあるかもしれませんが、以下のような感じです。 IMKServer(≒ TSM コンポーネント) が入力セッションを束ねる 各セッションは IMKInputSession(client) と IMKInputController(server) のペア IMKInputSession は TSM ドキュメントを表現している(実装する必要なし) IMKInputController は Input Method を表現している(delegate を実装すべし) IMKCandidates で候補と候補ウィンドウを管理することが可能(アノテーションにも対応) メニューやプリファレンスなどもごく普通に考慮されている かな漢字変換エンジンは独自に用意する必要あり(IMK には含まれない) というわけで、TSM コンポーネント側の実装を簡略化するフレームワークですね。変