Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of informetion, including suggestions for reducing this burden,
ObjectiveThe fundamental objective of Arcadia was to develop technically rich solutions across the breadth of the problem (developer support, product architectures, tool technologies) that are technically compatible, functionally comprehensive, and mutually reinforcing.Active process support was developed to help human developers, including non-technical managers, coordinate their activities while integrating commercial project planning tools. Analysis and testing tools were developed to provide high assurance in software, through provision of pre-run-time analyses, test case development, test result checking, and test process management tools. Powerful program analysis tools were developed which enable early detection of subtle coordination errors in concurrent systems composed of heterogeneous parts. Evolvable software architectures, first in the domain of user interface software, were developed to enable a more component-based software economy. World-Wide-Web and hypermedia technology were developed to foster easy information access, connections between software artifacts, and human understanding of complex systems.
ApproachProcedurally, the Arcadia project's approach was one of iteration, prototyping, and integration. Emphasis was placed on identification of principles that transcend idiosyncratic implementations. The integrating environment conceptual architecture was based on a set of coherent principles iteratively refined through experience with the prototype component implementations. Specific technology transition efforts with various consumers were used to validate the technology in actual practice situations. Separate technologies were first prototyped, then pair-wise integrations performed, then multi-way integrations.The work in distributed, team-oriented software development was focused on determining effective ways of explicitly describing team-based activities, determining which parts of those activities could best be supported by automated tools, and technologies were developed to perform that automation. A critical aspect of this work was developing an effective basis for management of projects over the net; consequently, a distributed architecture implemented in Java was adopted. In a nutshell, this was research targeted at the intersection of software process research and computer-supported cooperative work (CSCW)/Groupware research. Specific technical innovation came from support for non-technical users, techniques supporting two-way integration with commercial project planning and communication tools, and support for reuse and adaptation of process fragments.