When a group of authors collaboratively edits interrelated documents, consistency problems occur almost immediately. Current document management systems (DMSs) provide useful mechanisms such as document locking and version control, but often lack consistency management facilities. At best, consistency is "defined" via informal guidelines, which do not support automatic consistency checks. In this thesis, we complement traditional DMSs by consistency management. We propose to use formal consistency rules that capture semantic consistency requirements. Rules are formalized in a variant of temporal logic. A static type system supports rule formalization, where types also define (formal) document models. In implementing a tolerant view of consistency, we do not expect that the documents satisfy consistency rules. Instead, our novel semantics precisely pinpoints inconsistent document parts and indicates when, where, and why documents are inconsistent. Speed is a key issue in consistency management. Therefore, we develop efficient techniques for consistency checking while retaining our tolerant semantics. Just pinpointing inconsistencies is, however, insufficient for flexible consistency management. We extend our consistency checking approach towards suggesting repairs, which resolve inconsistencies. The critical issues are to suggest only some of the best (i.e., least costly) repairs and to generate repairs efficiently. Therefore, we develop a new two-step approach. First, we employ directed acyclic graphs (DAGs) to carry repairs. These graphs are called suggestion DAGs (short: S-DAGs). In contrast to the enumeration of all possible repairs, S-DAGs provide a suitable means to generate repairs efficiently and to limit the search space for good repairs. Second, from S-DAGs, we derive one repair collection for all consistency rules. Due to the separation of repair derivation from S-DAG generation, the repository is locked during the computationally cheap S-DAG generation only. We have implemented a prototype of a consistency management tool. Our case study in the field of software engineering shows that our contributions can significantly improve consistency management in document engineering and scale to a practically relevant problem size.
«When a group of authors collaboratively edits interrelated documents, consistency problems occur almost immediately. Current document management systems (DMSs) provide useful mechanisms such as document locking and version control, but often lack consistency management facilities. At best, consistency is "defined" via informal guidelines, which do not support automatic consistency checks. In this thesis, we complement traditional DMSs by consistency management. We propose to use formal consisten...
»