Papers by Virginia Aponte

Typage d'un système de modules paramétriques avec partage : une application de l'unification dans les théories équationnelles
Modl est un langage pour la decomposition modulaire de programmes, independant de tout langage de... more Modl est un langage pour la decomposition modulaire de programmes, independant de tout langage de base et explicitement type. Il possede des modules parametriques, une notion d'inclusion de sous-modules et la possibilite de contraindre des sous-modules a etre partages. Modl est inspire du langage de modules de sml, qui est un langage fonctionnel de la famille ml. Nous donnons une methode conceptuellement simple, efficace et precise pour typer modl. Elle est simple car le codage des notions d'inclusion et de partage repose entierement sur les theories bien connues d'unification et de polymorphisme. Elle est efficace car les verifications de coherence deviennent entierement locales et ne dependent que de l'unifiabilite des termes, ce qui permet d'ecarter plus rapidement des types incorrects. Elle est enfin tres precise car elle permet d'extraire a partir des regles un algorithme de typage complet
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93, 1993
We extend term unification techniques used to type extensible records in order to solve the two m... more We extend term unification techniques used to type extensible records in order to solve the two main typing problems for modules in Standard ML: matching and sharing. We obtain a type system for modules baaed only on well known unification problems, modulo some equational theories we define. Our formalization is simple and has the elegance of polymorphic type disciplines based on unification. It can be seen as a synthesis of previous work on module and record typing.
Spécification et vérification de composants : état de l'art
Modélisation formelle du contrôle en Fractal
État De L'Art Du Typage Pour L'Intéropérabilité Entre Composants
Modélisations de la reconfiguration dynamique en Focal
Modélisation de la reconfiguraton dynamique avec Focal
A declarative formal approach to dynamic reconfiguration
Proceedings of the 1st international workshop on Open component ecosystems, 2009
Editing First-Order Proofs: Programmed Rules vs Derived Rules
International Logic Programming Symposium/International Symposium on Logic Programming/North American Conference on Logic Programming/Symposium on Logic Programming, 1984
Lecture Notes in Computer Science, 1996
This work focuses on software reuse for languages equipped with a module system. To retrieve modu... more This work focuses on software reuse for languages equipped with a module system. To retrieve modules from a library, it is quite reasonable to use module signatures as a search key, up to a suitable notion of signature isomorphism. We study a formal notion of isomorphism for module signatures, which naturally extends the notion of isomorphism for types in functional languages. Isomorphisms between module types surprisingly have nontrivial interactions with the theory of isomorphisms of the base language to which the module system is added. We investigate the power of this notion in equating module signatures, and we study its decidability. This work does not impose any limitative assumption on the module system as we handle type declarations in signatures, type sharing and higher order modules.

Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technology, 2013
We present the first steps of a broad effort to develop a formal representation of SPARK 2014 sui... more We present the first steps of a broad effort to develop a formal representation of SPARK 2014 suitable for supporting machine-verified static analyses and translations. In our initial work, we have developed technology for translating the GNAT compiler's abstract syntax trees into the Coq proof assistant, and we have formalized in Coq the dynamic semantics for a toy subset of the SPARK 2014 language. SPARK 2014 programs must ensure the absence of certain run-time errors (for example, those arising while performing division by zero, accessing non existing array cells, overflow on integer computation). The main novelty in our semantics is the encoding of (a small part of) the run-time checks performed by the compiler to ensure that any well-formed terminating SPARK programs do not lead to erroneous execution. This and other results are mechanically proved using the Coq proof assistant. The modeling of on-the-fly run-time checks within the semantics lays the foundation for future work on mechanical reasoning about SPARK 2014 program correctness (in the particular area of robustness) and for studying the correctness of compiler optimizations concerning run-time checks, among others.
Maximal and Compositional Pattern-Based Loop Invariants
Lecture Notes in Computer Science, 2012
Une approche formelle de la reconfiguration dynamique
L'objet, 2008
Entertainment Computing, 2011
In this paper, we discuss the interest and the need to evaluate the difficulty of single player v... more In this paper, we discuss the interest and the need to evaluate the difficulty of single player video games. We first show the importance of difficulty, drawing from semiotics to explain the link between tensionresolution cycles and challenge with the player's enjoyment. Then, we report related work on automatic gameplay analysis. We show through a simple experimentation that automatic video game analysis is both practicable and can lead to interesting results. We argue that automatic analysis tools are limited if they do not consider difficulty from the player point of view. The last two sections provide a player and Game Design oriented definition of the challenge and difficulty notions in games. As a consequence we derive the property that must fulfil a measurable definition of difficulty.
Uploads
Papers by Virginia Aponte