2 research outputs found

    A Web-Integrated Environment for Component-Based Software Reasoning

    Get PDF
    This thesis presents the Web IDE, a web-integrated environment for component-based software reasoning. The Web IDE is specifically tailored to emphasize the relationships among various components in component-based software engineering (CBSE) and to facilitate reasoning. It allows students to use RESOLVE, a component-based, integrated specification and programming language, to build components and systems, providing real-time feedback that can be used to reason about the correctness of their component implementations. Real-time interaction and relationship focused component presentation reinforces CBSE and reasoning principles in a way not possible with traditional programming exercises and file management systems. The Web IDE has gone through several stages of development, getting feedback from users and adding new functionality at each step. It has kept pace with web browser development by incorporating bowser features, such as the file API and local storage, to provide enhanced functionality to users. Several undergraduate software engineering courses at Clemson and elsewhere have successfully used the Web IDE for both reasoning and team-based component development exercises, demonstrating the robust and useful nature of the Web IDE

    Specification And Mechanical Verification Of Performance Profiles Of Software Components

    Get PDF
    Software performance predictability is vital to a system design and unpredictable performance is a leading cause of software failure. The emphasis of this dissertation is on verification that component-based software performs as specified. Performance profiles (specifications) depend on functional specifications and are necessary for all components for modular verification. Modular verification process is scalable because it uses profiles as contracts and allows verification of a single component in isolation with the assumption that any underlying component would have already been verified or will be verified to meet its specifications independently. This dissertation presents an integration of performance specification (profiles) with functional specifications within a single language. It contains a mechanizable and modular proof system to verify the performance bounds of reusable software components built reusing other components. The proof system forms the basis for a prototype verification condition (VC) generator. Experimentation with the VC generator illustrates that software component performance can be formally specified and verified. This dissertation discusses only duration (timing) aspect of performance, but the results can be extended to include space constraints
    corecore