This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Inconsistency Management for Multiple-View Software Development Environments
November 1998 (vol. 24 no. 11)
pp. 960-981

Abstract—Developers need tool support to help manage the wide range of inconsistencies that occur during software development. Such tools need to provide developers with ways to define, detect, record, present, interact with, monitor and resolve complex inconsistencies between different views of software artifacts, different developers and different phases of software development. This paper describes our experience with building complex multiple-view software development tools that support diverse inconsistency management facilities. We describe software architectures we have developed, user interface techniques used in our multiple-view development tools, and discuss the effectiveness of our approaches compared to other architectural and HCI techniques.

[1] R.A. Altmann, A.N. Hawke, and C.D. Marlin, "An Integrated Programming Environment Based on Multiple Concurrent Views," Australian Computer J., vol. 20, no. 2, pp. 65-72, May 1988.
[2] R.W. Amor and J.G. Hosking, "Mappings: The Clue in an Integrated System," Proc. First European Conf. Product and Process Modeling in the Building Industry, pp. 117-123,Rotterdam, The Netherlands, A.A. Balkema, 1995.
[3] R. Amor, G. Augenbroe, J.G. Hosking, W. Rombouts, and J.C. Grundy, "Directions in Modelling Environments," Automation in Construction, no. 4, pp. 173-187, 1995.
[4] F. Arefi, C.E. Hughes, and D.A. Workman, "Automatically Generating Visual Syntax-Directed Editors," Comm. ACM, vol. 33, no. 3, pp. 349-360, Mar. 1990.
[5] J. Arlow, S. Bandinelli, W. Emmerich, and L. Lavazza, "Fine Grained Process Modelling: An Experiment at British Airways," Software Process—Improvement and Practice, vol. 3, no. 2, pp. 105-131, 1997.
[6] G. Avrahami, K.P. Brooks, and M.H. Brown, "A Two-View Approach to Constructing User Interfaces," Proc. SIGGRAPH'89, pp. 137-146, Computer Graphics, Boston, Mass., July 1989.
[7] B. Backlund, O. Hagsand, and B. Pherson, "Generation of Visual Language-Oriented Design Environments," J. Visual Languages and Computing, vol. 1, no. 4, pp. 333-354, 1990.
[8] S. Bandinelli, A. Fuggetta, and C. Ghezzi, “Process Model Evolution in the SPADE Environment,” IEEE Trans. Software Eng., Dec. 1993.
[9] S. Bandinelli, E. Di Nitto, and A. Fuggetta, “Supporting Cooperation in the SPADE-1 Environment,” IEEE Trans. Software Eng., vol. 22, no. 12, Dec. 1996.
[10] N. Belkhatir, J. Estublier, and W.L. Melo, The Adele/Tempo Experience, Software Process Modelling&Technology, pp. 187-222. Research Studies Press, 1994.
[11] I.Z. Ben-Shaul, G.T. Heineman, S.S. Popovich, P.D. Skopp, A.Z. amd Tong, and G. Valetto, "Integrating Groupware and Process Technologies in the Oz Environment," Proc. Ninth Int'l Software Process Workshop: The Role of Humans in the Process, pp. 114-116,Airlie, Va., IEEE CS Press, Oct. 1994.
[12] M.H. Brown, Zeus: A System for Algorithm Animation and Multi-View Editing Proc. 1991 IEEE Workshop Visual Languages, pp. 4-9, Oct. 1991.
[13] Cayenne Software, ObjectTeam—Collaborative Object-Oriented Development, http://www.cayennesoft.comobjectteam/, June 1998.
[14] R.B. Dannenberg, "A Structure for Efficient Update, Incremental Redisplay and Undo in Graphical Editors," Software-Practice and Experience, vol. 20, no. 2, pp. 109-132, Feb. 1990.
[15] J. Ebert, R. Suttenbach, and I. Uhe, "Meta-CASE in Practice: A Case for KOGGE," Proc. Ninth Int'l Conf. Advanced Information Systems Eng., pp. 203-216,Barcelona, Spain, Lecture Notes in Computer Science 1250, Springer-Verlag, 1997.
[16] W. Emmerich, "An Architecture for Viewpoint Environments Based on OMG/CORBA," Proc. Int'l Workshop Multiple Perspectives in Software Development, Viewpoints'96, pp. 207-211,San Francisco, ACM Press, 1996.
[17] W. Emmerich, Tool Specification with GTSL Proc. Eighth Int'l Workshop Software Specification and Design, pp. 26-35, 1996.
[18] W. Emmerich, "CORBA and ODBMSs in Viewpoint Development Environment Architectures," Proc. Fourth Int'l Conf. Object-Oriented Information Systems, pp. 347-360, Springer-Verlag, 1997.
[19] W. Emmerich, J. Arlow, J. Madec, and M. Phoenix, "Tool Construction for the British Airways SEE with the O2 ODBMS," Theory and Practice of Object Systems, vol. 3, no. 3, pp. 213-231, 1997.
[20] C. Fernström, "ProcessWEAVER: Adding Process Support to UNIX," Proc. Second Int'l Conf. Software Process: Continuous Software Process Improvement, IEEE Computer Soc. Press, Los Alamitos, Calif., Feb. 1993, pp. 12-26.
[21] A. Finkelstein et al., "Inconsistency Handling in Multi-Perspective Specifications," IEEE Trans. Software Eng., vol. 20, no. 8, Aug. 1994, pp. 569-578.
[22] A. Finkelstein, G. Spanoudakis, and D. Till, "Managing Inconsistencies," Joint Proc. SIGSOFT'96 Workshops, pp. 172-174,San Francisco, ACM Press, Oct. 1996.
[23] A. Fuggetta, "A Classification of CASE Technology," Computer, vol. 26, no. 12, pp. 25-38, Dec. 1993.
[24] E. Gamma, R. Helm, R. Johnston, and J. Vlissides, Design Patterns. Addison-Wesley, 1994.
[25] T.C.N. Graham, "Viewpoints Supporting the Development of Interactive Software," Proc. Viewpoints'96, pp. 263-267,San Francisco, ACM Press, 1996.
[26] J.C. Grundy, "Multiple Textual and Graphical Views for Interactive Software Development Environments," PhD thesis, Univ. of Auckland, Dept. of Computer Science, June 1993.
[27] J.C. Grundy, J.G. Hosking, S. Fenwick, and W.B. Mugridge connecting the pieces, Visual Object-Oriented Programming. ch. 11, Manning/Prentice Hall, 1995.
[28] J.C. Grundy, and J.G. Hosking, "ViTABaL: A Visual Language Supporting Design By Tool Abstraction," Proc. IEEE Symp. Visual Languages, pp. 53-60,Darmsdart, Germany, IEEE CS Press, Sept. 1995.
[29] J.C. Grundy, J.G. Hosking, and W.B. Mugridge, "Supporting Flexible Consistency Management via Discrete Change Description Propagation," Software-Practice&Experience, vol. 26, no. 9, pp. 1,053-1,083, Sept. 1996.
[30] J.C. Grundy and J.G. Hosking, "Constructing Integrated Software Development Environments with MViews," Int'l J. Applied Software Technology, vol. 2, nos. 3/4, pp. 133-160, 1996.
[31] J.C. Grundy, J.G. Hosking, and W.B. Mugridge, "Low-Level and High-Level CSCW in the Serendipity Process Modelling Environment," Proc. OZCHI'96, pp. 69-77,Hamilton, New Zealand, IEEE CS Press, Nov. 1996.
[32] J.C. Grundy and J.G. Venable, "Towards an Integrated Environment for Method Engineering," Proc. IFIP 8.1/8.2 Working Conf. Method Engineering, pp. 26-28,Atlanta, Chapman-Hall, Aug. 1996.
[33] J.C. Grundy, W.B. Mugridge, and J.G. Hosking, "A Java-Based Toolkit for the Construction of MultiView Editing Systems," Proc. Second Component Users Conf., SIGS Publications/CUP, Munich, Germany, July 1997.
[34] J.C. Grundy and J.G. Hosking, "Serendipity: Integrated Environment Support for Process Modelling, Enactment and Work Coordination," Automated Software Engineering, Vol. 5, No. 1, Jan. 1998, pp. 27-60.
[35] J.C. Grundy, J.G. Hosking, and W.B. Mugridge, "Static and Dynamic Visualization of Software Architectures for Component-based Systems," Proc. SEKE'98,San Francisco, KSI Press, pp. 426-433, June 1998.
[36] J.C. Grundy, J.G. Hosking, and W.B. Mugridge, "Support for End User Specification of Workflows, Work Coordination and Tool Integration," J. End User Computing, vol. 10, no. 2, pp. 38-48, May 1998.
[37] R.O. Hart and G. Lupton, "DECFUSE: Building A Graphical Software Development Environment from Unix Tools," Digital Technical J., vol. 7, no. 2, pp. 5-19, 1995.
[38] R.D. Hill, T. Brinck, S.L. Rohall, J.F. Patterson, and W. Wilner, "The Rendezvous Architecture and Language for Constructing Multiuser Applications," ACM Trans. Computer-Human Interaction, vol. 1, no. 2,. pp. 81-125, 1994.
[39] J.G. Hosking, S. Fenwick, W.B. Mugridge, and J.C. Grundy, "Cover Yourself with Skin," Proc. OZCHI'95, pp. 101-106,Wollongong, Australia, Nov. 1995.
[40] Interactive'Development Environments Inc., Software thru Pictures 2.4.2, 1997. http://www.ide.com/Products/SMSsms.html
[41] Interactive Software Engineering Inc., Eiffel CASE, 1998. http://www.eiffel.com/products/caseintex.html
[42] G.E. Kaiser and D. Garlan, "Melding Software Systems from Reusable Blocks," IEEE Software, vol. 4, no. 4, pp. 17-24, July 1987.
[43] S. Kelly, K. Lyytinen, and M. Rossi, "Meta Edit+: A Fully Configurable MultiUser and MultiTool CASE Environment," Proc. CAiSE'96, pp. 1-21,Heraklion, Crete, Greece, Lecture Notes in Computer Science 1080, Springer-Verlag, May 1996,.
[44] J.D. Kiper, "A Framework for Characterisation of the Degree of Integration of Software Tools," J. Systems Integration, vol. 4, pp. 5-32, 1994.
[45] R.E. Kraut and L.A. Streeter, "Coordination in Software Development," Comm. ACM, Vol. 38, No. 3, 1995, pp. 69-81.
[46] 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.
[47] U. Leonhardt et al., "Decentralized Process Modeling in a Multi-Perspective Development Environment," Proc. 17th Int'l Conf. Software Eng., ACM Press, New York, 1995, pp. 255-264.
[48] P. Lyons, C. Simmons, and M. Apperley, "HyperPascal: Using Visual Programming to Model the Idea Space," Proc. 13th New Zealand Computer Soc. Conf., pp. 492-508,Auckland, Aug. 1993.
[49] B. Magnusson, M. Bengtsson, and L. Dahlin, " An Overview of the Mjølner/ORM Environment: Incremental Language and Software Development," Proc. TOOLS'90, pp. 635-646, Prentice Hall, 1990.
[50] B. Magnusson, U. Asklund, and S. Minör, "Fine-grained Revision Control for Collaborative Software Development," Proc. ACM SIGSOFT Conf. Foundations of Software Eng., Dec. 1993, ACM Press, pp. 7-10.
[51] C. Marlin, B. Peuschel, M. McCarthy, and J. Harvey, "MultiView-Merlin: An Experiment in Tool Integration," Proc. Sixth Conf. Software Eng. Environments, IEEE CS Press, 1993.
[52] R. Medina-Mora et al., "The Action Workflow Approach to Workflow Management Technology," Proc. Computer-Supported Cooperative Work '92, ACM Press, New York, 1992, pp. 281-288.
[53] S. Meyers, "Difficulties in Integrating Multiview Development Systems," IEEE Software, vol. 8, no. 1, pp. 49-57, Jan. 1991.
[54] B.A. Myers et al., "Garnet: Comprehensive Support for Graphical, Highly-Interactive User Interfaces," Computer, vol. 23, no. 11, pp. 71-85, 1990.
[55] B.A. Myers, R.G. McDaniel, R.C. Miller, A.S. Ferrency, A. Faulring, B.D. Kyle, A. Mickish, A. Klimovitski, and P. Doane, The Amulet Environment: New Models for Effective User Interface Software Development IEEE Trans. Software Eng., vol. 23, no. 6, pp. 347-365, 1997.
[56] B. Nuseibeh, "Towards a Framework for Managing Inconsistency Between Multiple Views," Proc. Viewpoints'96, pp. 184-186,San Francisco, ACM Press, 1996.
[57] B. Peuschel, W. Schäfer, and S. Wolf, "A Knowledge-Based Software Development Environment Supporting Cooperative Work," Int'l J. Software Eng. and Knowledge Eng., vol. 2, no. 1, pp. 76-106, 1992.
[58] W.L. Poon and A. Finkelstein, "Consistency Management for Multiple Perspective Software Development," Proc. Viewpoints'96, pp. 192-196,San Francisco: ACM Press, 1996.
[59] M. Ratcliffe, C. Wang, R.J. Gautier, and B.R. Whittle, "Dora—A Structure Oriented Environment Generator," IEEE Software Eng. J., vol. 7, no. 3, pp. 184-190, 1992.
[60] Rational Corp., "RationalRose 4.0," http:/www.rational.com/, 1997.
[61] P. Reiss, “Pecan: Program Development Systems That Support Multiple Views,” IEEE Trans. Software Eng., Vol. 11, No. 3, Mar. 1985, pp. 276‐285.
[62] S.P. Reiss, "Working in the GARDEN Environment for Conceptual Programming," IEEE Software, vol. 4, no. 11, pp. 16-26, Nov. 1987.
[63] S.P. Reiss, "Connecting Tools Using Message Passing in the Field Environment," IEEE Software, vol. 7, no. 4, pp. 57-66, July 1990.
[64] S.P. Reiss, Interacting with the Field Environment Software Practice and Experience, vol. 20, pp. 89-115, 1990.
[65] T. Reps and T. Teitelbaum,“Language processing in program editors,”IEEE Comput.,pp. 29–40, Nov. 1987.
[66] M. Roseman and S. Greenberg, "Building Real Time Groupware with GroupKit, A Groupware Toolkit," ACM Trans. Computer-Human Interaction, vol. 3, no. 1, pp. 66-106, Mar. 1996.
[67] P.G. Sorenson, P.S. Findeisen, and J.P. Tremblay, "Supporting Viewpoints in MetaView," Proc. Viewpoints'96, pp. 237-241,San Francisco, ACM Press, 1996.
[68] K.D. Swenson, R.J. Maxwell, T. Matsumoto, B. Saghari, and K. Irwin, "A Business Process Environment Supporting Collaborative Planning," J. Collaborative Computing, vol. 1, no. 1, 1994.
[69] TeamWARE Inc., TeamWARE Flow, 1996. http://www.teamware.us.com/productsflow/
[70] G. Valetto and G.E. Kaiser, "Enveloping Sophisticated Tools into Computer-Aided Software Engineering Environments," Proc. IEEE Seventh Int'l Workshop Computer-Aided Software Eng., pp. 40-48, July 1995.
[71] J.R. Venable and J.C. Grundy, "Integrating and Supporting Entity Relationship and Object Role Models," Proc. 14th Object-Oriented and Entity Relationship Modelling Conf., pp. 318-328,Gold Coast, Australia, Lecture Notes in Computer Science, Springer-Verlag, 1995.
[72] A.I. Wasserman and P.A. Pircher, "A Graphical, Extensible, Integrated Environment for Software Development," SIGPLAN Notices, vol. 22, no. 1, pp. 131-142, Jan. 1987.
[73] J. Welsh, B. Broom, and D. Kiong, "A Design Rationale for a Language-Based Editor," Software-Practice and Experience, vol. 21, no. 9, pp. 923-948, 1991.
[74] M.R. Wilk, "Change Propagation in Object Dependency Graphs," Proc. TOOLS US'91, pp. 233-247. Prentice Hall, Aug. 1991.

Index Terms:
Inconsistency management, multiple views, integrated software development environments, collaborative software development.
Citation:
John Grundy, John Hosking, Warwick B. Mugridge, "Inconsistency Management for Multiple-View Software Development Environments," IEEE Transactions on Software Engineering, vol. 24, no. 11, pp. 960-981, Nov. 1998, doi:10.1109/32.730545
Usage of this product signifies your acceptance of the Terms of Use.