7,387 research outputs found

    Component Composition in Business and System Modelling

    Get PDF
    Bespoke development of large business systems can be couched in terms of the composition of components, which are, put simply, chunks of development work. Design, mapping a specification to an implementation, can also be expressed in terms of components: a refinement comprising an abstract component, a concrete component and a mapping between them. Similarly, system extension is the composition of an existing component, the legacy system, with a new component, the extension. This paper overviews work being done on a UK EPSRC funded research project formulating and formalizing techniques for describing, composing and performing integrity checks on components. Although the paper focuses on the specification and development of information systems, the techniques are equally applicable to the modeling and re-engineering of businesses, where no computer system may be involved

    Formal Reasoning Using an Iterative Approach with an Integrated Web IDE

    Full text link
    This paper summarizes our experience in communicating the elements of reasoning about correctness, and the central role of formal specifications in reasoning about modular, component-based software using a language and an integrated Web IDE designed for the purpose. Our experience in using such an IDE, supported by a 'push-button' verifying compiler in a classroom setting, reveals the highly iterative process learners use to arrive at suitably specified, automatically provable code. We explain how the IDE facilitates reasoning at each step of this process by providing human readable verification conditions (VCs) and feedback from an integrated prover that clearly indicates unprovable VCs to help identify obstacles to completing proofs. The paper discusses the IDE's usage in verified software development using several examples drawn from actual classroom lectures and student assignments to illustrate principles of design-by-contract and the iterative process of creating and subsequently refining assertions, such as loop invariants in object-based code.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338

    Towards an Interactive Learning Environment for Object-Z

    Get PDF
    We have been engaged in research towards designing a software system called LOZ for learning the object oriented formal specification notation Object-Z. Initially, we conducted a survey to analyse the effectiveness of traditional methodologies for learning Z notation. In LOZ, the semi-formal model UML is used in the intermediate phase between informal textual description and formal Object-Z description. We also employ a refinement unit that produces code from the specification. Based on the cognitive apprenticeship approach, we employ a four-phase instructional model in our system. Persuading the learners to be partially responsible for their own model and allowing them to decide their own levels of control over the learning process are key features of our system

    [Subject benchmark statement]: computing

    Get PDF

    Proceedings of the Second Program Visualization Workshop, 2002

    Get PDF
    The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark

    Computational Visualistics: Dealing with Pictures in Computer Science

    Get PDF
    Building blocks from many disciplines have to be integrated into a general science of images. Computational visualistics has been formed as a contributing field embracing all aspects of dealing with images computationally. Two basic concepts of computer science are introduced. Applied to the concept "image", they determine the methodological core of computational visualistics. As the contribution of computer science to the subject of image theory, interactive pictures are examined. Finally, relations to other "image sciences" are sketched. * * * Bausteine vieler Disziplinen müssen in eine allgemeine Bildwissenschaft integriert werden. Als Beitrag aus der Informatik versteht sich die Computervisualistik, die alle Aspekte rechnergestützten Umgangs mit Bildern umfaßt. Zwei Grundbegriffe der Informatik werden vorgestellt und bestimmen, auf den Begriff "Bild" angewendet, den methodologischen Kern der Computervisualistik. Als Beitrag der Informatik zum Gegenstand der Bildtheorie werden interaktive Bilder betrachtet. Schließlich werden die Beziehungen zu anderen "Bildwissenschaften" kurz umrissen

    Visual iconic object-oriented programming to advance computer science education and novice programming

    Get PDF
    Learning how to program a computer is difficult for most people. Computer programming is a cognitively challenging, time consuming, labor intensive, and frustrating endeavor. Years of formal study and training are required to learn a programming language\u27s world of algorithms and data structures. Instructions are coded in advance before the computer demonstrates the desired behavior. Seeing all the programming steps and instruction code is complicated. There exists a tremendous gap between the representations the human brain uses when thinking about a problem and the representations used in programming a computer. Often people are much better at dealing with specific, concrete objects than working with abstract ideas. Concrete and specific programming examples and demonstrations can be very useful. When cleverly chosen and properly used, programming examples and demonstrations help people understand the abstract concepts. Programming by example or demonstration attempts to extend these novel ideas to novice programming
    corecore