Multiple textual and graphical views for interactive software development environments

Page i Abstract Diagram construction can be used to visually analyse and design a complex software system using natural, graphical representations describing high-level structure and semantics. Textual programming can specify detailed documentation and functionality not well expressed at a visual level. Integrating multiple textual and graphical views of software development allows programmers to utilise both representations as appropriate. Consistency management between these views must be automatically maintained by the development environment. MViews, a model for such software development environments, has been developed. MViews supports integrated textual and graphical views of software development with consistency management. MViews provides flexible program and view representation using a novel object dependency graph approach. Multiple views of a program may contain common information and are stored as graphs with textual or graphical renderings and editing. Change propagation between program components and views is supported using a novel update record mechanism. Different editing tools are integrated as views of a common program repository and new program representations and editors can be integrated without affecting existing views. A specification language for program and view state and manipulation semantics, and a visual specification language for view appearance and editing semantics, have been developed. An object-oriented architecture based on MViews abstractions allows environment specifications to be translated into a design for implementing environments. Environment designs are implemented by specialising a framework of object-oriented language classes based on the MViews architecture. A new language is described which provides object-oriented extensions to Prolog. An integrated software development environment for this language is discussed and the specification, design and implementation of this environment using MViews are described. MViews has also been reused to produce a graphical entity-relationship/textual relational database schema modeller, a dialogue painter with a graphical editing view and textual constraints view, and various program visualisation systems.

[1]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[2]  Anthony I. Wasserman,et al.  A graphical, extensible integrated environment for software development , 1987, SDE 2.

[3]  Michael R. Wilk Change Propagation in Object Dependency Graphs , 1991, TOOLS.

[4]  Robert D. Tennent,et al.  The denotational semantics of programming languages , 1976, CACM.

[5]  Alberto O. Mendelzon,et al.  Visualizing and querying software structures , 1992, International Conference on Software Engineering.

[6]  Steven P. Reiss,et al.  PECAN: Program Development Systems that Support Multiple Views , 1984, IEEE Transactions on Software Engineering.

[7]  Ephraim P. Glinert,et al.  Pict: An Interactive Graphical Programming Environment , 1984, Computer.

[8]  Giuseppe Santucci,et al.  Query by diagram: A visual environment for querying databases , 1993, Softw. Pract. Exp..

[9]  Walter F. Tichy,et al.  Edge: An extendible graph editor , 1990, Softw. Pract. Exp..

[10]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[11]  D. A. Wilson Class diagrams: A tool for design, documentation, and teaching , 1990 .

[12]  Günter Böckle,et al.  Future Research , 2005, Software Product Line Engineering.

[13]  Kenneth P. Brooks,et al.  A two-view approach to constructing user interfaces , 1989, SIGGRAPH.

[14]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[15]  James C. Browne,et al.  A high level language for specifying graph based languages and their programming environments , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[16]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[17]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.

[18]  Rom Langerak,et al.  View updates in relational databases with an independent scheme , 1990, TODS.

[19]  Thomas W. Reps,et al.  Language Processing in Program Editors , 1987, Computer.

[20]  David E. Monarchi,et al.  A research typology for object-oriented analysis and design , 1992, CACM.

[21]  Mark D. Apperley,et al.  Lean Cuisine: A Low-Fat Notation for Menus , 1989, Interact. Comput..

[22]  Ephraim P. Glinert,et al.  Visual tools for generating iconic programming environments , 1992, Proceedings IEEE Workshop on Visual Languages.

[23]  Giuseppe Attardi,et al.  Metalevel Programming in CLOS , 1989, ECOOP.

[24]  Ramez Elmasri,et al.  A graphical data manipulation language for an extended entity-relationship model , 1990, Computer.

[25]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[26]  John Hamer Expert systems for codes of practice , 1990 .

[27]  Mark B. Ratcliffe,et al.  Trends in Structure-Oriented Environments , 1994, Int. J. Softw. Eng. Knowl. Eng..

[28]  F KemererChris,et al.  Object-Oriented and Conventional Analysis and Design Methodologies , 1992 .

[29]  David Garlan,et al.  Views for Tools in Integrated Environments , 1986, Advanced Programming Environments.

[30]  David Garlan,et al.  TransformGen: automating the maintenance of structure-oriented environments , 1994, TOPL.

