9 research outputs found

    A Declarative Approach to Visualizing Concurrent Computations

    Get PDF

    Visualisation for validation

    Full text link
    Animation is a multiple graphical view of a process in action. Animation has been successfully employed in programming for designing, developing and debugging programs or monitoring their performance. This paper advocates that many benefits can be accrued from the use of visualisation techniques for the purpose of validating conceptual specifications during Requirements Engineering. To this end, the paper describes a visualisation system which makes use of three interrelated conceptual models and their metamodel represented uniformly in a repository and an animation algorithm which generates graphical views corresponding to the behaviour of an application domain as specified by the conceptual models

    Validation of Formal Specifications through Transformation and Animation

    Get PDF
    International audienceA significant impediment to the uptake of formal refinement-based methods among practitioners is the challenge of validating that the formal specifications of these methods capture the desired intents. Animation of specifications is widely recognized as an effective way of addressing such validation. However, animation tools are unable to directly execute (and thus animate) the typical uses of several of the specification constructs often found in ideal formal specifications. To address this problem we have developed transformation heuristics that, starting with an ideal formal specification, guide its conversion into an animatable form. We show several of these heuristics, and address the need to prove that the application of these transformations preserves the relevant behavior of the original specification. Portions of several case studies illustrate this approac

    GRASP/Ada (Graphical Representations of Algorithms, Structures, and Processes for Ada): The development of a program analysis environment for Ada. Reverse engineering tools for Ada, task 1, phase 2

    Get PDF
    The study, formulation, and generation of structures for Ada (GRASP/Ada) are discussed in this second phase report of a three phase effort. Various graphical representations that can be extracted or generated from source code are described and categorized with focus on reverse engineering. The overall goal is to provide the foundation for a CASE (computer-aided software design) environment in which reverse engineering and forward engineering (development) are tightly coupled. Emphasis is on a subset of architectural diagrams that can be generated automatically from source code with the control structure diagram (CSD) included for completeness

    GRASP/Ada: Graphical Representations of Algorithms, Structures, and Processes for Ada. The development of a program analysis environment for Ada: Reverse engineering tools for Ada, task 2, phase 3

    Get PDF
    The main objective is the investigation, formulation, and generation of graphical representations of algorithms, structures, and processes for Ada (GRASP/Ada). The presented task, in which various graphical representations that can be extracted or generated from source code are described and categorized, is focused on reverse engineering. The following subject areas are covered: the system model; control structure diagram generator; object oriented design diagram generator; user interface; and the GRASP library

    Teaching for transfer of assembly language concepts to C programming using computer-based instruction and traditional instruction

    Get PDF
    The aim of teaching assembly language in a computer application course is to introduce students to abstract concepts before delving into programming details. For a novice, it is difficult to understand and learn assembly language in a short amount of time. Hence, the use of a series of computer-based programs may be helpful. Based on this perspective, a computer-based assembly language program LEARNIT was designed to establish a meaningful introduction for students to programming;The purpose of this study was twofold: (1) to evaluate the effectiveness of using computer-based instruction in learning assembly language at the undergraduate level and (2) to investigate whether learning assembly language by two instructional methods (traditional lecture/demonstration/ practice vs. computer-based instruction) was transferred to writing programs in the C language to the same degree;Forty-nine subjects participated in this study. The experimental group consisted of 25 subjects who received instruction on assembly language using the computer-based program LEARNIT. The control group consisted of 24 subjects who received instruction on assembly language using live instruction (traditional lecture/demonstration/practice);Three types of instruments were designed to measure student\u27s knowledge regarding the computer organization, assembly language, and the ability to program in C language. The results revealed that the subjects\u27 performance on a test covering assembly language was not affected by the instructional method (traditional lecture vs. computer-based instruction) in which they participated. Also, the subjects\u27 performance on a test covering the C language was not affected by the prior learning of assembly language between the experimental and control groups

    Performance monitoring and analysis environment for distributed memory MIMD programs

    Get PDF

    The development of a program analysis environment for Ada: Reverse engineering tools for Ada

    Get PDF
    The Graphical Representations of Algorithms, Structures, and Processes for Ada (GRASP/Ada) has successfully created and prototyped a new algorithm level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and thus improve reliability and reduce costs. The emphasis was on the automatic generation of the CSD from Ada source code to support reverse engineering and maintenance. The CSD has the potential to replace traditional prettyprinted Ada source code. In Phase 1 of the GRASP/Ada project, the CSD graphical constructs were created and applied manually to several small Ada programs. A prototype (Version 1) was designed and implemented using FLEX and BISON running under the Virtual Memory System (VMS) on a VAX 11-780. In Phase 2, the prototype was improved and ported to the Sun 4 platform under UNIX. A user interface was designed and partially implemented. The prototype was applied successfully to numerous Ada programs ranging in size from several hundred to several thousand lines of source code. In Phase 3 of the project, the prototype was prepared for limited distribution (GRASP/Ada Version 3.0) to facilitate evaluation. The user interface was extensively reworked. The current prototype provides the capability for the user to generate CSD from Ada source code in a reverse engineering mode with a level of flexibility suitable for practical application

    The Spectrum Simulation System: A Formal Approach to Distributed Algorithm Development Tools

    Get PDF
    Introduction to Occam Programming. INMOS, Limited, March 1986. [31] Gruia-Catalin Roman and Kenneth C. Cox. A declarative approach to visualizing concurrent computations. IEEE Computer, 22(10):25--36, October 1989. [32] Robert W. Scheifler and Jim Gettys. The X window system. Technical Report MIT/LCS/TR368, MIT Laboratory for Computer Science, October 1986. [33] Jennifer Welch, Leslie Lamport, and Nancy Lynch. A lattice-structured proof of a minimum spanning tree algorithm. In Proceedings of the 7th ACM SIGACT--SIGOPS Symposium on Principles of Distributed Computing, pages 28--43, August 1988. [34] Jennifer L. Welch and Nancy A. Lynch. Synthesis of efficient drinking philosophers algorithms. Technical Report MIT/LCS/TM-417, MIT Laboratory for Computer Science, November 1989. Submitted for publication. [35] Bernard P. Zeigler. Hierarchical, modular discrete-event modelling in an object-oriented environment. Simulation, 49(5):219-
    corecore