Abstract (1 page est.)
∙ Basics of the roles types play in acausal modelling. Brief
comments on semantics (?). Mention the work done thus far on
balance checking and semantics for the simply typed system.
Introduction (1-2 pages est.)
∙ (Significant) Elaboration on the abstract. Basic introduction
to modelling, acausality, and model parametrisation.
Types in Acausal Modelling (3-6 pages est.)
∙ Approach of equation-based, acausal systems, such as Modelica,
gPROMS (?), VHDL-AMS (?), based upon DAEs. Examples of Modelica
type system constructs: classes, models, replaceable etc.
Modelica has a less formal specification.
∙ Overview of Functional Hybrid Modelling approach. Reuse by
embedding. Two level approach. Type system should be familiar to
those acquainted with functional programming. Simple reduction
to the λ-calculus, helps when formalising.
Keeping Your Balance (5-10 pages est.)
∙ Notion of recorded balance, and motivations.
∙ Approaches taken by Modelica (locally balance models)
∙ Broman, Nyström, Fritzon.
∙ Nilsson.
∙ Bunus & Fritzon.
∙ Refinement/Dependent types (?)
Balance Refined Types (4-8 pages est.)
∙ Our approach to recorded balance.
∙ Our (first?) attempt at semantics.
∙ Results (properties and expressivity of the type system).
Future Work (2-3 pages est.)
∙ Short term goals. Improvements to, and expansion on the current
type system.
∙ Longer term goals. Formalising a (complete?), and practical type
system for (direct?) application to modern acausal programming
languages. Investigating properties orthogonal to balance checking
- e.g: Dimension types. (Improved?) Semantics for FHM (?).
{-- General Notes --}
How formal/technical should this report be?
∙ Grammars
∙ Typing judgements?
∙ Semantic rules?
∙ In depth discussion of type system related algorithms?
∙ Agda code? Desirable properties specified formally
How long should the report be?
∙ Expect to hit around 20-25 pages of content + cover
page/contents/references.
∙ Should one aim for brevity in favour of technicality?