32 research outputs found

    An Aspect–Oriented Approach based on Multiparty Interactions to Specifying the Behaviour of a System

    Get PDF
    Isolating computation and coordination concerns into separate pure computation and pure coordination enhances modularity, understandability and reusability of parallel and/or distributed software. This can be achieved by moving interaction primitives, which are now commonly scattered in programs, into separate modules written in a language aimed at coordinating objects and expressing how information flows among them. The usual model for coordination is the client/server model, but it is not adequate when several objects need to collaborate simultaneously in order to solve a problem because natural multiparty interactions need to be decomposed into a set of low–level, binary interactions. In this paper, we introduce CAL, an IP–based language for the description of the coordination aspect of a system. We show that it can be successfully described in terms of simple multiparty interactions that can be animated and are also amenable to formal reasoning.Comisión Interministerial de Ciencia y Tecnología (CICYT) MENHIR TIC 97–0593–C05–0

    Defeasible Argumentation of Software Architectures

    Get PDF
    Defeasible argumentation is typical of legal and scientific reasoning. A defeasible argument is one in which the conclusion can be accepted tentatively in relation with the evidence known so far, but may need to be retracted as new evidence comes in. This paper analyses the role of defeasible argumentation in the explanation and evaluation of architectural decisions. We analyse technical explanations offered by engineers at Twitter and eBay about several architectural decisions adopted in those systems. We generalize these examples in four argumentation schemes. We also study the typical case of reasoning with a formal model of an architecture, and we infer a fifth argumentation scheme. Finally, we apply Hastings’ method of attaching a set of critical questions to each scheme. We show that the existence of critical questions reveals that the inferred schemes are defeasible: in argumentation theory, if a respondent asks one of the critical questions matching a scheme and the proponent of an argument fails to offer an adequate answer, the argument defaults and the conclusion is retracted. This dialogical structure is the basis of typical architectural evaluations. We conclude that the provided evidence supports the hypothesis that defeasible argumentation is employed in architectural evaluation. In this context, a rich catalogue of argumentation schemes is a useful tool for the architect to organize his or her reasoning; critical questions assist the architect in identifying the weak points of his or her explanations, and provide the evaluation team with a checklist of issues to be raised.Universidad de Sevilla VPPI-U

    Repairing Syntax Errors in LR Parsers

    Get PDF
    This article reports on an error-repair algorithm for LR parsers. It locally inserts, deletes or shifts symbols at the positions where errors are detected, thus modifying the right context in order to resume parsing on a valid piece of input. This method improves on others in that it does not require the user to provide additional information about the repair process, it does not require precalculation of auxiliary tables, and it can be easily integrated into existing LR parser generators. A Yacc-based implementation is presented along with some experimental results and comparisons with other well-known methods.Comisión Interministerial de Ciencia y Tecnología TIC 2000–1106–C02–0

    A Controlled Experiment to Evaluate the Effects of Mindfulness in Software Engineering

    Get PDF
    Context. Many reports support the fact that some psycho--social aspects of software engineers are key factors for the quality of the software development process and its resulting products. Based on the experience of some of the authors after more than a year of practising mindfulness---a meditation technique aimed to increase clearness of mind and awareness---we guessed that it could be interesting to empirically evaluate whether mindfulness affects positively not only the behaviour but also the professional performance of software engineers. Goal. In this paper, we present a quasi--experiment carried out at the University of Seville to evaluate whether Software Engineering & Information Systems students enhance their conceptual modelling skills after the continued daily practice of mindfulness during four weeks. Method. Students were divided into two groups: one group practised mindfulness, and the other---the control group---were trained in public speaking. In order to study the possible cause--and--effect relationship, effectiveness (the rate of model elements correctly identified) and efficiency (the number of model elements correctly identified per unit of time) of the students developing conceptual modelling exercises were measured before and after taking the mindfulness and public speaking sessions. Results. The experiment results have revealed that the students who practised mindfulness have become more efficient in developing conceptual models than those who attended the public speaking sessions. With respect to effectiveness, some enhancement have been observed, although not as significant as in the case of efficiency. Conclusions. This rising trend in effectiveness suggests that the number of sessions could have been insufficient and that a longer period of sessions could have also enhanced effectiveness significantly.Ministerio de EconomĂ­a y Competitividad TIN2012-32273Junta de AndalucĂ­a P12-TIC-1867Junta de AndalucĂ­a TIC-590

    Expressing Customer Requirements Using Natural Language Requirements Templates and Patterns

    Get PDF
    Expressing customer requirements so they can be understood not only by requirements engineers but also by noncomputer professional customers is not an easy task. Natural language is frequently the usual choice for expressing customer requirements in spite of its well–known problems, but using more formal notations too early is a risky choice that can make requirements impossible to understand for customers and users. In addition, using natural language do not guarantee understanding. Requirements engineers do not usually have good writing skills, and sometimes requirements expressed in natural language are not understood because of the poor way they are written. In this paper, we propose to use requirements templates and patterns to improve requirements expression. We have identified two types of requirements patterns: linguistic patterns, which are very used, well– understood, sentences in natural language requirements descriptions that can be parameterized and integrated into templates, and requirements patterns, which are generic requirements templates that are found very often during the requirements elicitation process and that can be reused with some adaptation

    Effects of Mindfulness on Conceptual Modeling Performance: a Series of Experiments

    Get PDF
    Context. Mindfulness is a meditation technique whose main goal is keeping the mind calm and educating attention by focusing only on one thing at a time, usually breathing. The reported benefits of its continued practice can be of interest for Software Engineering students and practitioners, especially in tasks like conceptual modeling, in which concentration and clearness of mind are crucial. Goal. In order to evaluate whether Software Engineering students enhance their conceptual modeling performance after several weeks of mindfulness practice, a series of three controlled experiments were carried out at the University of Seville during three consecutive academic years (2013–2016) involving 130 students. Method. In all the experiments, the subjects were divided into two groups. While the experimental group practiced mindfulness, the control group was trained in public speaking as a placebo treatment. All the subjects developed two conceptual models based on a transcript of an interview, one before and another one after the treatment. The results were compared in terms of conceptual modeling quality (measured as effectiveness, i.e. the percentage of model elements correctly identified) and productivity (measured as efficiency, i.e. the number of model elements correctly identified per unit of time). Results. The statistically significant results of the series of experiments revealed that the subjects who practiced mindfulness developed slightly better conceptual models (their quality was 8.16% higher) and they did it faster (they were 46.67% more productive) than the control group, even if they did not have a previous interest in meditation. Conclusions. The practice of mindfulness improves the performance of Software Engineering students in conceptual modeling, especially their productivity. Nevertheless, more experimentation is needed in order to confirm the outcomes in other Software Engineering tasks and populations.Ministerio de Economía y Competitividad TIN2015–70560–RJunta de Andalucía US–1264651Ministerio de Ciencia, Innovación y Universidades RTI2018–101204–B–C22Ministerio de Ciencia, Innovación y Universidades RTI2018- 101204–B–C21Junta de Andalucía P18–FR–289

    Automatic Extraction of Semantically-Meaningful Information from the Web.

    Get PDF
    The semantic Web will bring meaning to the Internet,making it possible for web agents to understand the information it contains. However,curren t trends seem to suggest that the semantic web is not likely to be adopted in the forthcoming years. In this sense,meaningful information extraction from the web becomes a handicap for web agents. In this article,w e present a framework for automatic extraction of semantically-meaningful information from the current web. Separating the extraction process from the business logic of an agent enhances modularity,adaptabilit y,and maintainability. Our approach is novel in that it combines different technologies to extract information,surf the web and automatically adapt to web changes.ComisiĂłn Interministerial de Ciencia y TecnologĂ­a TIC2000-1106-C02-0

    Dealing with Fixable and Non-fixable Properties in Service Matchmaking

    Get PDF
    In the context of service discovery, matchmakers check the compliance of service-level objectives from providers and consumers. The problem of bounded uncertainty arises if some property is non-fixable. In this case, the provider is not able to control the value it takes at runtime, so the eventual consumer must not have the choice to select a value and fix it, but only knowing the guaranteed range of values it may take. To the best of our knowledge, there does not exist any approach which deals with this scenario. Most matchmakers work as if all properties were fixable, and a few have assumed the contrary. In either case, the accuracy of their results is likely to be in question since there may be involved both fixable and non-fixable properties at the same time, and there may also exist dependencies between them. In order to improve the accuracy, we present a holistic approach to matchmaking under bounded uncertainty and propose constraint programming as our choice to deal with it, so that matchmaking is transformed into a quantified constraint satisfaction problem.ComisiĂłn Interministerial de Ciencia y TecnologĂ­a TIN2006-00472ComisiĂłn Interministerial de Ciencia y TecnologĂ­a TIN2009- 07366Junta de AndalucĂ­a TIC-253

    An Enablement Detection Algorithm for Open Multiparty Interactions

    Get PDF
    Coordination axnongst an arbitrary number of entities has become an important issue in recent years m fields such as e-- commerce, web-based applications and so on. Traditionally, classical client/server primitives have been used to implement synchronisation and communication. But. when more than two entities need to coordinate hy means of those primitives, the coordination must be decomposed into a number of client/server hipaxty interactions, leading the programmer to the need of thinking in terms of the protocols needed to achieve properties like livenes, atomicity and so on. In this paper, we present an algorithm to perform enablement detection to implement open multiparty interactions. This primitive provides a high level of abstraction since the programmar can implement multiparty coordination without the need of thinking in terms of protocols

    An Algorithm for Ensuring Fairness and Liveness in Non-deterministic Systems Based on Multiparty Interactions

    Get PDF
    Strong fairness is a notion we can use to ensure that an element that is enabled infinitely often in a non–deterministic programme, will eventually be selected for execution so that it can progress. Unfortunately, “eventually” is too weak to induce the intuitive idea of liveliness and leads to anomalies that are not desirable, namely fair finiteness and conspiracies. In this paper, we focus on non–deterministic programmes based on multiparty interactions and we present a new criteria for selecting interactions called strong k–fairness that improves on other proposals in that it addresses both anomalies simultaneously, and k may be set a priori to control its goodness. We also show our notion is feasible, and present an algorithm for scheduling interactions in a strongly k–fair manner using a theoretical framework to support the multiparty interaction model. Our algorithm does not require to transform the source code to the processes that compose the system; furthermore, it can deal with both terminating and non–terminating processes.Comisión Interministerial de Ciencia y Tecnología TIC 2000–1106–C02–0
    corecore