Konstantin Shagin

Learn More
As the multiplicity of organizational domains often span across nations, or even continents, the need for federated communications across domains becomes paramount. Consequently, messaging middleware has become critical towards enabling cross-domain, wide-area federations. Cross-domain federation has placed increased emphasis on the need for the messaging(More)
This paper describes the design and presents the preliminary performance evaluation of JavaSplit, a portable runtime for distributed execution of multithreaded Java programs. JavaSplit transparently distributes threads and objects of an application among the participating nodes. Thus, it gains augmented computational power and increased memory capacity(More)
Code instrumentation is widely used for a range of purposes that include profiling, debugging, visualization, logging, and distributed computing. Due to their special status within the language infrastructure, the <i>standard class libraries</i>, also known as <i>system classes</i> provided by most contemporary object-oriented languages are(More)
Since the introduction of the Java language less then a decade ago, there have been several attempts to create a runtime system for distributed execution of multithreaded Java applications. The goal of these attempts was to gain increased computational power while preserving Java's convenient parallel programming paradigm. This paper gives a detailed(More)
Program analysis plays an important role in a variety of software engineering processes, such as automated code refactoring, compiler optimizations, and program slicing. The internal program representation used by the program analysis algorithm affects the power and efficiency of the analysis. In particular, representations that contain data-flow(More)
Soft real-time applications require timely delivery of messages conforming to the soft real-time constraints. Satisfying such requirements is a complex task both due to the volatile nature of distributed environments, as well as due to numerous domain-specific factors that affect message latency. Prompt detection of the root-cause of excessive message delay(More)
Transactional memory and speculative locking are optimistic concurrency control mechanisms, whose goal is to enable highly concurrent execution while reducing the programming effort. The same basic idea lies in the heart of both methods: optimistically execute a critical code segment, determine whether there have been data conflicts and roll back in case(More)