Les applications auto-adaptables modifient leur comportement de façon dynamique et autonome par le biais d'opérations d'introspection, de recomposition, d'ajout et suppression de composants, dans le but de s'adapter aux changements pouvant survenir dans leur contexte d'exécution. Un des moyens de favoriser leur robustesse est de disposer d'un support formel permettant de modéliser ces applications, de spécifier les programmes d'adaptation, d'y exprimer des propriétés et de les vérifier. Nous proposons un cadre formel de spécification et de raisonnement sur des programmes avec reconfiguration dynamique inspiré du modèle à composants Fractal. Le cadre proposé, nommé FracL, est fondé sur une description axiomatique des primitives de Fractal en logique de premier ordre, et permet la spécification et la preuve des propriétés autant fonctionnelles que de contrôle dans ces systèmes. Notre modèle a été traduit dans l'atelier de spécification et de preuve Focal, ce qui permet à la fois d'en assurer la cohérence et de fournir un cadre outillé pour raisonner sur des applications concrètes. ABSTRACT. Self-adapting software adapts its behavior in an autonomic way, by dynamically adding, suppressing and recomposing components, and by the use of computational reflection. One way to enforce software robustness while adding adaptative behavior is disposing of a formal support allowing these programs to be modeled, and their properties specified and verified. We propose FracL, a formal framework for specifying and reasoning about dynamic reconfiguration programs being written in a Fractal-like programming style. FracL is founded on first order logic, and allows the specification and proof of properties concerning either functional concerns or control concerns. Its encoding using the Focal proof framework, enabled us to prove FracL coherence and to obtain a mechanized framework for reasoning on concrete architectures.
ion skill is difficult but essential when learning computer science and mathematics. In this paper, we present an experience from the Computer Science Department of IUT de Montreuil in which mathematics and computing teaching work together in order to provide abstract thinking skills to students. Our approach is to connect mathematics and software engineering through a computer-supported approach which uses-in mathematics and software engineering undergraduate courses-Alloy, a lightweight formal method from MIT. Alloy serves as a continuum from micro-modelling activities-used to enforce an abstract understanding of basic mathematic concepts-to real software modelling practice. It enables us to elaborate a kind of exploratory learning where students are actively engaged.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.