174 research outputs found

    Development and Specification of Virtual Environments

    Get PDF
    This thesis concerns the issues involved in the development of virtual environments (VEs). VEs are more than virtual reality. We identify four main characteristics of them: graphical interaction, multimodality, interface agents, and multi-user. These characteristics are illustrated with an overview of different classes of VE-like applications, and a number of state-of-the-art VEs. To further define the topic of research, we propose a general framework for VE systems development, in which we identify five major classes of development tools: methodology, guidelines, design specification, analysis, and development environments. Of each, we give an overview of existing best practices

    Supporting Multiple Stakeholders in Agile Development

    Get PDF
    Agile software development practices require several stakeholders with different kinds of expertise to collaborate while specifying requirements, designing and modeling software, and verifying whether developers have implemented requirements correctly. We studied 112 requirements engineering (RE) tools from academia and the features of 13 actively maintained behavior-driven development (BDD) tools, which support various stakeholders in specifying and verifying the application behavior. Overall, we found that there is a growing tool specialization targeted towards a specific type of stakeholders. Particularly with BDD tools, we found no adequate support for non-technical stakeholders —- they are required to use an integrated development environment (IDE) —- which is not adapted to suit their expertise. We argue that employing separate tools for requirements specification, modeling, implementation, and verification is counter-productive for agile development. Such an approach makes it difficult to manage associated artifacts and support rapid implementation and feedback loops. To avoid dispersion of requirements and other software-related artifacts among separate tools, establish traceability between requirements and the application source code, and streamline a collaborative software development workflow, we propose to adapt an IDE as an agile development platform. With our approach, we provide in-IDE graphical interfaces to support non-technical stakeholders in creating and maintaining requirements concurrently with the implementation. With such graphical interfaces, we also guide non-technical stakeholders through the object-oriented design process and support them in verifying the modeled behavior. This approach has two advantages: (i) compared with employing separate tools, creating and maintaining requirements directly within a development platform eliminates the necessity to recover trace links, and (ii) various natively created artifacts can be composed into stakeholder-specific interactive live in-IDE documentation. These advantages have a direct impact on how various stakeholders collaborate with each other, and allow for rapid feedback, which is much desired in agile practices. We exemplify our approach using the Glamorous Toolkit IDE. Moreover, the discussed building blocks can be implemented in any IDE with a rich-enough graphical engine and reflective capabilities

    Innovations for Requirements Analysis, From Stakeholders' Needs to Formal Designs

    Get PDF
    14th MontereyWorkshop 2007 Monterey, CA, USA, September 10-13, 2007 Revised Selected PapersWe are pleased to present the proceedings of the 14thMontereyWorkshop, which took place September 10–13, 2007 in Monterey, CA, USA. In this preface, we give the reader an overview of what took place at the workshop and introduce the contributions in this Lecture Notes in Computer Science volume. A complete introduction to the theme of the workshop, as well as to the history of the Monterey Workshop series, can be found in Luqi and Kordon’s “Advances in Requirements Engineering: Bridging the Gap between Stakeholders’ Needs and Formal Designs” in this volume. This paper also contains the case study that many participants used as a problem to frame their analyses, and a summary of the workshop’s results

    Constructing An Auditory Notation in Software Engineering: Understanding UML Models With Voice And Sound

    Get PDF
    Sound is crucial to how we interact with the world around us, providing feedback and contextualising information. However, when discussed in software, it is not given the same importance as vision. Neglecting this channel results in untapped possibilities that could enhance the user experience, and the exclusion of many visually impaired people from activities related to software engineering, since the visual notations and well-accepted tools in this field are not supportive of audio, such as UML. Several technologies have been developed and integrated into prototypes. Still, it became evident during our research that, among other factors, their usability is greatly impacted by unsuitable choices of sound and voice symbolism, as well as wrong interac- tion dialogues that can become too cumbersome to be used. Sound should be analysed in the context of software engineering, as it has the unexplored potential to significantly contribute to how we construct and interact with the software while allowing blind and visually impaired people to be part of these activities. For this purpose, we are interested in building a foundational framework to substanti- ate decisions when designing an auditory notation, and a tool that performs diagrammatic readings in UML, intended to validate these proposals. Supported by the semiotics of the audible field and music symbology, combined with the insights provided by Moody’s Physics of Notations, the findings of other research and developed tools concerning these topics, along with experimental studies that we carried out and are presented in this document. We believe that this work can be instrumental in creating a structured and intuitive auditory notation for software engineering, complemented by a tool built in the right direction for accessibility. Furthermore, it is an approach that aims to join both the visual and hearing senses in a manner that benefits a large and diverse population of experienced software engineers and novices alike, heightening the visual notation in the process.O som é crucial para a forma como interagimos com o mundo ao nosso redor, fornecendo feedback e contextualizando informação. No entanto, quando este é discutido em software, não lhe é dada a mesma importância que à visão. Negligenciar este canal resulta em possibilidades inexploradas que poderiam melhorar a experiência do utilizador, e na exclusão de pessoas com deficiências visuais de actividades relacionadas com engenharia de software, uma vez que as notações visuais e as ferramentas bem aceites neste domínio não suportam áudio, como é o caso do UML. Diversas tecnologias foram desenvolvidas e integradas em protótipos, mas durante a nossa pesquisa tornou-se evidente que, para além de outros factores, a sua usabilidade é bastante impactada por escolhas inadequadas de simbolismo relativamente ao som e voz, bem como diálogos de interação errados que se podem tornar demasiado incómodos para serem utilizados. O som deve ser analisado no contexto de engenharia de software, pois tem o potencial de contribuir para a forma como construímos e interagimos com software, permitindo ainda que pessoas com deficiências visuais façam parte destas atividades. Para esta finalidade, queremos construir uma framework para fundamentar decisões na construção de uma notação auditiva, em conjunto com uma ferramenta que efectua leituras diagramáticas em UML, destinada à validação destas propostas. Tendo por base a compreensão das semióticas do domínio audível e simbologia musical, combinado com os conhecimentos fornecidos pelo Physics of Notations de Moody, as descobertas de outros tra- balhos e ferramentas desenvolvidas neste âmbito, juntamente com estudos experimentais que realizámos, apresentados neste documento. Acreditamos que este trabalho possa ser fundamental na criação de uma notação auditiva estruturada e intuitiva para engenharia de software, complementada por uma ferramenta construída na direção certa para a acessibilidade. Além disso, é uma aborda- gem que visa a união dos sentidos de visão e audição, de forma a beneficiar uma ampla e diversa população de engenheiros de software experientes e novatos, elevando a notação visual no processo

    A requirement-driven approach for modelling software architectures

    Get PDF
    Throughout the software development lifecycle (SDLC) there are many pitfalls which software engineers have to face. Regardless of the methodology adopted, classic methodologies such as waterfall or more modern ones such as agile or scrum, defects can be injected in any phase of the SDLC. The main avenue to detect and remove defects is through Quality Assurance (QA) activities. The planned activities to detect, fix and remove defects occur later on and there is less effort spent in the initial phases of the SDLC to either detect, remove or prevent the injection of defects. In fact, the cost of detecting and fixing a defect in the later phases of the SDLC such as development, deployment, maintenance and support is much higher than detecting and fixing defects in the initial phases of the SDLC. The software architecture of the application also has an incidence on defect injection whereby the software architecture can be regarded asthe fundamental structures of a software system. The impact of detecting and fixing defects later on is exacerbated for software architecture which are distributed, such as service-oriented architectures or microservices. Thus, the aim of this research is to develop a semi-automated framework to translate requirements into design with the aim of reducing the introduction of defects from the early phases of the SDLC. Part of the objectives of this work is to conceptualize a design for architectural paradigms such as object-oriented and service-oriented programming. The proposed framework uses a series of techniques from Natural Language Processing (NLP) and a blend of techniques from intelligent learning systems such as ontologies and neural networks to partially automate the translation of requirements into a design. The novelty focuses on moulding the design into an architecture which is better adapted for distributed systems. The framework is evaluated with a case study where the design and architecture from the framework is compared to a design and architecture which was drawn by a software architect. In addition, the evaluation using a case study aims to demonstrate the use of the framework and how each individual design and architecture artefacts fair

    Supporting multiple stakeholders in agile development

    Get PDF
    Agile software development practices require several stakeholders with different kinds of expertise to collaborate while specifying requirements, designing, and modelling software, and verifying whether developers have implemented requirements correctly. We studied 112 requirements engineering (RE) tools from academia and the features of 13 actively maintained behavior-driven development (BDD) tools, which support various stakeholders in specifying and verifying the application behavior. Overall, we found that there is a growing tool specialization targeted towards a specific type of stakeholders. Particularly with BDD tools, we found no adequate support for non-technical stakeholders-- they are required to use an integrated development environment (IDE)-- which is not adapted to suit their expertise. We argue that employing separate tools for requirements specification, modelling, implementation, and verification is counterproductive for agile development. Such an approach makes it difficult to manage associated artifacts and support rapid implementation and feedback loops. To avoid dispersion of requirements and other software-related artifacts among separate tools, establish traceability between requirements and the application source code, and streamline a collaborative software development workflow, we propose to adapt an IDE as an agile development platform. With our approach, we provide in-IDE graphical interfaces to support non-technical stakeholders in creating and maintaining requirements concurrently with the implementation. With such graphical interfaces, we also guide non-technical stakeholders through the object-oriented design process and support them in verifying the modelled behavior. This approach has two advantages: (i) compared with employing separate tools, creating, and maintaining requirements directly within a development platform eliminates the necessity to recover trace links, and (ii) various natively created artifacts can be composed into stakeholder-specific interactive live in-IDE documentation. These advantages have a direct impact on how various stakeholders collaborate with each other, and allow for rapid feedback, which is much desired in agile practices. We exemplify our approach using the Glamorous Toolkit IDE. Moreover, the discussed building blocks can be implemented in any IDE with a rich-enough graphical engine and reflective capabilities

    Engineering Automation for Reliable Software Interim Progress Report (10/01/2000 - 09/30/2001)

    Get PDF
    Prepared for: U.S. Army Research Office P.O. Box 12211 Research Triangle Park, NC 27709-2211The objective of our effort is to develop a scientific basis for producing reliable software that is also flexible and cost effective for the DoD distributed software domain. This objective addresses the long term goals of increasing the quality of service provided by complex systems while reducing development risks, costs, and time. Our work focuses on "wrap and glue" technology based on a domain specific distributed prototype model. The key to making the proposed approach reliable, flexible, and cost-effective is the automatic generation of glue and wrappers based on a designer's specification. The "wrap and glue" approach allows system designers to concentrate on the difficult interoperability problems and defines solutions in terms of deeper and more difficult interoperability issues, while freeing designers from implementation details. Specific research areas for the proposed effort include technology enabling rapid prototyping, inference for design checking, automatic program generation, distributed real-time scheduling, wrapper and glue technology, and reliability assessment and improvement. The proposed technology will be integrated with past research results to enable a quantum leap forward in the state of the art for rapid prototyping.U. S. Army Research Office P.O. Box 12211 Research Triangle Park, NC 27709-22110473-MA-SPApproved for public release; distribution is unlimited

    IMAGINE Final Report

    No full text
    corecore