454 research outputs found

    Mentoring Mentors in Cooperative Software Engineering Education Programmes

    Get PDF
    Cooperative programmes are principally partnerships between academia and industry to deliver education partly on campus and partly in the workplace. Mentors in the workplace are crucial in such cooperative programmes as they scaffold appropriate development activities for students. A workplace mentor in this situation is important not only for the development of detailed technical knowledge, but also in the development of software engineering skills that are almost never in fact taught in higher education, e.g. navigating large, neglected code bases. Consequently, workplace mentors are a key component of any high-quality education programme delivered in partnership with industry. However, higher education institutions and enterprises not only need to appreciate the importance of mentors in such schemes, but also ensure such staff are supported to use their experience to increase their skill as a mentor. Mentors need the space and support to reflect on their own practice, develop skills and attain new knowledge. In this sense, the challenge is not dissimilar to that faced by computing science school teachers that need to continually consider their own practice as well as have the time to consider emerging programming languages and frameworks. Many of the structures and existing research on how to support computing science school teachers could be adapted to support these workplace mentors, e.g. support groups. In this poster, we present initial research and models for mentoring mentors in cooperative software engineering programmes. The aim is to share initial work, receive feedback and to connect with potential collaborators

    Towards cooperative software verification with test generation and formal verification

    Get PDF
    There are two major methods for software verification: testing and formal verification. To increase our confidence in software on a large scale, we require tools that apply these methods automatically and reliably. Testing with manually written tests is widespread, but for automatically generated tests for the C programming language there is no standardized format. This makes the use and comparison of automated test generators expensive. In addition, testing can never provide full confidence in software—it can show the presence of bugs, but not their absence. In contrast, formal verification uses established, standardized formats and can prove the absence of bugs. Unfortunately, even successful formal-verification techniques suffer from different weaknesses. Compositions of multiple techniques try to combine the strengths of complementing techniques, but such combinations are often designed as cohesive, monolithic units. This makes them inflexible and it is costly to replace components. To improve on this state of the art, we work towards an off-the-shelf cooperation between verification tools through standardized exchange formats. First, we work towards standardization of automated test generation for C. We increase the comparability of test generators through a common benchmarking framework and reliable tooling, and provide means to reliably compare the bug-finding capabilities of test generators and formal verifiers. Second, we introduce new concepts for the off-the-shelf cooperation between verifiers (both test generators and formal verifiers). We show the flexibility of these concepts through an array of combinations and through an application to incremental verification. We also show how existing, strongly coupled techniques in software verification can be decomposed into stand-alone components that cooperate through clearly defined interfaces and standardized exchange formats. All our work is backed by rigorous implementation of the proposed concepts and thorough experimental evaluations that demonstrate the benefits of our work. Through these means we are able to improve the comparability of automated verifiers, allow the cooperation between a large array of existing verifiers, increase the effectiveness of software verification, and create new opportunities for further research on cooperative verification

    REMOTE-LECTURE COOPERATIVE SOFTWARE SYSTEM FOR THE COMPUTER-INTEGRATED CLASSROOM

    Get PDF

    Mobile support in CSCW applications and groupware development frameworks

    No full text
    Computer Supported Cooperative Work (CSCW) is an established subset of the field of Human Computer Interaction that deals with the how people use computing technology to enhance group interaction and collaboration. Mobile CSCW has emerged as a result of the progression from personal desktop computing to the mobile device platforms that are ubiquitous today. CSCW aims to not only connect people and facilitate communication through using computers; it aims to provide conceptual models coupled with technology to manage, mediate, and assist collaborative processes. Mobile CSCW research looks to fulfil these aims through the adoption of mobile technology and consideration for the mobile user. Facilitating collaboration using mobile devices brings new challenges. Some of these challenges are inherent to the nature of the device hardware, while others focus on the understanding of how to engineer software to maximize effectiveness for the end-users. This paper reviews seminal and state-of-the-art cooperative software applications and development frameworks, and their support for mobile devices

    mobile for emergencies m4em a cooperative software tool for emergency management operations

    Get PDF
    Abstract In serious emergencies, as in the case of floods and extreme weather conditions, where a substantial number of people are involved and over vast areas which may also involve different provinces, currently civil protection planning carries on emergency management operations within rigid schemes. A procedure that would be capable of handling events acquiring data continuously and developing real time solutions in a highly flexible manner has not yet been proposed. This research focuses on how the systematization of information systems and communication processes can improve the management of emergencies caused by extreme weather and climate events. The objectives of improved service, levels of safety and sustainability of the intervention in emergencies would be obtained through a centralized decision support system. The system and tools that are presented in this paper aim to respond to emergency issues dynamically responding to the dynamics of the events by taking advantage of an information system capable of sharing data, notifications, service orders, appeals for help, information on the status of the transport network and any other information. The system would provide decision support by acquiring information from smartphones and other nomadic devices; it would so provide exchange of information in real time on one or more virtual platforms among stakeholders and between them and the citizens. Substantially, the system is based on smartphone applications coupled with a central management emergency Decision Support System specifically built to make best use of the possibilities offered by the latest telematics systems and cooperative web and phone-based tools

    An evaluation framework to drive future evolution of a research prototype

    Get PDF
    The Open Source Component Artefact Repository (OSCAR) requires evaluation to confirm its suitability as a development environment for distributed software engineers. The evaluation will take note of several factors including usability of OSCAR as a stand-alone system, scalability and maintainability of the system and novel features not provided by existing artefact management systems. Additionally, the evaluation design attempts to address some of the omissions (due to time constraints) from the industrial partner evaluations. This evaluation is intended to be a prelude to the evaluation of the awareness support being added to OSCAR; thus establishing a baseline to which the effects of awareness support may be compared

    Towards collaborative learning via shared artefacts over the Grid

    Get PDF
    The Web is the most pervasive collaborative technology in widespread use today; and its use to support eLearning has been highly successful. There are many web-based Virtual Learning Environments such as WebCT, FirstClass, and BlackBoard as well as associated web-based Managed Learning Environments. In the future, the Grid promises to provide an extremely powerful infrastructure allowing both learners and teachers to collaborate in various learning contexts and to share learning materials, learning processes, learning systems, and experiences. This position paper addresses the role of support for sharing artefacts in distributed systems such as the Grid. An analogy is made between collaborative software development and collaborative learning with the goal of gaining insights into the requisite support for artefact sharing within the eLearning community

    Constraint-based protocols for distributed problem solving

    Get PDF
    AbstractDistributed Problem Solving (DPS) approaches decompose problems into subproblems to be solved by interacting, cooperative software agents. Thus, DPS is suitable for solving problems characterized by many interdependencies among subproblems in the context of parallel and distributed architectures. Concurrent Constraint Programming (CCP) provides a powerful execution framework for DPS where constraints define local problem solving and the exchange of information among agents declaratively. To optimize DPS, the protocol for constraint communication must be tuned to the specific kind of DPS problem and the characteristics of the underlying system architecture. In this paper, we provide a formal framework for modeling different problems and we show how the framework applies to simple yet generalizable examples

    Tools cooperation in an integration environment by message-passing mechanism

    Get PDF
    [[abstract]]Many CASE (computer aided software engineering) tools have been developed to increase software productivity. Therefore, tool integration needed more investigation. This paper proposes an architecture based on a control integration platform for exchanging messages among different tools. This platform supports different tools to integrate into a cooperative software development environment easily. Some tools including a compiler, editor and testing path analyzer are integrated into this environment. Some evaluation criteria are illustrated to assess the proposed platform and their integrated tools[[conferencetype]]國際[[conferencedate]]19941109~19941111[[booktype]]紙本[[conferencelocation]]Taipei, Taiwa

    Supporting collaborative grid application development within the escience community

    Get PDF
    The systemic representation and organisation of software artefacts, e.g. specifications, designs, interfaces, and implementations, resulting from the development of large distributed systems from software components have been addressed by our research within the Practitioner and AMES projects [1,2,3,4]. Without appropriate representations and organisations, large collections of existing software are not amenable to the activities of software reuse and software maintenance, as these activities are likely to be severely hindered by the difficulties of understanding the software applications and their associated components. In both of these projects, static analysis of source code and other development artefacts, where available, and subsequent application of reverse engineering techniques were successfully used to develop a more comprehensive understanding of the software applications under study [5,6]. Later research addressed the maintenance of a component library in the context of component-based software product line development and maintenance [7]. The classic software decompositions, horizontal and vertical, proposed by Goguen [8] influenced all of this research. While they are adequate for static composition, they fail to address the dynamic aspects of composing large distributed software applications from components especially where these include software services. The separation of component co-ordination concerns from component functionality proposed in [9] offers a partial solution
    • …
    corecore