Friday, February 16, 2007

Commonality and Variability

Following the same thread towards commonality-variablity analysis, a practical and common-sense approach to designing abtract and concrete classes by distinguishing common behaviour of a class-of-types from their distinct variable behaviour from each other within that class-of-types.

I was just refreshing my memory about commonality-variablity analysis (see James O. Coplien, et al) and I noticed the first reference D.L. Parnas et al., "The Modular Structure Of Complex Systems," IEEE Trans. Software Eng., Mar. 1985, pp.408-417.

Prof. David L. Parnas was the keynote speaker the Australian Software Engineering Conference I recently attended in Brisbane. An inspirational speaker, he is "one of the grandmasters of software engineering." (see). "Software Fundamentals: Collected Papers by David L. Parnas is a practical guide to key software engineering concepts that belongs in the library of every software professional." (ibid; see also).

I was privileged to have the opportunity to sit down and chat with Prof. Parnas on several occasions over the course of the conference and found him to be a gentleman and still passionate about software engineering, licencing and education or professionals in our field. One of the recurrent topics is the content and quality of University education.

Recently, I had the opportunity to give a seminar in CS at UWA about Java, C++, type-safety and emergent design, in part motivated by discussions with David and also stimulated by thoughts from Douglas Hofstadter's fabulous Godel, Escher, Bach: An Eternal Golden Braid.

You haven't read GEB? I heartily recommend it as a glorious and stimulating mental roller coaster for all readers.

0 Comments:

Post a Comment

<< Home