next up previous
Next: Specification of Software Frameworks Up: 2 Position Previous: What insights might help

Subsections


On The Nature of Software Frameworks

What kinds of parameters are found in "real" frameworks and instantiations?

One can imagine that a very wide range of parameters are used to instantiate frameworks. Is this true? Are there common special cases, e.g., leaf routines, sequential code fragments?

What are the space of parameter "usage semantics"?

There are lots of ways that components can be fed into a software framework, e.g., callbacks, value passing, procedure passing, object passing, inheritance, macro expansion. How do the semantics of these mechanisms influence the incorporation of parameter descriptions into framework reasoning?

Do frameworks abstract concurrency?

If so, then we need to be prepared to handle a significantly more complex reasoning problem than in the purely sequential case. Furthermore, there may be a need for assessing internal correctness properties, e.g., deadlock freedom. The lightweight methods mentioned above all address concurrency to a certain extent. It may be the case that concurrency is present, but in a restricted form. Can the structure of this internal concurrency be exploited to reduce reasoning cost?


next up previous
Next: Specification of Software Frameworks Up: 2 Position Previous: What insights might help

Matthew B. Dwyer
Sept. 2, 1997