29,575 research outputs found

    The Knowledge-Based Software Assistant: Beyond CASE

    Get PDF
    This paper will outline the similarities and differences between two paradigms of software development. Both support the whole software life cycle and provide automation for most of the software development process, but have different approaches. The CASE approach is based on a set of tools linked by a central data repository. This tool-based approach is data driven and views software development as a series of sequential steps, each resulting in a product. The Knowledge-Based Software Assistant (KBSA) approach, a radical departure from existing software development practices, is knowledge driven and centers around a formalized software development process. KBSA views software development as an incremental, iterative, and evolutionary process with development occurring at the specification level

    Object linking in repositories

    Get PDF
    This topic is covered in three sections. The first section explores some of the architectural ramifications of extending the Eichmann/Atkins lattice-based classification scheme to encompass the assets of the full life cycle of software development. A model is considered that provides explicit links between objects in addition to the edges connecting classification vertices in the standard lattice. The second section gives a description of the efforts to implement the repository architecture using a commercially available object-oriented database management system. Some of the features of this implementation are described, and some of the next steps to be taken to produce a working prototype of the repository are pointed out. In the final section, it is argued that design and instantiation of reusable components have competing criteria (design-for-reuse strives for generality, design-with-reuse strives for specificity) and that providing mechanisms for each can be complementary rather than antagonistic. In particular, it is demonstrated how program slicing techniques can be applied to customization of reusable components

    DIDET: Digital libraries for distributed, innovative design education and teamwork. Final project report

    Get PDF
    The central goal of the DIDET Project was to enhance student learning opportunities by enabling them to partake in global, team based design engineering projects, in which they directly experience different cultural contexts and access a variety of digital information sources via a range of appropriate technology. To achieve this overall project goal, the project delivered on the following objectives: 1. Teach engineering information retrieval, manipulation, and archiving skills to students studying on engineering degree programs. 2. Measure the use of those skills in design projects in all years of an undergraduate degree program. 3. Measure the learning performance in engineering design courses affected by the provision of access to information that would have been otherwise difficult to access. 4. Measure student learning performance in different cultural contexts that influence the use of alternative sources of information and varying forms of Information and Communications Technology. 5. Develop and provide workshops for staff development. 6. Use the measurement results to annually redesign course content and the digital libraries technology. The overall DIDET Project approach was to develop, implement, use and evaluate a testbed to improve the teaching and learning of students partaking in global team based design projects. The use of digital libraries and virtual design studios was used to fundamentally change the way design engineering is taught at the collaborating institutions. This was done by implementing a digital library at the partner institutions to improve learning in the field of Design Engineering and by developing a Global Team Design Project run as part of assessed classes at Strathclyde, Stanford and Olin. Evaluation was carried out on an ongoing basis and fed back into project development, both on the class teaching model and the LauLima system developed at Strathclyde to support teaching and learning. Major findings include the requirement to overcome technological, pedagogical and cultural issues for successful elearning implementations. A need for strong leadership has been identified, particularly to exploit the benefits of cross-discipline team working. One major project output still being developed is a DIDET Project Framework for Distributed Innovative Design, Education and Teamwork to encapsulate all project findings and outputs. The project achieved its goal of embedding major change to the teaching of Design Engineering and Strathclyde's new Global Design class has been both successful and popular with students

    The added value of implementing the Planet Game scenario with Collage and Gridcole

    Get PDF
    This paper discusses the suitability and the added value of Collage and Gridcole when contrasted with other solutions participating in the ICALT 2006 workshop titled “Comparing educational modelling languages on a case study.” In this workshop each proposed solution was challenged to implement a Computer-Supported Collaborative Learning situation (CSCL) posed by the workshop’s organizers. Collage is a pattern-based authoring tool for the creation of CSCL scripts compliant with IMS Learning Design (IMS LD). These IMS LD scripts can be enacted by the Gridcole tailorable CSCL system. The analysis presented in the paper is organized as a case study which considers the data recorded in the workshop discussion as well the information reported in the workshop contributions. The results of this analysis show how Collage and Gridcole succeed in implementing the scenario and also point out some significant advantages in terms of design reusability and generality, user-friendliness, and enactment flexibility

    Generating target system specifications from a domain model using CLIPS

    Get PDF
    The quest for reuse in software engineering is still being pursued and researchers are actively investigating the domain modeling approach to software construction. There are several domain modeling efforts reported in the literature and they all agree that the components that are generated from domain modeling are more conducive to reuse. Once a domain model is created, several target systems can be generated by tailoring the domain model or by evolving the domain model and then tailoring it according to the specified requirements. This paper presents the Evolutionary Domain Life Cycle (EDLC) paradigm in which a domain model is created using multiple views, namely, aggregation hierarchy, generalization/specialization hierarchies, object communication diagrams and state transition diagrams. The architecture of the Knowledge Based Requirements Elicitation Tool (KBRET) which is used to generate target system specifications is also presented. The preliminary version of KBRET is implemented in the C Language Integrated Production System (CLIPS)

    A conceptual model for megaprogramming

    Get PDF
    Megaprogramming is component-based software engineering and life-cycle management. Magaprogramming and its relationship to other research initiatives (common prototyping system/common prototyping language, domain specific software architectures, and software understanding) are analyzed. The desirable attributes of megaprogramming software components are identified and a software development model and resulting prototype megaprogramming system (library interconnection language extended by annotated Ada) are described

    Ontological Representations of Software Patterns

    Full text link
    This paper is based on and advocates the trend in software engineering of extending the use of software patterns as means of structuring solutions to software development problems (be they motivated by best practice or by company interests and policies). The paper argues that, on the one hand, this development requires tools for automatic organisation, retrieval and explanation of software patterns. On the other hand, that the existence of such tools itself will facilitate the further development and employment of patterns in the software development process. The paper analyses existing pattern representations and concludes that they are inadequate for the kind of automation intended here. Adopting a standpoint similar to that taken in the semantic web, the paper proposes that feasible solutions can be built on the basis of ontological representations.Comment: 7 page
    corecore