[31]  Jim Welsh,et al.  A design rationale for a language‐based editor , 1991, Softw. Pract. Exp..

[32]  Daniel C. Halbert,et al.  The Trellis programming environment , 1987, OOPSLA 1987.

[33]  Gail E. Kaiser Semantics for structure editing environments , 1985 .

[34]  Scott Wallace,et al.  Fabrik: a visual programming environment , 1988, OOPSLA '88.

[35]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[36]  Jack C. Wileden,et al.  OROS: toward a type model for software development environments , 1989, OOPSLA '89.

[37]  中嶋 和久,et al.  環境 Environment について , 1992 .

[38]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[39]  Charles E. Hughes,et al.  Automatically generating visual syntax-directed editors , 1990, CACM.

[40]  Paul R. Calder,et al.  Composing user interfaces with InterViews , 1989, Computer.

[41]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[42]  A. Nico Habermann,et al.  Software Development Environments , 1987, Computer.

[43]  T. J. Teorey,et al.  A logical design methodology for relational databases using the extended entity-relationship model , 1986, CSUR.

[44]  David D. McDonald,et al.  Programs , 1984, CL.

[45]  Carlo Batini,et al.  Automatic graph drawing and readability of diagrams , 1988, IEEE Trans. Syst. Man Cybern..

[46]  Gerhard Fischer,et al.  Cognitive View of Reuse and Redesign , 1987, IEEE Software.

[47]  Scott Wallace,et al.  Fabrik: a visual programming environment , 1988, OOPSLA 1988.

[48]  Al Stevens,et al.  C programming , 1990 .

[49]  Bertrand Meyer,et al.  Reusability: The Case for Object-Oriented Design , 1987, IEEE Software.

[50]  Eric J. Golin,et al.  The specification of visual language syntax , 1990, J. Vis. Lang. Comput..

[51]  Steven P. Reiss Working in the Garden Environment for Conceptual Programming , 1987, IEEE Software.

[52]  Jean G. Vaucher,et al.  ObjVProlog: Metaclasses in Logic , 1989, ECOOP.

[53]  Steven P. Reiss GARDEN Tools: Support fpr Graphical Programming , 1986, Advanced Programming Environments.

[54]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1995 .

[55]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[56]  Jean Dollimore,et al.  A model for co-operative object-orientated programming , 1993, Softw. Eng. J..

[57]  Christopher F. Herot,et al.  Program Visualization: Graphics Support for Software Development , 1983, 20th Design Automation Conference Proceedings.

[58]  Brad A. Myers,et al.  Automatic data visualization for novice Pascal programmers , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[59]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[60]  Thomas Reps,et al.  The synthesizer generator , 1984 .

[61]  Margaret M. Burnett,et al.  Influence of visual technology on the evolution of language environments , 1989, Computer.

[62]  Anthony I. Wasserman,et al.  The object-oriented structured design notation for software design representation , 1990, Computer.

[63]  John Hamer,et al.  A VISUAL PROGRAMMING ENVIRONMENT FOR OBJECT-ORIENTED LANGUAGES , 1991 .

[64]  F. J. Newbery An interface description language for graph editors , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[65]  David Garlan,et al.  Melding Software Systems from Reusable Building Blocks , 1987, IEEE Software.

[66]  Edward Yourdon,et al.  Object-Oriented Analysis, Second Edition. , 1990 .

[67]  Philip T. Cox,et al.  Prograph: a step towards liberating programming from textual conditioning , 1989, [Proceedings] 1989 IEEE Workshop on Visual Languages.

[68]  Rebecca Wirfs-Brock,et al.  Object-oriented design: a responsibility-driven approach , 1989, OOPSLA 1989.

[69]  Kathleen J. Mullen,et al.  Agricultural Policies in India , 2018, OECD Food and Agricultural Reviews.

[70]  Elliot J. Chikofsky,et al.  CASE: reliability engineering for information systems , 1988, IEEE Software.

[71]  Sidney C. Bailin,et al.  An object-oriented requirements specifications method , 1989, CACM.

[72]  Toby J. Teorey,et al.  ER model clustering as an aid for user communication and documentation in database design , 1989, CACM.

[73]  Craig Chambers,et al.  Object, message, and performance: how they coexist in Self , 1992, Computer.

