文脈指向言語EventCJを提案する.文脈指向プログラミングは文脈に依存する振舞を部分メソッドで定義し,それらをまとめた層として文脈をモジュール化するプログラミング手法である.文脈の変化は層の活性状態を実行時に変更することで実現する.EventCJはJavaを拡張した文脈指向言語で,層という単位で振舞を文脈ごとにモジュール化する.またEventCJはイベント宣言と活性層の遷移規則を持つ.これらの機構によって,オブジェクトごとの層の活性制御の宣言的な指定と,呼出し文脈を跨った層の活性制御が可能となった.本稿ではEventCJの言語設計を説明し,ContextFJを拡張した計算体系Featherweight EventCJを定義して,EventCJの意味論を与える.またAspectJプログラムへの変換によるコンパイル方法と最適化手法のアイデアを示す.