622 research outputs found

    Design: One, but in different forms

    Full text link
    This overview paper defends an augmented cognitively oriented generic-design hypothesis: there are both significant similarities between the design activities implemented in different situations and crucial differences between these and other cognitive activities; yet, characteristics of a design situation (related to the design process, the designers, and the artefact) introduce specificities in the corresponding cognitive activities and structures that are used, and in the resulting designs. We thus augment the classical generic-design hypothesis with that of different forms of designing. We review the data available in the cognitive design research literature and propose a series of candidates underlying such forms of design, outlining a number of directions requiring further elaboration

    Source Code Matching for Reuse of Formal Specifications

    Get PDF
    Although Software Verification technology is rapidly advancing, the process of formally specifying the intended behaviour of a program can still be difficult and time consuming as the program increases in size and complexity. In this project we focus on the source code matching module of ArĂ­s (Analogical Reasoning for reuse of Implementation & Specification) platform in which we aim to increase the number of verified programs by reducing the effort of writing specifications. Our approach promotes the advantages of code reuse and the possibility of transferring specifications between similar implementations. In order to effectively compare two source code files we represent them using Conceptual Graphs that allow us to explore the semantic content of the code while also analysing its structural properties using graph-based techniques. For comparing two conceptual graphs, we propose to use an incremental matching algorithm based on IAM (the Incremental Analogy Machine (Keane, et al., 1994)) and find the best mapping between isomorphic (exact matches) or homomorphic (non-identical) sub-graphs. We further develop analogical inferences from the acquired mapping using the CWSG (Copy With Substitution and Generation) algorithm for pattern completion and generate new specifications into our target/problem code. Finally, we present our evaluation and show that between structurally similar programs, the formal specifications can be fully transferred and successfully verified. Our overall results are very encouraging and clearly show the potential of reusing formal specifications in creating more dependable software systems

    A Cognitive Comparison of Modeling Behaviors Between Novice and Expert Information Analysts

    Get PDF
    Empirical research into the novice-expert differences in information requirement analysis has recognized that the differences in knowledge and in modeling behaviors are the causes of differences in quality of requirement specifications. However, there is no cognitive process model available for explaining the interactions among the three factors: knowledge, modeling behaviors, and the quality of requirement specifications. On the basis of structure-mapping model of analogy, this article proposes a cognitive process model that views information requirement analysis as a process of conceptual mapping from the base structures (i.e., the knowledge structures of requirement analysis techniques) to the target structures (i.e., the knowledge structures of users’ problem statements). Due to the differences in knowledge, novice and expert information analysts use different types of cognitive processes, relation mapping by experts versus object-attribute mapping by novices, to model information requirements. The different cognitive processes lead to different modeling behaviors, and in turn the different modeling behaviors finally result in different qualities of requirement specifications. On the basis of the cognitive process model, two ways to improve the performance of novice information analysts are suggested: encouraging novice information analysts to think in terms of relations rather than objectattributes and providing domain-specific requirement analysis techniques that are similar to the problem domains in both relations and object-attributes
    • …
    corecore