[74]  Brian Henderson-Sellers,et al.  The object-oriented systems life cycle , 1990, CACM.

[75]  Susan Horwitz,et al.  Generating editing environments based on relations and attributes , 1986, TOPL.

[76]  Sonya E. Keene,et al.  Object-oriented programming in COMMON LISP - a programmer's guide to CLOS , 1989 .

[77]  Marc H. Brown,et al.  Exploring algorithms using Balsa-II , 1988, Computer.

[78]  Georg Raeder A Survey of Current Graphical Programming Techniques , 1985, Computer.

[79]  Scott E. Hudson,et al.  Incremental attribute evaluation: a flexible algorithm for lazy update , 1991, TOPL.

[80]  Marc H. Brown,et al.  Zeus: a system for algorithm animation and multi-view editing , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[81]  Roger B. Dannenberg A structure for efficient update, incremental redisplay and undo in graphical editors , 1990, Softw. Pract. Exp..

[82]  Brad A. Myers,et al.  User-interface tools: introduction and survey , 1989, IEEE Software.

[83]  Daniel C. Halbert,et al.  The Trellis programming environment , 1987, OOPSLA '87.

[84]  Michael F. Kleyn,et al.  GraphTrace - Understanding Object-Oriented Systems Using Concurrently Animated Views , 1988, OOPSLA.

[85]  Lloyd Allison,et al.  Technical correspondence: a correction to the denotational semantics for the Prolog of Nicholson and Foo , 1993, TOPL.

[86]  Graeme Smith,et al.  The object-Z specification language: version 1 , 1991 .

[87]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[88]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[89]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[90]  Robert Amor ICAtect: Integrating Design Tools for Preliminary Architectural Design , 1991 .

[91]  Jack C. Wileden,et al.  OROS: toward a type model for software development environments , 1989, OOPSLA 1989.

[92]  Dan R. Olsen,et al.  SYNGRAPH: A graphical user interface generator , 1983, SIGGRAPH.

[93]  Volker Haarslev,et al.  A framework for visualizing object-oriented systems , 1990, OOPSLA/ECOOP '90.

[94]  John Grundy,et al.  The MViews framework for constructing multi-view editing environments , 1992 .

[95]  Chris F. Kemerer,et al.  Object-oriented and conventional analysis and design methodologies , 1992, Computer.

[96]  Alberto O. Mendelzon,et al.  Hy+: a Hygraph-based query and visualization system , 1993, SIGMOD '93.

[97]  John T. Stasko Tango: A Framework and System for Algorithm Animation , 1990, Computer.

[98]  Josephine Micallef,et al.  Multiuser, Distributed Language-Based Environments , 1987, IEEE Software.

[99]  Steven P. Reiss,et al.  Connecting tools using message passing in the Field environment , 1990, IEEE Software.

[100]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[101]  Olof Hagsand,et al.  Generation of visual language-oriented design environments , 1990, J. Vis. Lang. Comput..

[102]  A. S. M. Sajeev,et al.  Programming persistence in chi , 1992, Computer.

[103]  John C. Grundy,et al.  Constructing multi-view editing environments using MViews , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[104]  Mark A. Linton,et al.  Generalized graphical object editing , 1990 .

[105]  David R. King,et al.  Object-oriented software , 1990 .

[106]  David Notkin,et al.  Guest Editors' Introduction: Integrated Design and Programming Environments , 1987, Computer.

[107]  David Garlan,et al.  Using tool abstraction to compose systems , 1992, Computer.

[108]  Ephraim P. Glinert Towards Software Metrics for Visual Programming , 1989, Int. J. Man Mach. Stud..

[109]  Wen Siang. Kuo Visual programming environment , 1993 .

[110]  Steven P. Reiss Interacting with the field environment , 1990, Softw. Pract. Exp..

[111]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[112]  James A. Larson A Visual Approach to Browsing in a Database Environment , 1986, Computer.

[113]  Chengjun Wang,et al.  Dora: a structure-oriented environment generator , 1992, Softw. Eng. J..

[114]  Frances Paulisch An interface description language for graph editors , 1988, VL.

[115]  Valerio Romano,et al.  Graspin: A Structured Development Environment for Analysis and Design , 1989, IEEE Softw..