12 research outputs found

    On Designing Self-Adaptive Software Systems

    Get PDF
    Ante condiciones cambiantes del entorno, los sistemas autoadaptativos pueden modificarse a sí mismos para controlar la satisfacción de sus requerimientos en tiempo de ejecución. Durante el siglo pasado los sistemas de retroalimentación fueron importantes modelos para controlar el comportamiento dinámico de sistemas mecánicos, eléctricos, de fluidos y químicos, en sus respectivos campos de la ingeniería. Más recientemente fueron adoptados para diseñar software autoadaptativo. No obstante, lograr mapeos coherentes y explícitos consistentemente entre las arquitecturas de software adaptativo y los elementos de sistemas de retroalimentación es aún un reto abierto. Este artículo, sobre un modelo de referencia propuesto con ese propósito, discute aspectos clave del diseño de software autoadaptativo, en que los elementos de sistemas de retroalimentación se definen explícitamente como componentes de primer nivel en su arquitectura. Adicionalmente, ilustra la aplicación de este modelo de referencia a un ejemplo real de software adaptativo. El artículo ofrece a los ingenieros de software un punto de referencia para iniciar el diseño de software autoadaptativo.Self-adaptive systems modify themselves at run-time in order to control the satisfaction of their requirements under changing environmental conditions. Over the past century, feedback-loops have been used as important models for controlling dynamic behavior of mechanical, electrical, fluid and chemical systems in the corresponding fields of engineering. More recently, they also have been adopted for engineering self-adaptive software systems. However, obtaining sound and explicit mappings consistently between adaptive software architectures and feedback loop elements is still an open challenge. This paper, recalling a reference model proposed previously with that goal, discuss key aspects on the design of adaptive software where feedback loop elements are explicitly defined as first-class components in its software architecture. It complements this discussion with an illustration of the process to use this reference model by applying it to a plausible adaptive software example. This paper aims at providing a reference starting point to support software engineers in the process of designing self-adaptive software systems

    Test case design for transactional flows using a dependency-based approach

    Get PDF
    Transactions are a key issue to develop reliable web service based applications. The advanced models used to manage this kind of transactions rely on the dependencies between the involved activities (subtransactions). Dependencies are constraints on the processing produced by the concurrent execution of interdependent activities. Existing work uses formal approaches to verify the consistency and correctness of dependencies in web service transactions, but there is no work on testing their implementation. This paper identifies and defines a set of possible dependencies using logical expressions. These expressions define the preconditions necessary for executing the subtransactions primitive tasks. By using those conditions, we propose a family of test criteria based on control-flow for checking the dependencies between subtransactions. The test criteria provide guidance for test case generation in order to specifically test the implementation of web service subtransactions dependencie

    How Do Computer Engineering Students Construe Usability and Accessibility? A Comparative Study between Turkey and Kyrgyzstan

    Get PDF
    This survey study evaluated the level of education, awareness and knowledge of prospective software developers in the areas of usability and accessibility by comparing the results obtained from computer engineering students from Kyrgyzstan and Turkey. There were a total of 311 student participants who were attending a computer engineering program in eight universities, four in Kyrgyzstan and four in Turkey. According to the results, these two countries with different education systems had significant differences in terms of the level of the education of the computer engineering students, their knowledge, awareness and attitude concerning usability and accessibility. Although the overall level of knowledge and awareness of the Turkish students was found to be higher than those of the Kyrgyz students, the computer engineering students in the selected Kyrgyz universities either had taken or were planning to take more courses on accessibility and had a higher level of awareness in terms of undertaking thesis and project work in this area. However, the results obtained from the participants from both countries demonstrated the need for the revision of course content to assist future software developers gain not only technical but also acquire soft skills in the topics of usability and accessibility

    Multi-dimensional criteria for testing web services transactions

    Get PDF
    Web services (WS) transactions are important in order to reliably compose distributed and autonomous services into composite web services and to ensure that their execution is consistent and correct. But such transactions are generally complex and they require longer processing time, and manipulate critical data. Thus various techniques have been developed in order to perform quality assessment of WS transactions in terms of response time efficiency, failure recovery and throughput. This paper focuses on the testing aspect of WS transactions - another key quality issue that has not been examined in the literature. Accordingly it proposes multi-dimensional criteria for testing the WS transactions. The proposed criteria have the potential to capture the behaviour of WS transactions and to analyse and classify the possible (failure) situations that effect the execution of such transactions. These criteria are used to generate various test cases and to provide (WS transactions) ! tester with flexibility of adjusting the method in terms of test efforts and effectiveness. The proposed criteria have been designed, implemented and evaluated through a case study and a number of experiments have been performed. The evaluation shows that these criteria have the capability to effectively generate test cases for testing WS transactions as well as enable tester to decide on the trade-off between test efforts and the quality

    Personalizing the web: A tool for empowering end-users to customize the web through browser-side modification

    Get PDF
    167 p.Web applications delegate to the browser the final rendering of their pages. Thispermits browser-based transcoding (a.k.a. Web Augmentation) that can be ultimately singularized for eachbrowser installation. This creates an opportunity for Web consumers to customize their Web experiences.This vision requires provisioning adequate tooling that makes Web Augmentation affordable to laymen.We consider this a special class of End-User Development, integrating Web Augmentation paradigms.The dominant paradigm in End-User Development is scripting languages through visual languages.This thesis advocates for a Google Chrome browser extension for Web Augmentation. This is carried outthrough WebMakeup, a visual DSL programming tool for end-users to customize their own websites.WebMakeup removes, moves and adds web nodes from different web pages in order to avoid tabswitching, scrolling, the number of clicks and cutting and pasting. Moreover, Web Augmentationextensions has difficulties in finding web elements after a website updating. As a consequence, browserextensions give up working and users might stop using these extensions. This is why two differentlocators have been implemented with the aim of improving web locator robustness

    Personalizing the web: A tool for empowering end-users to customize the web through browser-side modification

    Get PDF
    167 p.Web applications delegate to the browser the final rendering of their pages. Thispermits browser-based transcoding (a.k.a. Web Augmentation) that can be ultimately singularized for eachbrowser installation. This creates an opportunity for Web consumers to customize their Web experiences.This vision requires provisioning adequate tooling that makes Web Augmentation affordable to laymen.We consider this a special class of End-User Development, integrating Web Augmentation paradigms.The dominant paradigm in End-User Development is scripting languages through visual languages.This thesis advocates for a Google Chrome browser extension for Web Augmentation. This is carried outthrough WebMakeup, a visual DSL programming tool for end-users to customize their own websites.WebMakeup removes, moves and adds web nodes from different web pages in order to avoid tabswitching, scrolling, the number of clicks and cutting and pasting. Moreover, Web Augmentationextensions has difficulties in finding web elements after a website updating. As a consequence, browserextensions give up working and users might stop using these extensions. This is why two differentlocators have been implemented with the aim of improving web locator robustness

    Generierung und Optimierung von Testzeitplänen im Rahmen des SOA Change Managements

    Get PDF
    Tester einer dienstorientieren Architektur stehen, anders als beim traditionellen Software-Testing, enormen Herausforderungen gegenüber. Heterogene Systemlandschaften, über Unternehmensgrenzen hinweg verteilte Akteure und die dynamische Natur einer solchen Architektur erfordern neue Ansätze beim Testing. Die Fehler-Ursachen-Analyse wird bei zusammengesetzten Services zum großen Problem, da bei der Integration von vielen Komponenten unklar ist, wo die Ursache eines Fehlers zu suchen ist. Das entwickelte Konzept nutzt im Rahmen der SOA Governance Abhängigkeiten aus, um einen geordneten Testzeitplan zu generieren. Seine Ausführung stellt sicher, dass während einer Testperiode nur eine ungetestete Service-Version beteiligt ist, was die möglichen Fehlerursachen stark einschränkt. Darüber hinaus wird die Nebenläufigkeit bei der Testausführung gefördert, indem die zuständigen Tester parallel an unterschiedlichen Testperioden arbeiten. Ein Prototyp des Konzepts wird als Teil eines SOA Governance Repositories implementiert. Er implementiert die Verwaltung von Releases, die Durchführung der Testzeitplan-Generierung und eine Testzeitplan-Visualisierung. Der Generierungsprozess selbst nutzt eine topologische Sortierung des umgekehrten Abhängigkeitsgraphen, um die Testperioden zu erstellen. Vier implementierte Optimierungen können den generierten Testzeitplan gezielt verbessern, um beispielsweise eine kurze Gesamt-Testdauer zu erzielen. Unter Verwendung der SOA-Daten eines großen Automobilherstellers wird die Implementierung unter realitätsnahen Bedingungen ausgeführt. Dabei zeigt die Fallstudie, dass das automatisierte Verfahren performant arbeitet und einen praxistauglichen Testzeitplan generiert

    Dynamic distributed knowledge work - Collaboration and productivity factors in the context of global software development

    Get PDF
    This master's thesis examines factors that influence on collaboration and productivity in dynamically distributed knowledge work with a case in global software development (GSD). The topic is studied by the methods of a literature review, case study approach, qualitative semi-structured interviews and content analysis of the collected interview material. The thesis contributes to and was conducted in collaboration with a Tekes-funded joint research program, DD-SCALE (2014-2016). The theoretical frame of the thesis was constructed based on a literature review of previous GSD research on team collaboration and productivity. This frame was used as a basis for the empirical part of the study with the aim to complement, strengthen and expand the findings of previous research. The interviews were conducted in India with managerial level information and communication technology (ICT) research and development (R&D) professionals of a case company that has multiple software R&D locations around the globe. As a result, a set of 217 factors in 16 categories and seven higher level viewpoints that concern issues of cross-boundary collaboration, competence and knowledge, improving practices and processes, socio-cultural aspects, human capabilities and characteristics, management and leadership, and tools and infrastructure was gathered. The findings are in line with previous GSD research, and they indicate that factors impacting collaboration and productivity of distributed teams are interdependent, embedded in different organizational layers, and especially linked to the areas of human related, management practices and technical factors in organizations. Moreover, the findings point to the importance of enabling maturity, evolution and continuum in teams to support the accumulation of capabilities and (intellectual) capital in a dynamic and fast changing business environment. It is thereby suggested that the dimension of continuity as an enabler for accumulating competency, growing team relations, team and organizational evolution and maturity should be further addressed in GSD research to support enhanced collaboration and productivity

    A framework for active software engineering ontology

    Get PDF
    The passive structure of ontologies results in the ineffectiveness to access and manage the knowledge captured in them. This research has developed a framework for active Software Engineering Ontology based on a multi-agent system. It assists software development teams to effectively access, manage and share software engineering knowledge as well as project information to enable effective and efficient communication and coordination among teams. The framework has been evaluated through the prototype system as proof-of-concept experiments
    corecore