Publications

Publications / Conference

Analysis-based arguments for abstract data type calculus

Rouson, Damian R.

Increasing demands on the complexity of scientific models coupled with increasing demands for their scalability are placing programming models on equal footing with the numerical methods they implement in terms of significance. A recurring theme across several major scientific software development projects involves defining abstract data types (ADTs) that closely mimic mathematical abstractions such as scalar, vector, and tensor fields. In languages that support user-defined operators and/or overloading of intrinsic operators, coupling ADTs with a set of algebraic and/or integro-differential operators results in an ADT calculus. This talk will analyze ADT calculus using three tool sets: object-oriented design metrics, computational complexity theory, and information theory. It will be demonstrated that ADT calculus leads to highly cohesive, loosely coupled abstractions with code-size-invariant data dependencies and minimal information entropy. The talk will also discuss how these results relate to software flexibility and robustness.