TOPOS-Ξ を学ぼう!その9「三者多角形的複雑怪奇関係」←嘘です。そんなに難しくないです。
TOPOS-Ξの構造要素(space、shape、mapping)の入れ子関係について、詳しく説明しましょう。
基本的な入れ子構造のルール
実践的な例
space University {
properties {
continuous: Topology<Boolean> = true
dimension: Topology<Number> = 3
}
// space内のspace
space Building {
properties {
floors: Number
}
// spaceの中のshape
shape Floor {
properties {
level: Number
area: Number
}
// shapeの中のshape
shape Room {
properties {
room_number: String
capacity: Number
}
// shapeの中のmapping
mapping configure_room() {
properties {
continuous: Boolean = true
}
path {
setup_furniture ->
verify_capacity ->
check_safety
}
}
}
}
// spaceの中のmapping
mapping maintain() {
path {
inspect_structure ->
perform_repairs ->
verify_condition
}
}
}
// 最上位のmapping
mapping manage_university() {
path {
Building.maintain() ->
verify_operations ->
update_status
}
}
}
重要なポイント
階層的なスコープ
外側の要素は内側の要素にアクセス可能
内側の要素は外側の要素を参照可能
同じレベルの要素間で相互参照可能
名前空間の管理
入れ子構造は名前空間を形成
完全修飾名で要素を参照可能
名前の衝突を防ぐ
継承と参照
入れ子構造は継承関係とは異なる
適切なスコープ内であれば相互参照可能
型システムの一貫性は保持される
制約事項
mappingは最も制限が強い(他の要素を含められない)
shapeはspaceを含められない
spaceは最も柔軟(すべての要素を含められる)
この階層構造により、TOPOS-Ξは論理的で管理しやすいコード構造を実現しています。