151,086 research outputs found

    Towards property-based testing of RESTful web services

    Get PDF
    Developing APIs as Web Services over HTTP implies adding an extra layer to software, compared to the ones that we would need to develop an API distributed as, for example, a library. This additional layer must be included in testing too, but this implies that the software under test has an additional complexity due both to the need to use an intermediate protocol in tests and to the need to test compliance with the constraints imposed by that protocol: in this case the constraints defined by the REST architectural style. On the other hand, these requirements are common to all the Web Services, and because of that, we should be able to abstract this aspect of the testing model so that we can reuse it in testing any Web Service. In this paper, as a first step towards automating the testing of Web Services over HTTP, we describe a practical mechanism and model for testing RESTful Web Services without side effects and give an example of how we successfully adapted that mechanism to test two different existing Web Services: Storage Room by Thriventures and Google Tasks by Google. For this task we have used Erlang together with state machine models in the property-based testing tool Quviq QuickCheck, implemented using the statem module. 1

    Hacia la construcciĂłn de librerĂ­as digitales basadas en reuso para universidades nacionales en la Patagonia

    Get PDF
    This article presents a case study exploring the use of software product lines and reference models as mechanisms of a reuse-based design process to build digital libraries. As a key component in a modern digital library, the reference architecture is responsible for helping define quality of the resulting repository. It is true that many efforts have been addressed towards providing interoperability; however, repositories are expected to provide high levels of reuse too, which goes beyond that of simple object sharing. This work presents the main steps we followed towards building a reusable digital library capable of accommodating such needs by (i) providing mechanisms to reuse resources, and (ii) enabling explicit sharing of commonalities in a distributed environment.Este artículo presenta un caso de estudio que explora el uso de líneas de productos de software y modelos de referencia como mecanismos de un proceso de diseño basado en reuso para construir bibliotecas digitales. Como componente clave en una biblioteca digital moderna, la arquitectura de referencia es responsable de ayudar a definir la calidad del repositorio resultante. En la literatura se han realizado muchos esfuerzos para proporcionar interoperabilidad; sin embargo, se espera que los repositorios proporcionen también altos niveles de reutilización, que van más allá del simple intercambio de objetos. Este trabajo presenta los pasos principales para construir una biblioteca digital reusable capaz de acomodar tales necesidades mediante dos actividades específicas (i) proporcionar mecanismos para reutilizar recursos, y (ii) permitir el intercambio explícito de aspectos comunes en un entorno distribuido.Facultad de Informátic

    Hacia la construcciĂłn de librerĂ­as digitales basadas en reuso para universidades nacionales en la Patagonia

    Get PDF
    This article presents a case study exploring the use of software product lines and reference models as mechanisms of a reuse-based design process to build digital libraries. As a key component in a modern digital library, the reference architecture is responsible for helping define quality of the resulting repository. It is true that many efforts have been addressed towards providing interoperability; however, repositories are expected to provide high levels of reuse too, which goes beyond that of simple object sharing. This work presents the main steps we followed towards building a reusable digital library capable of accommodating such needs by (i) providing mechanisms to reuse resources, and (ii) enabling explicit sharing of commonalities in a distributed environment.Este artículo presenta un caso de estudio que explora el uso de líneas de productos de software y modelos de referencia como mecanismos de un proceso de diseño basado en reuso para construir bibliotecas digitales. Como componente clave en una biblioteca digital moderna, la arquitectura de referencia es responsable de ayudar a definir la calidad del repositorio resultante. En la literatura se han realizado muchos esfuerzos para proporcionar interoperabilidad; sin embargo, se espera que los repositorios proporcionen también altos niveles de reutilización, que van más allá del simple intercambio de objetos. Este trabajo presenta los pasos principales para construir una biblioteca digital reusable capaz de acomodar tales necesidades mediante dos actividades específicas (i) proporcionar mecanismos para reutilizar recursos, y (ii) permitir el intercambio explícito de aspectos comunes en un entorno distribuido.Facultad de Informátic

    Hacia la construcciĂłn de librerĂ­as digitales basadas en reuso para universidades nacionales en la Patagonia

    Get PDF
    This article presents a case study exploring the use of software product lines and reference models as mechanisms of a reuse-based design process to build digital libraries. As a key component in a modern digital library, the reference architecture is responsible for helping define quality of the resulting repository. It is true that many efforts have been addressed towards providing interoperability; however, repositories are expected to provide high levels of reuse too, which goes beyond that of simple object sharing. This work presents the main steps we followed towards building a reusable digital library capable of accommodating such needs by (i) providing mechanisms to reuse resources, and (ii) enabling explicit sharing of commonalities in a distributed environment.Este artículo presenta un caso de estudio que explora el uso de líneas de productos de software y modelos de referencia como mecanismos de un proceso de diseño basado en reuso para construir bibliotecas digitales. Como componente clave en una biblioteca digital moderna, la arquitectura de referencia es responsable de ayudar a definir la calidad del repositorio resultante. En la literatura se han realizado muchos esfuerzos para proporcionar interoperabilidad; sin embargo, se espera que los repositorios proporcionen también altos niveles de reutilización, que van más allá del simple intercambio de objetos. Este trabajo presenta los pasos principales para construir una biblioteca digital reusable capaz de acomodar tales necesidades mediante dos actividades específicas (i) proporcionar mecanismos para reutilizar recursos, y (ii) permitir el intercambio explícito de aspectos comunes en un entorno distribuido.Facultad de Informátic

    A Semantics-Rich Information Technology Architecture for Smart Buildings

    Get PDF
    The design of smart homes, buildings and environments currently suffers from a low maturity of available methodologies and tools. Technologies, devices and protocols strongly bias the design process towards vertical integration, and more flexible solutions based on separation of design concerns are seldom applied. As a result, the current landscape of smart environments is mostly populated by defectively designed solutions where application requirements (e.g., end-user functionality) are too often mixed and intertwined with technical requirements (e.g., managing the network of devices). A mature and effective design process must, instead, rely on a clear separation between the application layer and the underlying enabling technologies, to enable effective design reuse. The role of smart gateways is to enable this separation of concerns and to provide an abstracted view of available automation technology to higher software layers. This paper presents a blueprint for the information technology (IT) architecture of smart buildings that builds on top of established software engineering practices, such as model-driven development and semantic representation, and that avoids many pitfalls inherent in legacy approaches. The paper will also present a representative use case where the approach has been applied and the corresponding modeling and software tools

    Software Reuse in Agile Development Organizations - A Conceptual Management Tool

    Get PDF
    The reuse of knowledge is considered a major factor for increasing productivity and quality. In the software industry knowledge is embodied in software assets such as code components, functional designs and test cases. This kind of knowledge reuse is also referred to as software reuse. Although the benefits can be substantial, software reuse has never reached its full potential. Organizations are not aware of the different levels of reuse or do not know how to address reuse issues. This paper proposes a conceptual management tool for supporting software reuse. Furthermore the paper presents the findings of the application of the management tool in an agile development organization

    Towards guidelines for building a business case and gathering evidence of software reference architectures in industry

    Get PDF
    Background: Software reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software applications of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to know the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges. Methods: We have conducted action research in an industry-academia collaboration between the GESSI research group and everis, a multinational IT consulting firm based in Spain. Results: The results from such collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. The main result of this paper is the construction of empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices. Conclusions: The created guidelines could be used by other organizations outside of our industry-academia collaboration. With this goal in mind, we describe the guidelines in detail for their use.Peer ReviewedPostprint (published version
    • …
    corecore