610 research outputs found
A Component-oriented Framework for Autonomous Agents
The design of a complex system warrants a compositional methodology, i.e.,
composing simple components to obtain a larger system that exhibits their
collective behavior in a meaningful way. We propose an automaton-based paradigm
for compositional design of such systems where an action is accompanied by one
or more preferences. At run-time, these preferences provide a natural fallback
mechanism for the component, while at design-time they can be used to reason
about the behavior of the component in an uncertain physical world. Using
structures that tell us how to compose preferences and actions, we can compose
formal representations of individual components or agents to obtain a
representation of the composed system. We extend Linear Temporal Logic with two
unary connectives that reflect the compositional structure of the actions, and
show how it can be used to diagnose undesired behavior by tracing the
falsification of a specification back to one or more culpable components
Colored model based testing for software product lines (CMBT-SWPL)
Over the last decade, the software product line domain has emerged as
one of the mostpromising software development paradigms. The main benefits
of a software product lineapproach are improvements in productivity, time
to market, product quality, and customersatisfaction.Therefore, one topic
that needs greater emphasis is testing of software product lines toachieve
the required software quality assurance. Our concern is how to test a
softwareproduct line as early as possible in order to detect errors,
because the cost of error detectedIn early phases is much less compared to
the cost of errors when detected later.The method suggested in this thesis
is a model-based, reuse-oriented test technique calledColored Model Based
Testing for Software Product Lines (CMBT-SWPL). CMBT-SWPLis a
requirements-based approach for efficiently generating tests for products
in a soft-ware product line. This testing approach is used for validation
and verification of productlines. It is a novel approach to test product
lines using a Colored State Chart (CSC), whichconsiders variability early
in the product line development process. More precisely, the vari-ability
will be introduced in the main components of the CSC. Accordingly, the
variabilityis preserved in test cases, as they are generated from colored
test models automatically.During domain engineering, the CSC is derived
from the feature model. By coloring theState Chart, the behavior of
several product line variants can be modeled simultaneouslyin a single
diagram and thus address product line variability early. The CSC
representsthe test model, from which test cases using statistical testing
are derived.During application engineering, these colored test models are
customized for a specificapplication of the product line. At the end of
this test process, the test cases are generatedagain using statistical
testing, executed and the test results are ready for evaluation.
Inxaddition, the CSC will be transformed to a Colored Petri Net (CPN) for
verification andsimulation purposes.The main gains of applying the
CMBT-SWPL method are early detection of defects inrequirements, such as
ambiguities incompleteness and redundancy which is then reflectedin saving
the test effort, time, development and maintenance costs
On UML statechart with variabilities
El uso de métodos formales para el diseño de software contribuye a la confiabilidad y robustez del sistema a construir. A medida que los sistemas se vuelven complejos, el enfoque formal es esencial, debido a que permite la demostrabilidad y verificabilidad del diseño. El diseño formal es un proceso que comienza con la etapa de especificación, en la cual el sistema es de nido utilizando un lenguaje de modelado; luego la etapa de verificación, en la cual el sistema es analizado mediante un enfoque de corrección basado en pruebas formales utilizando herramientas matemá ticas y, por último, la etapa de implementación, en la cual la especificación se convierte en código ejecutable. El Lenguaje de Modelado Unificado (UML por sus siglas en inglés) es un lenguaje específico ampliamente utilizado en la industria y la academia. Desafortunadamente, carece de una semántica formal que permita el desarrollo de modelos utilizando un enfoque de corrección basado en pruebas formales. Este trabajo se centra en la especificación formal de familias de sistemas, y, en particular, en la semán- tica de máquinas de estados de UML (UML Statecharts) con variabilidades y sus aplicaciones a líneas de productos de software. La principal contribución es la definición de un formalismo que permite modelar el comportamiento de una familia de sistemas. Tal comportamiento se describe utilizando UML Statecharts en combinación con Diagramas de funcionalidades (Feature Diagrams), con el fin de representar las funcionalidades comunes y variantes de una familia. Para ello se define una relación de orden entre los UML Statecharts, que representa el hecho de que un statechart posee una estructura mas rica que otro. Luego se defi ne con precisión la forma de combinar diferentes extensiones de un mismo statechart. Utilizando estos conceptos, es posible definir el efecto que cada funcionalidad tiene en los productos en los cuales se encuentra presente.Estas definiciones proporcionan una forma muy simple de obtener la especificación del comportamiento de un producto de la línea como la combinación de los UML Statecharts que implementan todas las funcionalidades presentes en un producto en particular. Mas aún, se prueba que la relación de extensión propuesta constituye un refinamiento de comportamiento. El presente enfoque se compara con el estado del arte y se estudia su aplicación práctica con el n de visualizar sus bene cios y posibles debilidades. Adicionalmente, con el fin de comprobar la adecuación de la propuesta, una gran parte de las ideas fueron implementadas en un prototipo utilizando Prolog
- …