Using weaves for software construction and analysis

The authors discuss the architectural features of weaves, their implementation, and their use in a variety of applications. Weaves are networks of concurrently executing tool fragments that communicate by passing objects. Weaves are distinguished from other dataflow styles by their emphasis on instrumentation, continuous observability, and dynamic rearrangement: basic low-overhead instrumentation is inserted automatically, executing weaves can be observed at any time by means of sophisticated analysis agents, without degrading the performance of the weave, and weaves can be dynamically snipped and spliced without interrupting the data flow.<<ETX>>

[1]  David L. Black Scheduling support for concurrency and parallelism in the Mach operating system , 1990, Computer.

[2]  Douglas Stott Parker,et al.  Partial order programming (extended abstract) , 1989, POPL '89.

[3]  Calton Pu,et al.  Threads and input/output in the synthesis kernal , 1989, SOSP '89.

[4]  D. S. Parker Partial Order Programming. , 1989 .

[5]  van DamAndries,et al.  The Application Visualization System , 1989 .

[6]  Michael M. Gorlick,et al.  Gauge: A Workbench for the Performance Analysis of Logic Programs , 1988, ICLP/SLP.

[7]  K. Mani Chandy,et al.  Examples in program composition , 1990 .

[8]  Jeannette M. Wing,et al.  A language for distributed applications , 1990, Proceedings. 1990 International Conference on Computer Languages.

[9]  Mario Barbacci,et al.  Application-level programming , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[10]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

[11]  David H. Laidlaw,et al.  The application visualization system: a computational environment for scientific visualization , 1989, IEEE Computer Graphics and Applications.

[12]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[13]  Mitchell D. Lubars The IDeA design environment , 1989, ICSE '89.

[14]  David R. Barstow,et al.  The stream machine: a data flow architecture for real-time applications , 1985, ICSE '85.

[15]  Paul E. Haeberli,et al.  ConMan: a visual programming language for interactive graphics , 1988, SIGGRAPH.

[16]  K. Thompson,et al.  The UNIX time-sharing system , 1978 .

[17]  Michael M. Gorlick,et al.  Timing Prolog Programs without Clock , 1987, International Conference on Spoken Language Processing.

[18]  Paul R. Calder,et al.  The Design and Implementation of InterViews , 1993, C++ Workshop.

[19]  James C. Browne,et al.  TDFL: A Task-Level Dataflow Language , 1990, J. Parallel Distributed Comput..

[20]  Charles Richter,et al.  VERDI: A Visual Environment for Designing Distributed Systems , 1990, J. Parallel Distributed Comput..

[21]  K. Mani Chandy The composition of concurrent programs , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).