This Article 
 Bibliographic References 
 Add to: 
Evaluating The Mediator Method: Prism as a Case Study
August 1996 (vol. 22 no. 8)
pp. 563-579

Abstract—A software engineer's confidence in the profitability of a novel design technique depends to a significant degree on previous demonstrations of its profitability in practice. Trials of proposed techniques are thus of considerable value in providing factual bases for evaluation. In this paper we present our experience with a previously presented design approach as a basis for evaluating its promise and problems. Specifically, we report on our use of the mediator method to reconcile tight behavioral integration with ease of development and evolution of Prism, a system for planning radiation treatments for cancer patients. Prism is now in routine clinical use in several major research hospitals. Our work supports two claims. In comparison to more common design techniques, the mediator approach eases the development and evolution of integrated systems; and the method can be learned and used profitably by practicing software engineers.

[1] D.G. Bobrow et al., "Common Lisp Object System Specification X3JI3, Document 88-002R," ACM SIGPLAN Notices 23, Sept. 1988.
[2] A. Borning,"The Programming Language Aspects of Thinglab, a Constraint Oriented Simulation Laboratory," ACM Trans. Programming Languages and Systems, vol. 3, pp. 353-387, Oct. 1981.
[3] K. Brockschmidt, Inside OLE.Redmond, Washington: Microsoft Press, 1995.
[4] F.P. Brooks, "Grasping Reality Through Illusion—Interactive Graphics Serving Science," Plenary Address, SIGCHI Bulletin, Conf. Proc., Human Factors in Computing Systems, pp. 1-11, May, 1988.
[5] P.P. Chen, “The Entity‐Relationship Model: Toward a Unified View of Data,” ACM Trans. Database Systems, Vol. 1, No. 1, Jan. 1976, pp. 9–36.
[6] T. Collins, K. Ewert, C. Gerety, J. Gustafson, and I. Thomas, "TICKLE: Object-Oriented Description and Composition Services for Software Engineering Environments," Proc. Third European Software Eng. Conf.,Milan, Italy, pp. 408-423, Oct. 1991.
[7] E. Dijkstra, "Programming Considered as a Human Activity," Proc. 1965 IFIP Congress,Amsterdam, The Netherlands: North-Holland, 1965, pp. 213-217, E.N. Yourdon, ed., Classics in Software Eng., pp. 3-9,New York: Yourdon Press, 1979.
[8] B.A. Fraass and D.L. McShan, "3-D Treatment Planning I, Overview of a Clinical Planning System," I.A.D. Bruinvis, P.H. van der Giessen, H.J. van Kleffens, and F.W. Wittkamper, eds., Proc. Ninth Int'l Conf. Use of Computers in Radiation Therapy, pp. 273-277,Amsterdam: North-Holland, 1987.
[9] E. Gamma et al., Design Patterns: Elements of Object-Oriented Software, Addison-Wesley, Reading, Mass., 1994.
[10] M. Goitein et al., "Multidimensional Treatment Planning: II, Beam's Eye-view, Back Projection, and Projection Through CT Sections," Int'l J. Radiation Oncology, Biology and Physics, vol. 9, pp. 789-797, 1983.
[11] A. Goldberg and D. Robson, Smalltalk 80: The Language and Its Implementation.Reading, Mass.: Addison Wesley, 1983.
[12] R. Helm, I.M. Holland, and D. Gangopadhyay, "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems," Proc. OOPSLA 90, ACM Press, New York, 1990, pp. 169-180.
[13] J.E. Hollingsworth and B.W. Weide, "Micro-Architecture vs. Macro-Architecture," Ohio State University Technical Report OSU-CISRC-11/94-TR57, Nov. 1994.
[14] ISO/IEC JTC/SC21, "ISO/IEC IS 10165-1: Information Technology—Open Systems Interconnection—Structure of Management Information—Part 1: Management Information Model," June, 1991.
[15] ISO/IEC JTC1/SC21/WG4, "General Relationship Model—Third Working Draft: ISO/IEC JTC1/SC21 N 7126," May, 1992.
[16] J.P. Jacky and I.J. Kalet, "An Object-Oriented Approach to a Large Scientific Application," Proc. Conf. OOPSLA '86 Object Oriented Programming Systems, Languages and Applications., N. Meyrowitz, ed., pp. 368-376, 1986.
[17] J.P. Jacky and I.J. Kalet, "An Object-Oriented Programming Discipline for Standard Pascal," Comm. ACM, vol. 30, no. 9, pp. 772-776, Sept., 1987.
[18] I. Kalet and J. Jacky, "A Research-Oriented Treatment Planning Program System," Computer Programs in Biomedicine, vol. 14, pp. 85-98, 1982.
[19] I. Kalet, J. Jacky, S. Kromhout-Shiro, B. Lockyear, M. Niehaus, C. Sweeney, and J. Unger, "The Prism Radiation Treatment Planning System," Technical Report 91-10-03, Radiation Oncology Dept., Univ. of Washington, Seattle, Washington, Oct.31, 1991.
[20] I. Kalet, J. Unger, C. Sweeney, S. Kromhout-Shiro, J. Jacky, and M. Niehaus, "Prism Graphical User Interface Specification," Technical Report 92-02-02, Radiation Oncology Dept., Univ. of Washington, Seattle, Mar.18, 1992.
[21] I. Kalet, "SLIK Programmer's Guide," Technical Report 92-02-01, Radiation Oncology Dept., Univ. of Washington, Seattle, Mar.17, 1992.
[22] I. Kalet, "Artificial Intelligence Applications in Radiation Therapy," Advances in Radiation Oncology Physics: Dosimetry, Treatment Planning, and Brachytherapy, J.A. Purdy, ed., pp. 1,058-1,085, 1992.
[23] B.W. Kernighan and D.M. Ritchie, The C Programming Language.Englewood Cliffs, N.J.: Prentice Hall, 1978.
[24] G.E. Krasner and S.T. Pope, "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk," J. Object Oriented Programming, pp. 26-49, Aug./Sept. 1988.
[25] G.J. Kutcher, R. Mohan, J.S. Laughlin, G. Barest, L. Brewster, C. Chue, C. Berman, and Z. Fuks, "Three Dimensional Radiation Treatment Planning," Dosimetry in Radiotherapy: Proc. Int'l Symp. on Dosimetry in Radiotherapy, vol. 2, pp. 39-63,Vienna, Sept., 1988.
[26] M.M. Lehman, "Program Evolution," M.M. Lehman and L.A. Belady, eds., Program Evolution: Processes of Software Change, Academic Press, London: Harcourt Brace Jova novich, pp. 9-38, 1985.
[27] B. Meyer,Object-Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[28] D. Notkin, D. Garlan, W. G. Griswold, and K. Sullivan,“Adding implicit invocation to languages: Three approaches,”inObject Technologies for Advanced Software. First JSSST Int. Symp., Nov. 1993, vol. 742 ofLecture Notes in Computer Science,pp. 489–510.
[29] Object Management Group, Inc., CORBAservices, Apr. 1995.
[30] A. Cole, P. Hsu, and S. Sastry, “Dynamic Regrasping by Coordinated Control of Sliding for a Multifingered Hand,” Proc. 1989 IEEE Int’l Conf. Robotics and Automation, Vol. 2, IEEE Computer Society Press, Los Alamitos, Calif., 1989, pp. 781–786.
[31] D.L. Parnas, "On the Criteria to be Used in Decomposing Systems into Software Modules," Comm. ACM, Dec. 1972, pp. 1,053-1,058.
[32] H. Petroski, Design Paradigms: Case Histories of Error and Judgement in Engineering.Cambridge: Cambridge Univ. Press, 1994.
[33] S.P. Reiss, "Connecting Tools Using Message Passing in the Field Environment," IEEE Software, vol. 7, no. 4, pp. 57-66, July 1990.
[34] D. Riehle, "Integrating Implicit Invocation with Object-Orientation through the Event Notification Pattern," Theory and Practice of Object Systems (TAPOS), Special Issue on Patterns, 1996, to appear.
[35] J. Rosenman, G.W. Sherouse, H. Fuchs, S. Pizer, A. Skinner, C. Mosher, K. Novins, and J. Tepper, "Three-dimensional Display Techniques in Radiation Therapy Treatment Planning," Int'l J. Radiation Oncology, Biology and Physics, vol. 16, pp. 263-269, 1989.
[36] C.L. Chang, R.A. Stachowitz, and J.B. Combs, “Validation of Nonmonotonic Knowledge-Based Systems,” Proc. IEEE Int'l Conf. Tools for Artificial Intelligence, Nov. 1990.
[37] R.W. Scheifler and J. Gettys, "The X Window System." ACM Graphics, vol. 5, no. 2, Apr. 1986. Actually appeared June 1987.
[38] D. Garlan and D. Notkin,“Formalizing design spaces: Implicit Invocation mechanisms,”inProc. VDM '91: Formal Software Development Methods, Oct. 1991.
[39] D. Garlan and M. Shaw, "An Introduction to Software Architecture," V. Ambriola and G. Tortura, eds., Advances in Software Eng. and Knowledge Eng., vol. 1, New Jersey: World Scientific Publishing Company, 1993.
[40] G.L. Steele, Common Lisp: The Language, second ed. Digital Press, 1990.
[41] B. Stroustrup, The C++ Programming Language. Addison-Wesley, 1986.
[42] K.J. Sullivan and D. Notkin, "Reconciling Environment Integration and Evolution," ACM Trans. Software Eng. and Methodology vol. 1, no. 3, July 1992.
[43] K.J. Sullivan, "Mediators: Easing the Design and Evolution of Integrated Systems," PhD dissertation, Dept. of Computer Science, Univ. of Washington, Aug. 1994.
[44] R.N. Taylor, F.C. Belz, L.A. Clarke, L.J. Osterweil, R.W. Selby, J.C. Wileden, A.L. Wolf, and M. Young, "Foundations for the Arcadia Environment Architecture," Proc. SIGSOFT '88: Third Symp. Software Development Environment, pp. 1-13, Nov. 1988. Published as ACM SIGPLAN Notices, vol. 24, no. 2 and as SIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988.
[45] G. Wiederhold, “Mediation in Information Systems; in Research Directions in Software Engineering,” ACM Computing Surveys, vol. 27, no. 2, pp. 265–267, June 1995.

Index Terms:
Software engineering, design methodology, software evolution, integration, object-oriented, component-based, mediator, implicit invocation, abstract behavioral type, radiation treatment.
Kevin J. Sullivan, Ira J. Kalet, David Notkin, "Evaluating The Mediator Method: Prism as a Case Study," IEEE Transactions on Software Engineering, vol. 22, no. 8, pp. 563-579, Aug. 1996, doi:10.1109/32.536957
Usage of this product signifies your acceptance of the Terms of Use.