The Gutenberg Experimen: Testing Design Principles as Hypotheses

THE GUTENBERG OPERATING SYSTEM HAS BEEN DESIGNED TO FACILITATE THE DEVELOPMENT OF MANAGEABLE AND UNDERSTANDABLE SYSTEMS COMPRISING MANY DISTRIBUTED, COOPERATING MODULES. GUTENBERG IS PORT-BASED WITH THE CREATION OF TYPES CONTROLLED BY A SYSTEM WIDE DIRECTORY OF CAPABILITIES THAT CONTROL THE INTERCONNECTION OF PROCESSES. PORT CREATION CAPABILITIES ARE LABELLED WITH THE NAMES OF OEPRATIONS THAT PROCESSES CAN REQUEST FROM THEIR EXTERNAL ENVIRONMENT. THIS IMPOSES AN ABSTRACT DATA TYPE VIEW ON ALL REQUESTS OF A PROCESS TO ITS ENVIRONMENT AND IS MEANT TO MAKE COMPLEX DISTRIBUTED SYSTEMS MORE COHERENT AND UNDERSTANDABLE THAN IS COMMON IN OTHER APPROACHES. THE GOAL OF THE GUTENBERG EXPERIMENT WAS TO TEST THE EXPRESSIVENESS AND IMPLEMENTATION DIFFICULTY OF THE GUTENBERG PARADIGM. TO THIS END, A PROTO- TYPE SYSTEM WAS BUILT AND APPLICATIONS FOR IT WERE IMPLEMENTED. THE DESIGN AND IMPLEMENTATION EFFORTS WERE OPPORTUNITIES FOR REFINING THE DESIGN, AN EFFORT THAT WAS ITSELF EXPERIMENTAL IN NATURE. THE REFINEMENT OF THE DESIGN WAS ORGANIZED AS A SERIES OF HYPOTHESES THAT CERTAIN PRINCIPLES WOULD LEAD TO BETTER QUALITY, FOLLOWED BY REDESIGNING IN ACCORDANCE WITH THE IMPLICATIONS OF THE HYPOTHESES, AND EVALUATING THE RESULTS. IN GENERAL, WE FOUND THAT THE APPLICATION OF SYMMETRY AND UNIFORMITY PRINCIPLES IMPROVED BOTH THE EXPRESSIVENESS AND EASE OF IMPLEMENTATION OF THE GUTENBER