Developing advanced command histories to improve digital editing processes : A Swiss army knife of command histories model and architecture
Développement d'historiques de commandes avancés pour améliorer le processus d'édition numérique : Développement d’un modèle et d’une architecture d’historique de commandes multi-fonction
Abstract
Command histories are ubiquitous in the field of editing. Several history models have emerged with time, exploring various functionalities like different types of undoing and re-execution as well as managing the consequences of their usage. These models share structural and functional characteristics, albeit often adapted to a specific use case. These characteristics can be categorised to study the differences between these models. Choosing between the possible characteristics will have consequences on the behaviour of the proposed functionalities, that is to say a functionality will have different effects depending on the model's characteristics.In this thesis, we study the link between the command histories' functionalities and the internal structure of these histories. The objective is to present a command history software architecture giving the system the choice over the functionalities' behaviour. This requires implementing them in a non exclusive and combinable way through one unique history structure. Being able to choose between the various behaviours can become useful for the user during an editing task. However, the models in the literature aren't combinable, forcing the software developer to make a behaviour choice ahead of time. This limits the history's capabilities, preventing it from answering some user needs. Three contributions derive from this statement:A categorisation of command history characteristics links together the various models and discussions about command histories in the literature. A list of choices to be made at the time of implementation of a functionality and the existing options available is established. This sets a foundation for building a unified model.The abstract command history model ESCI unifies the various models into one structure, capable of replicating the various behaviours presented in the literature. This model is based on Causality and goes further into details. The main difference between these two models is their state management. ESCI also adds some flexibility in the tracing of data evolution.The ReTracer software architecture is a way to implement ESCI. It goes into technical details. Implementing this model allows for studies about the benefits of such a command history as well as adequate interaction interfaces, which is a future project.
Les historiques de commandes sont omniprésents dans le monde de l'édition. Au cours du temps, plusieurs modèles d'historiques ont émergé, abordant différentes fonctionnalités comme des types d'annulation et de ré-exécution, ainsi que la gestion des conséquences de leur utilisation. Ces modèles, bien que souvent adaptés à un cas d'usage spécifique, partagent des caractéristiques structurelles et fonctionnelles communes. Ces caractéristiques peuvent être catégorisées pour étudier les différences entre ces modèles. Certains de ces choix de caractéristiques vont avoir des conséquences sur le comportement des fonctionnalités proposées, c'est à dire qu'une fonctionnalité aura des effets différents selon certaines caractéristiques du modèle la proposant.Cette thèse porte sur le lien entre les fonctionnalités proposées par les historiques de commande et la structure interne de ces historiques. L'objectif de cette thèse est de présenter une architecture logicielle d'historique de commandes laissant au logiciel le choix du comportement des fonctionnalités parmi au moins ceux étudiés dans la littérature. Cela demande de pouvoir les implémenter de manière non exclusive et combinable avec une même structure d'historique.En effet, les différentes fonctionnalités et comportements proposés par les différents modèles s'avèrent être utiles pour l'utilisateur lors d'une tâche d'édition. Ces modèles ne sont cependant pas combinables, forçant un choix en amont par le développeur du logiciel d'édition, et limitant ainsi les capacités de l'historique, qui ne pourra alors pas répondre à certains besoins de l'utilisateur lors de son travail d'édition. Ce constat est la motivation principale de cette thèse, et a mené à trois contributions :⦁ La catégorisation des caractéristiques des historiques de commande permet de mettre en relation et d'organiser les différents modèles et discussions de l'état de l'art dans le domaine des historiques de commandes comprenant de nombreuses sous parties. Elle établit la liste des choix à faire lors de l'implémentation d'une fonctionnalité et les options existantes qui mènent vers des comportements différents. Elle propose une manière d'approcher le sujet dans sa globalité, et établit ainsi une fondation pour un modèle unifié.⦁ Le modèle abstrait ESCI unifie le fonctionnement des historiques en présentant une structure d'historique qui permet d'implémenter les différents comportements des fonctionnalités de la littérature. Il reprend les concepts fondamentaux de Causality et les détaillent. La différence principale entre les deux modèles réside dans leur gestion des états, ESCI ajoutant de la flexibilité quant au suivi de l'évolution de données éditées.⦁ L'architecture logicielle ReTracer propose une manière d'implémenter ESCI. Elle permet d'apporter quelques précisions et aborde certains détails d'implémentation du modèle. L'implémentation du modèle permet de mener des expériences pour étudier les apports d'un tel historique au travail d'édition de l'utilisateur ainsi que les interfaces d'interaction adaptées, qui est un projet à venir.
Origin | Version validated by the jury (STAR) |
---|