| John C. Grundy and John G. Hosking. Constructing integrated software development environments with MViews. International Journal of Applied Software Technology, 2(3/4):133--160, 1997. |
....the View Based Approach to System Specification [5] A model, e.g. the bank, is split into several views for individual development and later integration. In this case we however block changes to the views which cause conflict during integration. Furthermore, this strategy is an extreme form of [13] and [14] which formalise and manage propagation of change to parts of a model. We additionally ensure that changes are only done to distinct parts packages and we only allow these changes if they do not propagate beyond the packages. This work can also be seen as a variant of [22] where ....
J. Grundy and J. Hosking. Constructing Integrated Software Development Environments with MViews. International Journal of Applied Software Technology, 2(3-4), 1996.
....will support. In the next section we describe a framework for implementing tool integration. We then describe our existing tools in more detail, and our plans for integrating them into Banquet. 3. MViews The tools we have already built are, in the main, implemented using the MViews architecture [8, 10]. MViews supports the construction of ISDEs by providing a general model for defining software system data structures and views, combined with a flexible mechanism for propagating changes between software components, views and tools. ISDE data is described as components with attributes, linked by ....
....a base data dictionary graph. Each view is rendered and edited in either a graphical or textual form. Distinct environment tools can be interfaced at the view level (as editors) via external view translators, or multiple base layers may be connected via inter view relationships, as described in [10, 13]. When a software or view component is updated, a change description is generated. This is of the form UpdateKind(UpdatedComponent, updatespecific Values . For example, an attribute update on Comp1 of attribute Name is represented as: update(Comp1, Name, OldValue, NewValue) All graph ....
[Article contains additional citation context not shown here]
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1994.
.... a diverse range of software development environment facilities, including semantic attribute recalculation, multiple views of a component, flexible, bi directional textual and graphical view consistency management, a generic undo redo mechanism, and component modification history information [6]. New software components and editing tools are constructed by reusing abstractions provided by an object oriented framework. ISDE developers specialise MViews classes to define software components, views and editing tools to produce the new environment. A persistent object store is used to store ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1994.
....as the filters and actions language, useable in all of our development tools. 4. JComposer and Serendipity II Our earlier environments such as Serendipity and SPE were built using the Snart based MViews framework, which supports the development of integrated software development environments [11]. We have subsequently reimplemented MViews, using, to produce the JViews framework. JViews is more platform independent, provides tools with better performance, and allows thirdparty tools to be more easily integrated with our systems through Java Beans component technology [12] We have also ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," International Journal of Applied Software Technology, vol. 2, no. 3-4, 1996.
....unparsing. A view is incrementally parsed to identify where text should be added, updated or deleted. Change descriptions are then unparsed, or pretty printed , into the view by modifying the affected text as appropriate. Further details on the implementation of this technique can be found in [12]. 10 4.2. Selection of Optional Update Often an inconsistency arises when a multi view editing environment can not choose between several possible options for resolving an inconsistency. This occurs in environments which translate changes between views of information of differing levels of ....
....editing inconsistency generation, propagation, presentation and interaction techniques described above, we have developed MViews, a reusable object oriented framework for building environments using these mechanisms. MViews classes are specialised to build new multi view editing environments [9, 12]. MViews is based on the CPRG model, and provides a variety of classes for implementing base information representations, multiple textual and graphical views, and multi view editors. Figure 14 illustrates the structure of SPE, built using MViews. A base layer acts as the shared information ....
[Article contains additional citation context not shown here]
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," Working Paper, Department of Computer Science, University of Waikato, 1994.
.... 75.00, 100.00) call: update balance( 25.00) dependents) reference: parent) reference: children) Figure 7: MVC style Indirect Invocation Update Description Propagation A still more general approach is the propagation of reified updates to relationship objects (Grundy and Hosking 1993a; Grundy and Hosking 1994). This is similar to the dependency model described in the previous subsection, as each object stores a list of relationship objects representing the relationships in which they participate. Whenever a participating object receives an event or is updated, rather than simply sending a message to ....
Grundy, J. C. and J. G. Hosking (1994). Constructing integrated software development environments with dependency graphs.
.... process modelling tools [1, 6] and collaborative work tools [35, 4] In this paper, we report on the Banquet tool integration project [12] which aims to build upon our earlier tool development and integration work [7, 13] Many of our earlier tools were implemented in an object oriented Prolog [13, 14]. These tools suffered from development and modification overheads, performance problems and lack of sufficiently open architectures. Our initial approach to correcting these faults was to port the Banquet tools and their underlying architecture to C [12, 16] Unfortunately, our C prototypes ....
....framework to allow a wide range of software development tools to be effectively integrated. We want to effectively integrate tools developed using our own meta CASE tools and also third party tools. We have produced many software development tools using MViews, the Prolog based framework [14]. MViews provides abstractions for building multiple view, multi user environments, with a novel consistency management mechanism. Figure 1. Example of SPE Serendipity integrated environment in use. Systems built using MViews include: SPE (Snart Programming Environment . 7] a multi phase ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," International Journal of Applied Software Technology, vol. 2, no. 3-4, 133-160, 1996.
....improvements to the efficiency of the filter action models, which are currently interpreted, so they can be more extensively used in large workflow based systems. Serendipity is currently implemented using the MViews Prolog based architecture for building multi view, multi user editing tools [17]. We are currently porting Serendipity to JViews, a Java based successor to MViews [18] The filter action language from Serendipity has been reimplemented as a stand alone tool for processing events from JViews components, and is part of Page 8 the JComposer componentware environment for ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," International Journal of Applied Software Technology, Vol 2, No. 3/4, 1996.
....BuildByWire visual components, editors and third part Java Beans to generate substantially complete multiple view environments. 1. Introduction In recent work we have developed a wide range of multi view editing systems, including User Interface builders [Mugridge et al. 1996, Hosking et al. 1995, Grundy et al. 1996a] CASE tools [Grundy and Hosking 1996] Software Engineering Environments [Grundy et al. 1995] CAD CAM systems [Amor et al. 1995] Groupware tools [Grundy et al. 1996b] and process modelling environments [Grundy et al. 1996b, Grundy and Hosking 1996] For example, Figure 1 shows an example from ....
....and third part Java Beans to generate substantially complete multiple view environments. 1. Introduction In recent work we have developed a wide range of multi view editing systems, including User Interface builders [Mugridge et al. 1996, Hosking et al. 1995, Grundy et al. 1996a] CASE tools [Grundy and Hosking 1996], Software Engineering Environments [Grundy et al. 1995] CAD CAM systems [Amor et al. 1995] Groupware tools [Grundy et al. 1996b] and process modelling environments [Grundy et al. 1996b, Grundy and Hosking 1996] For example, Figure 1 shows an example from SPE Serendipity [Grundy et al., 1996b] ....
[Article contains additional citation context not shown here]
Grundy, J.C., and Hosking, J.G., Constructing Integrated Software Development Environments with MViews, International Journal of Applied Software Technology, International Academic Publishing Company, Vol. 2, No. 3/4, 1996.
....to static and dynamic program visualisation, and indicate directions for further research. 3. MViews and CernoII Our first attempt at static program visualisation of an event based software system was with the MViews framework. MViews is a framework for building multiple view editing tools [20]. It is based on the Change Propagation and Response Graph (CPRG) software architecture, an event and component based architecture for maintaining consistency between interdependent software components [19] CPRGs, and thus MViews framework class specialisations, consist of components and ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," International Journal of Applied Software Technology, vol. 2, no. 3-4, 133-160, 1996.
.... stack: pushMethod view that the items attribute should be renamed to stack items in the method implementation code. These changes are relatively easy for SPE to implement, as the Object Z specifications or Snart code can be parsed and the changes incrementally unparsed into the view text (see [11] for details of this process) Our Object Z syntax allows SPE to incrementally parse a view and locate information needing to be updated. SPE can then replace, for example, old argument names with their new names. A similar approach works for adding or deleting attributes, methods and method ....
....operators; and visibility information (not currently supported by the Snart language) Figure 10. Inter object operation application and consistency with implementation code. 5. Architecture and Implementation SPE is implemented as a collection of classes, specialised from the MViews framework [9, 11]. MViews supports the construction of Integrated Software Development Environments (ISDEs) by providing a general model for defining software system data structures and tool views, with a flexible mechanism for propagating changes between software components, views and distinct software ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1994.
....started or finished. Notification is, by default, via an e mail like message, but users can specify, via dialogue box, they wish to be informed in other ways, sych as by opening a dialog on the coders screen, shading the m1.2:implement changes stage icon to indicate presence of a message, etc (Grundy et al. 1996a) The righthand event flow from m1.3 notifies coders if testing has finished in either the fix code , fix design or finished testing states. The coders are again only notified if the m1.2 stage has not completed. Notify Role , Made Current and Not Complete are reusable (system defined) ....
....process model views may be shared amongst developers and synchronously, semisynchronously or asynchronously edited. Serendipity has also been integrated with several small CSCW tools which provide work context dependent notes, messaging and text chats to facilitate inter person communication (Grundy et al. 1996b) To collaborate effectively on a large project, users need higher level awareness support in addition to the low level messaging, communication and view editing mechanisms (Grundy et al. 1996b) Serendipity provides information about the work contexts of their collaborators in a high level, ....
[Article contains additional citation context not shown here]
Grundy, J.C. and Hosking, J.G. 1996. Constructing Integrated Software Development Environments with MViews, International Journal of Applied Software Technology, vol. 2, no. 3-4, pp. 133-160.
....classes. An additional reason for using change description objects, rather than constraints or traditional model view change notification, is the homogeneous solution change descriptions provide for inconsistency management, tracking and versioning component changes, and collaboration support [29, 30]. Change description storage supports the formation of modification histories which track changes that components have undergone. In the Serendipity process modelling environment we also associate groups of change descriptions from software artefacts with enacted process stages, showing the ....
....used these frameworks and generator to construct several exemplar development tools and environments exhibiting a range of inconsistency management facilities. 4.2.1. MViews and Serendipity Our first realisation of CPRGs was the MViews class framework for building multi view editing environments [30]. We chose an OO framework approach to enable tool developers to reuse the basic CPRG functionality via inheritance and composition of CPRG implementing classes, and then extend this basic functionality for use in their own tools by writing additional, application specific code. We built a range ....
[Article contains additional citation context not shown here]
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," International Journal of Applied Software Technology, vol. 2, no. 3-4, 133-160, 1996.
.... implementation and maintenance of programs in Snart, an object oriented logic language [16] Other environments developed using MViews include an ER (Entity Relationship) modeller for the database domain, and a graphical forms builder for specifying form layout and semantics for GUI applications [17]. Although developed as a framework for supporting conventional software development, the application of MViews to the development of EPE is a natural one. The most important concepts embodied in the MViews framework and SPE carry over to 5 other domains, including PDT, where analysis, design, ....
J.C. Grundy and J.G. Hosking, Constructing integrated software development environments with dependency graphs, University of Waikato, Department of Computer Science, Report No 94/4, (1994).
....of the other tools. User and or tool designer definition of additional inter tool dependency links. Thus far, this method is mostly manual, but makes use of a framework and an extensive library of classes for the implementation of integrated CASE tool environments which support multiple notations [2, 4]. However, we are designing an integrated MetaCASE environment for the specification and generation of integrated CASE tool environments, which will support the development approach described in this paper. Page 2 EER Data Model OOA D Data Model DFD Data Model Entity Object Commonalities ....
....not identify all dependencies in need of support. Tool integrators need to identify additional dependencies and decide on the dynamic nature of the mappings. Finally, the dynamic links mappings are implemented using the link constructs provided within our CASE tool implementation framework, MViews [2, 4]. The constructs provided in the library of MViews links basically reflect the dynamic nature described above. Currently, identification of links and decision making about their dynamic nature is accomplished manually. Our MetaCASE environment will support these activities by using data stored by ....
[Article contains additional citation context not shown here]
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1994.
....the determined work context visualisation. We have found the determined work context information for a stage to be very useful for restructuring and refining process models. 8. Implementation and Experience SPE and Serendipity were developed by reusing the MViews framework for constructing ISDEs [17]. MViews provides a general model for defining software system data structures and tool views, with a flexible mechanism for propagating changes between software components, views and tools. ISDE data is described by components with attributes, linked by a variety of relationships. When a ....
Grundy, J.C. and Hosking, J.G. Constructing Integrated Software Development Environments with MViews, International Journal of Applied Software Technology , vol. 2, no. 3-4, 1996.
....5. Architecture and Implementation Serendipity itself has no built in tools for performing work, and so must be combined with software development tools, such as SPE, or office automation tools. SPE and Serendipity were developed by reusing the MViews framework for constructing ISDEs [6, 7, 11]. MViews provides a general model for defining software system data structures and tool views, with a flexible mechanism for propagating changes between software components, views and tools. ISDE data is described by components with attributes, linked by a variety of relationships. Multiple ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1995.
....which variable should be passed as an argument ( line indicates the argument type only) This change must be manually implemented by the programmer, but the ViTABaL at least indicates this manual change is required. 5. Implementation ViTABaL is implemented by specialising the MViews framework [7, 8]. MViews provides a collection of object oriented classes written in Snart, an objectoriented Prolog [15] These classes provide abstractions for specifying data repositories to represent language structure and semantics, multiple textual and graphical views of language structures, and editors for ....
....mechanisms. These allow some view updates to be automatically applied to graphical and textual views by the environment. Other changes which can not be automatically carried out are presented to programmers as change descriptions. Users manually implement these changes to restore view consistency [8]. For efficiency, ViTABaL adopts a compilation approach and translates ViTABaL programs into Snart programs. These can be efficiently executed, with generated code being almost as efficient as hand generated Snart programs. The process of translating a ViTABaL program into a Snart program is ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1994.
....system graph structure. Each view is rendered and edited in either a graphical or textual form. Distinct environment tools can be interfaced at the view level (as editors) via external view translators, or multiple base layers may be connected via inter view relationships, as described in (Grundy, 1994). When a software or view component is updated, a change description is generated. This is of the form UpdateKind(UpdatedComponent, UpdateKind specific Values. For example, an attribute update on Comp1 of attribute Name is represented as: update(Comp1,Name,OldValue,NewValue) All basic ....
Grundy, J.C. and Hosking (1994) J.G., Constructing Integrated Software Development Environments with Dependency Graphs, Working Paper, Department of Computer Science, University of Waikato.
.... 75.00, 100.00) call: update balance( 25.00) dependents) reference: parent) reference: children) Figure 7: MVC style Indirect Invocation Update Description Propagation A still more general approach is the propagation of reified updates to relationship objects (Grundy and Hosking 1993a; Grundy and Hosking 1994). This is similar to the dependency model described in the previous subsection, as each object stores a list of relationship objects representing the relationships in which they participate. Whenever a participating object receives an event or is updated, rather than simply sending a message to ....
....directly to other, related objects. They can also be grouped into transactions of related sequences of updates, stored to document changes objects have undergone, reversed to support undo and abort mechanisms, and can be used to drive efficient, incremental constraint and calculation mechanisms (Grundy and Hosking 1994). Figure 8 shows the propagation of update descriptions between objects. As long as objects utilise a standard set of descriptions, this approach is very general. It is very easy to build up libraries of generic, reusable relationship objects which support aggregation, constraints and transactions ....
Grundy, J. C. and J. G. Hosking (1994). Constructing integrated software development environments with dependency graphs.
....We present several of our approaches to solving this problem in two application areas: the design of buildings and large software systems. 2. MVIEWS MViews is a framework for constructing Integrated Software Development Environments (ISDEs) which support multiple textual and graphical views [8, 9]. MViews provides a general model for defining software system data structures and tool views, and a flexible mechanism for propagating changes between software components, views and tools. ISDE data is described by components with attributes, linked by a variety of relationships. Multiple views ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with Dependency Graphs," Working Paper, Department of Computer Science, University of Waikato, 1995.
....so must be combined with development tools, such as SPE. With SPE and Serendipity providing complementary facilities, we attempted to integrate these environments, as described in this section. 5.1. MViews SPE and Serendipity were developed by reusing the MViews framework for constructing ISDEs [9, 11]. MViews provides a general model for defining software system data structures and tool views, with a flexible mechanism for propagating changes between software components, views and tools. ISDE data is described by components with attributes, linked by a variety of relationships. Multiple views ....
....to coordinate their use. Serendipity, and other MViews environments, can be integrated with other software engineering tools, provided those tools provide some message based external interfaces for MViews to interact with (via translating MViews change descriptions to from external tool events [11]) As suggested by Verrart and Wright [40] this message based integration allows existing tools Page 16 to be integrated, to varying degrees, without modifying them. SPE Serendipity illustrates how effectively an ISDE and PCE can be tightly integrated in this way. We have used SPE Serendipity ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews" Working Paper, Department of Computer Science, University of Waikato, 1994.
....as the filters and actions language, useable in all of our development tools. 4. JComposer and Serendipity II Our earlier environments such as Serendipity and SPE were built using the Snart based MViews framework, which supports the development of integrated software development environments [11]. We have subsequently reimplemented MViews, using Java, to produce the JViews framework. JViews is more platform independent, provides tools with better performance, and allows thirdparty tools to be more easily integrated with our systems through Java Beans component technology [12] We have ....
Grundy, J.C. and Hosking, J.G., "Constructing Integrated Software Development Environments with MViews," International Journal of Applied Software Technology, vol. 2, no. 3-4, 1996.
No context found.
John C. Grundy and John G. Hosking. Constructing integrated software development environments with MViews. International Journal of Applied Software Technology, 2(3/4):133--160, 1997.
No context found.
Grundy, J. C., Hosking, J. G.: "Constructing Integrated Software Development Environments with MViews," Journal of Applied Software Technology, 2(3/4), pp. 133-160, 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC