Debugging concurrent Java programs is a difficult task because of multiple control flows and inherent nondeterminism. It requires techniques not provided by traditional debuggers such as tracing, visualization, and au...
详细信息
ISBN:
(纸本)3540433236
Debugging concurrent Java programs is a difficult task because of multiple control flows and inherent nondeterminism. It requires techniques not provided by traditional debuggers such as tracing, visualization, and automated error analysis. Therefore, we have developed the JaVis environment for visualizing and debugging concurrent Java programs. The information about a running program is collected by tracing. The Unified Modeling Language (UML) is used for the visualization of traces. Traces are automatically analyzed for deadlocks. The tracing is implemented using the Java Debug Interface (JDI) of the Java Platform Debugger Architecture. The visualization is integrated into the UML CASE tool Together.
Synchronization and scheduling of system components form a major part of the requirements of today's complex systems, such as soft-real-time and reactive/adaptive systems. We present a general framework for the re...
详细信息
Synchronization and scheduling of system components form a major part of the requirements of today's complex systems, such as soft-real-time and reactive/adaptive systems. We present a general framework for the reflective, distributed, and hierarchical prioritization of complex system components. Our framework differs from other approaches in a few ways: Synchronization and scheduling policies are expressible as first class constructs;they can be specified and programmed like any other language construct. The framework supports complete locality control: The system components are partitioned into a hierarchy of levels. Each hierarchy level has complete control over its functionality, behavior, actions, synchronization, and scheduling;each level prioritizes only the components within itself. The system dynamically computes and alters a prioritization policy expression at each level during run time. The abstraction treats the synchronization and scheduling controls as it has been the case for data and operations in object-orientedprogramming languages. The schema allows for the reuse and extension of such controls through specification parts.
The notion of group-wide reflection is presented. Group-wide reflection, a dimension of computational reflection in concurrent systems, allows each computational agent (actor/object/process) to reason about and act up...
详细信息
暂无评论