This Article 
 Bibliographic References 
 Add to: 
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
March 1995 (vol. 21 no. 3)
pp. 229-243
The abstract data view (ADV) design model was originally created to specify clearly and formally the separation of the user interface from the application component of a software system, and to provide a systematic design method that is independent of specific application environments. Such a method should lead to a high degree of reuse of designs for both interface and application components. The material in this paper extends the concept of ADV's to encompass the general specification of interfaces between application components in the same or different computing environments. This approach to specifying interfaces clearly separates application components from each other, since they do not need to know how they are used, or how they obtain services from other application components. Thus, application components called abstract data objects (ADO's) in this paper, are designed to minimize knowledge of the environment in which they are used and should be more amenable to reuse.

[1] L. M. F. Carneiro, M. H. Coffin, D. D. Cowan, and C. J. P. Lucena,“User interface high-order architectural models,”Comput. Sci. Dep. Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. 93-14, 1993.
[2] D. R. Jr. Olsen,“Presentational, syntactic and semantic components of interactive dialogue specifications,”inUser Interface Manage. Syst.—Proc. Workshop User Interface Manage. Syst, Seeheim, FRG, Nov. 1–3, 1983.
[3] M. Green,“Design notations and user interface management systems,”inUser Interface Manage. Syst.—Proc. Workshop User Interface Manage. Syst., Seeheim, FRG, Nov. 1–3, 1983.
[4] ——,“Report on dialogue specification tools,”inUser Interface Manage. Syst.—Proc. Workshop User Interface Manage. Syst.Seeheim, FRG, Nov. 1–3, 1983 .
[5] L. Bass and J. Coutaz,Developing Software for the User Interface. Reading, MA: Addison-Wesley, 1991.
[6] J. Coutaz and S. Balbo,“Applications: A dimension space for user interface management systems,”inReaching Through Technology, CHI '91 Conf. Proc., S. P. Robertson, G. M. Olson and J. S. Olson, Eds., New Orleans, LA,, Apr. 27–May 2, 1991, pp. 27–32.
[7] Digital Equipment Corporation, Hewlett-Packard Company, HyperDesk Corporation, NCR Corporation, Object Design Inc., and SunSoft, Inc.,“The common object request broker: Architecture and specification,”OMG 91.12.1, Dec. 1991, rev. 1.1 ed.
[8] R. D. Hill,“The abstraction-link-view paradigm: using constraints to connect user interfaces to applications,”inCHI '92, ACM, pp. 335–342, May 1992.
[9] R. Hartson,“User-interface management control and communication,”IEEE Software, vol. 26, pp. 62–70, Jan. 1989.
[10] 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.
[11] J. McCormack and P. Asente,“An overview of the X toolkit,”inProc. ACM SIGGRAPH Symp. User Interface Software, pp. 46–55, Oct. 1988.
[12] R. D. Hill,“Supporting concurrency, communication, and synchronization in human-computer interaction—The Sassafras UIMS,”ACM Trans. Graphics, vol. 5, pp. 179–210, July 1986.
[13] B. A. Myers,“Separating application code from toolkits: Eliminating the spaghetti of call-backs,”inUIST–4th Annu. Symp. User Interface Software Technol., 1991, pp. 211–220.
[14] Application Environment Specification (AES) User Environment Volume, Open Software Foundation, 1990.
[15] D. D. Cowan, R. Ierusalimschy, C. J. P. Lucena, and T. M. Stepien,“Abstract data views,”Struct. Programm., vol. 14, pp. 1–13, Jan. 1993.
[16] D.D. Cowan, R. Ierusalimschy, C.J.P. Lucena, and T.M. Stepien, “Application Integration: Constructing Composite Applications from Interactive Components,” Software Practice and Experience, vol. 23, no. 3, pp. 255–276, Mar. 1993.
[17] Microsoft Corporation,Microsoft Visual Basic Programmer's Guide, 1991.
[18] Watcom Int. Corp.,WATCOM VX$\cdot$REXX for OS/2 Programmer's Guide and Reference, Waterloo, Ont., Canada, 1993.
[19] J. Ousterhout, Tcl and the Tk Toolkit, Addison Wesley Longman, Reading, Mass., 1994.
[20] D. D. Cowan and C. J. P. Lucena,“Abstract data views: A module interconnection concept to enhance design for reusability,”Comput. Sci. Dep. and Comput. Syst. Grp., Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. 93-52, Nov. 1993.
[21] F. DeRemer and H. Kron,“Programming-in-the-large versus programming-in-the-small,”IEEE Trans. Software Eng., vol. 2, 1976.
[22] 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.
[23] D. D. Cowanet al.,“Program design using abstract data views—An illustrative example,”Comput. Sci. Dep., Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. 92-54, Dec. 1992.
[24] C. J. P. Lucena, D. D. Cowan, and A. B. Potengy,“A programming model for user interface compositions,”inAnais do V Simpósio Brasileiro de Computação Gráfica e Processamento de Imagens, SIBGRAPI'92, (Aguas de Lindóia, SP, Brazil), Nov. 1992.
[25] ——,“A programming approach for parallel rendering applications,”Comput. Sci. Dep. and Comput. Syst. Grp., Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. 93-62, Mar. 1993.
[26] D. Smith,“Abstract data views: A case study evaluation,”Univ. Waterloo, Comput. Sci. Dep., Waterloo, Ont., Tech. Rep. 94-19, Apr. 1994.
[27] D. D. Cowan, C. J. P. Lucena and R. G. Veitch,“Toward CAAI: Computer assisted application integration,”Comput. Sci. Dep. and Comput. Syst. Grp., Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. 93-17, Jan. 1993.
[28] O. Nierstrasz et al., "Component-Oriented Software Development," Comm. the ACM, vol. 35, no. 9, 1992, pp. 160-165.
[29] G. Wiederhold, P. Wegner, and S. Ceri, “Towards Megaprogramming,” Comm. ACM, vol. 35, no. 11, Nov. 1992.
[30] L. M. F. Carneiro, D. D. Cowan, and C. J. P. Lucena,“ADVcharts: A visual formalism for interactive systems—position paper,”inSIGCHI Bulletin, pp. 74–77, 1993.
[31] ——,“ADVcharts: A visual formalism for interactive systems,”inProc. York Workshop Formal Methods Interact. Syst.(to appear), Springer, 1994.
[32] L. Carneiro-Coffin, D. D. Cowan, C. Lucena and D. Smith,“An experience using JASMINUM—Formalization assisting with the design of user interfaces,”inProc. Workshop Res. Issues between Software Eng. Human-Comput. Interaction(to appear), Sorrento, May 1994.
[33] P. Alencar, L. Carneiro-Coffin, D. D. Cowan and C. Lucena,“The semantics of abstract data views: A design concept to support reuse-in-the-large,”inProc. Colloquium Object-Orientation in Databases and Software Eng.(to appear), Kluwer Press, May 1994.
[34] ——,“Toward a formal theory of abstract data views,”Comput. Sci. Dep., Univ. Waterloo, Waterloo, Ont., Tech. Rep. 94-18, Apr. 1994.
[35] ——,“Toward a logical theory of ADV's,”inProc. Workshop Logic. Found. Object Orient. Programm. ECOOP94(to appear), July 1994.
[36] D. D. Cowan and C. J. P. Lucena,“Enhancing software design reuse: Nesting in object-oriented design,”Comput. Sci. Dep. and Comput. Syst. Grp., Univ. Waterloo, Tech. Rep. 93-26, 1993.
[37] P. A. Buhr and C. R. Zarnke,“Nesting in an object oriented language is NOT for the birds,”inProc. ECOOP'88, Europ. Conf. Object-Orient. Programm., 1988.
[38] O. L. Madsen,“Block structure and object oriented languages,”inResearch Directions in Object-Oriented Programming, B. Shiver and P. Wegner, Eds. Cambridge, MA: MIT Press, 1987.
[39] D.L. Parnas, "On the Criteria to be Used in Decomposing Systems into Software Modules," Comm. ACM, Dec. 1972, pp. 1,053-1,058.
[40] R. Ierusalimschy,“A method for object-oriented specifications with VDM,”Monografias em Cincia da Computa o, PUC-Rio, Tech. Rep., Feb. 1991.
[41] R.E. Strom,D.F. Bacon,A.P. Goldberg,A. Lowry,D.M. Yellin,, and S.A. Yemini,HERMES: A Language for Distributed Computing.Englewood Cliffs, N.J.: Prentice Hall, Inc., 1991.
[42] I. Jacobson, M. Christerson, P. Jonsson, and G. Ovegaard,Object-Oriented Software Engineering: A Use Case Driven Approach. Reading, MA: Addison-Wesley, 1993.
[43] L. Bass, R. Kazman, and R. Little,“Toward a software engineering model of human-computer interaction,”inProc. Eng. Human-Computer Interaction. Amsterdam, The Netherlands: North Holland, 1993.
[44] E. W. Dijkstra,“Co-operating sequential processes,”inProgramming Languages. New York: Academic, 1965.
[45] D. de Champeaux, D. Lea, and F. Penelope,Object-Oriented System Development, Reading, MA: Addison-Wesley, 1993.
[46] C.A.R. Hoare, "Monitors, An Operating System Structuring Concept," Comm. ACM, vol. 17, no. 10, Oct. 1974, pp. 549-557.
[47] B. Stroustrup, The C++ Programming Language. Addison-Wesley, 1986.
[48] M. Coffin, D. D. Cowan, C. J. P. Lucena, and A. B. Potengy,“Distributed abstract data views: Design and implementation,”, Comput. Sci. Dep., Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. 93-61, 1993.
[49] T. Parker,“Shells for UNIX: A basic programming choice,”Comput. Lang., vol. 6, no. 7, p. 73, 1989.
[50] L. Wall,Programming perl, O'Reilly Assoc., 1992, QA76.73.P347W35x.
[51] D. Libes,“Expect: Curing those uncontrollable fits of interactivity,”inProc. Summer 1990 USENIX Conf., Anaheim, CA, June 1990.
[52] M. F. Cowlishaw,The REXX Language: A Practical Approach to Programming, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 1990.
[53] D. L. Parnas, "A Technique for Software Module Specification with Examples," Comm. ACM, vol. 15, p. 330, May 1972.
[54] ——,“On the design and development of program families,”IEEE Trans. Software Eng., vol. 2, 1976.
[55] ——,“Designing software for ease of extension and contraction,”IEEE Trans. Software Eng., vol. 5, pp. 128–138, Mar. 1979.
[56] J.A. Goguen, "Reusing and Interconnecting Software Components," Computer, Feb. 1986.
[57] 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.
[58] M. A. Jackson,System Development. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[59] G. Booch, Object Oriented Design with Applications, Benjamin/Cummings Publishing Company, Inc., Redwood City, Calif., 1991.
[60] G. Wieringa,“A formalization of objects using equational dynamic logic,”inDeductive and Object-Oriented Databases, C. Delobel, M. Kifer and Y. Masunaga, Eds. New York: Springer-Verlag, 1991.
[61] B. Meyer,Object-Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[62] K. Sikkel and J. C. v. Vliet,“Abstract data types as reusable software components; the case for twin ADT's,”Software Eng. J., May 1992.
[63] D. Harel, “Statecharts: A Visual Approach to Complex Systems,” Science of Computer Programming, Vol. 8, No. 3, pp. 231–274, 1987.
[64] D. D. Cowan, R. Ierusalimschy, and T. M. Stepien,“Programming environments for end-users,”inProc. IFIP 92, Vol. III, pp. 54–60, 1992.
[65] G. Arango,“Domain analysis methods,”inSoftware Reusability.W. Schoeffer, Ed. London: Harwood, Mar. 1993.
[66] J. Dennis,“Modularity,”inAdvanced Course on Software Engineering. New York: Springer-Verlag, 1973.
[67] C. B. Jones,Systematic Software Development Using VDM. Englewood Cliffs, NJ: Prentice-Hall, 1990, 2nd ed.
[68] L. M. F. Carneiro-Coffin, D. D. Cowan, and C. J. P. Lucena,“ADV charts: A visual formalism for highly interactive systems,”inSoftware Engineering in Human-Computer InteractionM. D. Harrison and C. Johnson, Eds. Cambridge, England: Cambridge Univ. Press, 1994.
[69] D. Coleman, F. Hayes, and S. Bear,“Introducing objectcharts or how to use statecharts in object-oriented design,”IEEE Trans. Software Eng., vol. 18, 1992.

Index Terms:
Abstract data objects, interactive applications, programming, user interfaces, end-user programming, script languages, interfaces
Donald D. Cowan, Carlos J. P. Lucena, "Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse," IEEE Transactions on Software Engineering, vol. 21, no. 3, pp. 229-243, March 1995, doi:10.1109/32.372150
Usage of this product signifies your acceptance of the Terms of Use.