compile-time execution structure of object-oriented programs with practical ownership domain annotations
Ownership domain annotations express and enforce design intent related to object encapsulation and communication directly in real object-oriented code. First, this work will make the ownership domains type system more expressive. Second, ownership domain annotations enable obtaining, at compile time, the execution structure of an annotated program. The execution structure is sound, hierarchical and scales to large programs. It also conveys more design intent that existing compile-time approaches that do not rely on ownership annotations. Finally, tools will infer these annotations semi-automatically at compile time, once a developer provides the design intent.
execution structure ownership domains dynamic structure ownership types runtime structure