シングルトン・オブジェクトは、宣言ファイル内で struct として宣言されます。 例:
struct object_0_t {
/* attributes of object_0 */
};
シングルトン・オブジェクトは、実装ファイルでパッケージ・オブジェクトとして、次のようにインスタンス化されます。
struct object_0_t object_0;
シングルトンのインスタンスは 1 つしか存在できないため、その操作に、最初の引数としてのコンテキスト・ポインターは含まれません。 例えば、引数 a1 を伴う操作 op1() を持つシングルトン・オブジェクト A の場合、次の関数プロトタイプが生成されます。
/*## operation op1(int) */
void A_op1(int a1);
同じオブジェクトがもしシングルトンでないとすると、次の関数プロトタイプが生成されます。
/*## operation op1(int) */
void A_op1(struct A_t* const me, int a1);