33 research outputs found
An Aspect–Oriented Approach based on Multiparty Interactions to Specifying the Behaviour of a System
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
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
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
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
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
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.
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
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
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
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