多数のオブジェクトで出来ているシステムでは, 完全に独立なオブジェクトは殆んどない. それぞれは他のオブジェクトの状態に, 一つのオブジェクトの状態変数と他のオブジェクトの状態変数を結合する相互作用により, 影響を与える. システムの状態変数を強く結合しているサブシステムにグループ分け出来, サブシステム同士は弱く結合しているように出来れば, システムが別々のオブジェクトで出来ているという観点は非常に有用である.
システムのこの見方は, システムの計算モデルの組織化の強力な枠組となり得る. そういうモデルが基本部品となるためには, システムは実際のオブジェクトをモデル化する計算オブジェクトに分解しなければならない. 各計算オブジェクトは, 実際のオブジェクトの状態を記述する局所状態変数(local
state variables)を持たなければならない. モデル化されているシステム中のオブジェクトの状態は, 時と共に変るので, 対応する計算モデルの状態変数も変らなければならない. システム内の時の流れを計算機の中でも経過時間でモデル化するなら, プログラムが走るにつれて振舞いが変化する計算オブジェクトを構築する方法がなければならない. 特に状態変数を, プログラム言語の通常の記号名でモデル化しようと思えば, 言語は
代入演算子(assignment operator)を用意し, 名前に対応づけられた値が変更出来なければならない.