This thesis presents the design and implementation of a software development platform (ATLAS) which offers some tools and methods to greatly simplify the construction of fairly sophisticated applications. It allows thus programmers to include advanced features in their applications with no or very little extra information and effort. These features include: the splitting of the application in distinct processes that may be distributed over a network; a powerful configuration and scripting language; several tools including an input system to easily construct reasonable interfaces; a flexible journaling mechanism --offering fault-tolerance to crashes of processes or communications--; and other features designed for graphics applications, like a global data identification- --addressing the problem of volatile references and giving support to processes of constraint solving--, and a uniform but flexible view of inputs allowing many different dialogue modes.These can be seen as related or overlapping with CORBA or other systems like Horus or Arjuna, but none of them addresses simultaneously all aspects included in ATLAS; more specifically none of them offers a standardized input model, a configuration and macro language, a journaling mechanism or gives support to processes of constraints solving and parametric design.The contributions of ATLAS are in showing how all these requirements can be addressed together; also in showing means by which this can be attained with little or no performance cost and without imposing on developers the need of mastering all these techniques. Finally, the design of the ATLAS journaling system is to our knowledge original in the simultaneous solution of all of its requirements.
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder. If you wish to make any use of the work not provided for in the law, please contact: firstname.lastname@example.org