Defining reference models and software architectural styles for cooperative systems

The emergence of software architecture as a field of study is a relatively recent phenomenon[2]. As a discipline, its goals are to better understand the high-level organization of software in terms of computational elements and the interactions between them. This proposal to attend a workshop on software architectures for cooperative systems comes from a researcher in software architecture who is only remotely aware of the specific issues in the design of cooperative systems. In this proposal I will explain what contribution can be made from someone outside of CSCW. I also expect that the critical examination of a complex domain such as cooperative systems will greatly inform my own understanding of software architecture.Within any software domain, such as CSCW, it is important to make explicit the high level design invariants of the software architecture. Such reflection leads to the definition of models or reference architectures intended to positively influence the future development of similar systems. As explained above, this process of defining a reference architecture requires expertise in the general area of software architecture as well as domain expertise. One need not look far outside the scope of CSCW to find an example of a reference architecture with profound influence on design. From the mid 1980's, many user interface management systems have based their highest level abstractions on the Seeheim model [4], with the separation implied by the API, dialogue controller and presentation. One can ask to what extent the authors of the Seeheim model anticipated the influence of their work and gave due consideration to all of the problems involved in UI design.My own interest in software architecture falls into two categories -- semi-formal, structured evaluation of architectural artifacts for non-functional qualities and formal definition of architectural patterns or styles. I will briefly decribe each.

[1]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[2]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[3]  G. E. Pfaff,et al.  User Interface Management Systems , 1985, Eurographic Seminars.

[4]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[5]  Mícheál Mac an Airchinnigh,et al.  Seeheim Workshop on User Interface Management Systems Report of the Working Group on the User's Conceptual Model * , 1985, Comput. Graph. Forum.