Java et ses aspects concurrents : sémantique formelle, visualisation et propriétés

par Marjorie Laurence Russo

Thèse de doctorat en Informatique

Sous la direction de Isabelle Attali et de Denis Caromel.

Soutenue en 2001

à Nice .


  • Résumé

    Java est un langage à objets concurrent. Ces deux facettes, déjà complexes prises isolément, deviennent très difficiles à appréhender quand elles sont réunies. Une sémantique formelle de Java est alors quasiment indispensable afin de pouvoir définir de façon formelle chaque caractéristique du langage étudié. Cette spécification devient alors une référence à laquelle le programmeur peut se reporter en cas de problème lors de la mise au point de programmes. Elle constitue aussi une base formelle au développement de preuves de propriétés. Nous avons fait le choix de définir une sémantique dynamique qui spécifie l’exécution de programme Java (par opposition à une sémantique dynamique qui spécifie l’exécution de programme Java (par opposition à une sémantique statique qui spécifierait les aspects typage du langage). L’utilisation du formalisme Typol disponible au sein du système Centaur pour exprimer cette sémantique nous a permis de la rendre directement exécutable, ce qui nous a amené à développer un environnement de visualisation de l’exécution de programmes Java mettant graphiquement en évidence les mécanismes liés à l’orientation objet, à la concurrence et à la synchronisation. Dans un dernier temps, nous avons examiné des propriétés du langage Java portant sur la concurrence et la synchronisation et nous avons étudié leur expression et leur vérification u sein de notre sémantique.

  • Titre traduit

    Java and its concurrent features : formal semantics, visualization and properties


  • Résumé

    Java is a concurrent object-oriented programming language. These two features, already complex when isolated, become even more difficult to understand when they are mixed. A formal semantics of Java is essential in order to formally define each language characteristic. Such a specification becomes a reference for programmers who can refer to it when writing programs. It is also a formal basis for proofs of languages properties. We choose to define a dynamic semantics which specifies Java program execution (in contrast to a static semantics which specifies the language typing aspects). The Typol formalism, available in the Centaur system, enables us to get semantics that it directly executable. Therefore we have developed a visualization environment for Java program execution, which presents the object-oriented mechanisms, and the features related to concurrency and synchronization graphically. Finally we examine some properties of the Java language related to the concurrency and synchronization mechanisms and we study their expression and verification in our semantic definition.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 182 p.
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p. 169-181. Résumés en français et en anglais

Où se trouve cette thèse ?

  • Bibliothèque : Université Nice Sophia Antipolis. Service commun de la documentation. Section Sciences.
  • Disponible pour le PEB
  • Cote : 01NICE5636
  • Bibliothèque : Université Nice Sophia Antipolis. Service commun de la documentation. Section Sciences.
  • Disponible pour le PEB
  • Cote : 01NICE5636bis
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.