18 research outputs found
Desarrollo de la competencia “Pensamiento Analítico” mediante tácticas de arquitecturas software
La competencia “Pensamiento Analítico” se
define como el comportamiento mental que
permite distinguir y separar las partes de un todo
hasta llegar a conocer sus principios o elementos.
La inferencia de una arquitectura software a partir
de la documentación (normalmente escasa) de un
sistema real y de su código fuente es una actividad
intelectual compleja que requiere un
entrenamiento avanzado de esta competencia en el
alumno (niveles superiores en la escala propuesta
por los profesores Villa y Poblete de la
Universidad de Deusto). Este artículo analiza el
empleo de un catálogo de tácticas arquitectónicas
como guía para los alumnos en dicha tarea y
señala las ventajas e inconvenientes de esta
aproximación. El uso de catálogos de tácticas
puede generalizarse al contexto de otras
asignaturas.Peer Reviewe
Folding by Similarity
A formal specification can describe software models which are di±cult
to program. Transformational methods based on fold/unfold strategies have
been proposed to palliate this problem. The objective of applying transfor-
mations is to filter out a new version of the specification where recursion may
be introduced by a folding step. Among many problems, the "eureka" about
when and how to define a new predicate is di±cult to find automatically. We
propose a new version of the folding rule which decides automatically how to
introduce new predicates in a specification. Our method is based on finding
similarities between formulas represented as parsing trees and it constitutes
an assistance to the complex problem of deriving recursive specifications from
non recursive ones
Una Experiencia en el diseño y la impartición de una asignatura en torno a la metodología del aprendizaje basado en proyectos
En este artículo presentamos nuestra experiencia en la creación e impartición de una asignatura sobre Arquitecturas Software que aplica la metodología del aprendizaje basado en proyectos. La asignatura pertenece a una joven titulación de Máster Oficial creada bajo los principios del Espacio Europeo de Educación Superior (EEES) y actualmente ofrecida por la Universidad de Sevilla como parte de su oferta de estudios de postgrado. Las decisiones tomadas en el diseño de la asignatura en torno a una metodología activa y las conclusiones extraídas de su impartición pueden ser de ayuda a otros profesores durante el proceso de adaptación de las diferentes titulaciones al EEES.Peer Reviewe
Executing Assertions via Synthesized Logic Programs
Programming with assertions constitutes an effective tool
to detect and correct programming errors. The ability of executing for-
mal specifications is essential in order to test automatically an imple
mentation against its assertions. However, formal assertions may de
scribe recursive models which are di±cult to identify so current assertion
checkers limit, in a considerable way, the expressivity of the assertion
language. In this paper, we are interested in showing how transforma-
tional synthesis can help to execute \expressive" assertions r of the form
8¹x(r(¹x) , Q¹yR(¹x; ¹y)) where Q is either an existential or universal quan-
tifier and R a quantifier free formula in the language of a formal theory
C we call assertion context. This sort of theories is interesting because
it presents a balance between expressiveness for writing assertions and
existence of effective methods for compiling and executing them
Synthesis of positive logic programs for checking a class of definitions with infinite quantification
We describe a method based on unfold/fold transformations that synthesizes positive logicprograms P(r)with the purpose of checking mechanically definitions of the form D(r) =∀X(r(X) ⇔QYR(X, Y))where ris the relation defined by the formula QYR(X, Y), Xis a set of variables to be instantiated at runtime by ground terms, QYis a set of quantifiedvariables on infinite domains (Qis the quantifier) and R(X, Y)a quantifier-free formulain the language of a first-order logic theory. This work constitutes a first step towards theconstruction of a new type of assertion checkers with the ability of handling restrictedforms of infinite quantification
Towards a Theory on the Role of Ontologies in Software Engineering Problem Solving: Conclusions from a Theoretical Model of Methodological Works
We present and validate a theoretical model of methodological
works in Software Engineering that, without claiming for completeness,
allows us to investigate the role of ontologies in the problem solving
process related with the development of software. Our main conclusion
is the potential of ontologies as resources for an individual to think during
problem solving. We argument that suitable ontologies can support
solving strategies as well as motivate their invention. We also conclude
the importance of accompany an ontology with knowledge that guides
the engineer in reasoning with its concepts.
The model regards a methodological work as an heterogeneous theory
about a class of problems and about a number of conceptual elements.
Some of the elements are ontologies, which play the role of identifying and
relating aspects of the knowledge about the class of problems, making up
novel perspectives on the problems that may promote solving strategies.
For illustration purposes, we take Jackson’s “Problem Frames” as a
case study. We analyse this work through the former model, identifying
the ontologies, guides, and promoted strategies. Then we propose an
alternative ontology, based on that used in the KAOS approach; we reformulate
some parts of Jackson’s work through this ontology and propose
a strategy as well as some guides.Comisión Interministerial de Ciencia y Tecnología TIC 2003-02737-C02-0
The intentional relationship of representation between the constructs of a language and reality
Specifications of conceptualisations (ontologies) are often employed for represent-
ing reality, both in knowledge representation and software engineering. While lan-
guages o®er sophisticated constructs and rigorous semantics for building concep-
tual entities, no attention is paid to the relationship between such entities and the
world they intend to represent. This paper studies such a relationship and provides
empirical evidences in favour of two main hypotheses: (1) conceptualisations are
insuficient to fully represent the specifics of reality; (2) languages (both represen-
tation and design-oriented) are general representations of (classes of) systems in
the world, and they can be characterised as scientific theories. The first hypoth-
esis establishes a problem for which we propose a solution based on the explicit
elaboration of statements claiming the similarity (in some respects and to certain
degrees of accuracy) between conceptual entities and real-world systems of interest.
The second hypothesis constitutes a new perspective for understanding languages,
whose advantages to representation and design are discussed in detail.Ministerio de Educación y Ciencia HUM2007-66607-C04-0
Some Problems of Current Modelling Languages that Obstruct to Obtain Models as Instruments
In this paper we reflect on the usefulness of current modelling languages. We defend that objects elaborated with such languages are instruments that pursue one or several typi ed purposes, which include: (1) to represent knowledge about some subject, whether real or imaginary; (2) to help in understanding and in answering questions about the properties of some subject; and (3) to stimulate the engineer's creativity in solving some problem. We reason that achieving this instrumental role in modelling languages is a necessary condition for a Model-Driven Software Engineering. However, studying several languages of common use in practice, we claim that there are at least four problem categories that obstruct that useful models as instruments can be elaborated with current modelling languages
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
Una experiencia en el diseño y la impartición de una asignatura en torno a la metodología del aprendizaje basado en proyectos
En este artículo presentamos nuestra experiencia
en la creación e impartición de una asignatura
sobre Arquitecturas Software que aplica la
metodología del aprendizaje basado en
proyectos. La asignatura pertenece a una joven
titulación de Máster Oficial creada bajo los
principios del Espacio Europeo de Educación
Superior (EEES) y actualmente ofrecida por la
Universidad de Sevilla como parte de su oferta
de estudios de postgrado. Las decisiones
tomadas en el diseño de la asignatura en torno a
una metodología activa y las conclusiones
extraídas de su impartición pueden ser de ayuda
a otros profesores durante el proceso de
adaptación de las diferentes titulaciones al
EEES