Time filter

Source Type

Fiji, United States

Ziarek L.,State University of New York at Buffalo | Blanton E.,Fiji Systems Inc.
ACM International Conference Proceeding Series

Mixed-criticality systems provide the ability to execute code of differing criticality levels, such as code that provides safety guarantees versus code that responds to user input, side by side in the same system while still providing predictability guarantees. This is accomplished by providing time, space, and resource isolation between code of differing criticality levels. Multi-VMs provide the foundation for implementation a real-time-Java-based mixed-criticality system. In this paper we introduce the Fiji MultiVM and describe its time isolation mechanism, which provides scheduling guarantees between Java programs of differing criticality levels. © 2015 ACM. Source

Holzer A.,Ecole Polytechnique de Montreal | Ziarek L.,Fiji Systems Inc. | Jayaram K.R.,Purdue University | Eugster P.,Purdue University
Proceedings of the 10th International Conference on Aspect-Oriented Software Development, AOSD.11

Event-based programming is an appealing paradigm for developing pervasive systems since events enable the decoupling of interacting components. Unfortunately, many event-based languages and systems have hardwired notions of physical or logical time and space. This limits their adaptability and target deployment environments, as pervasive systems rely on inherent interaction and interchanging of different protocols and infrastructures. This paper introduces domain-specific aspects for capturing event context, generalizing beyond the classic time and space dimensions associated with events. Through examples, we demonstrate that our context aspects - conspects for short - modularize the design and implementation of event contexts, enabling code reuse, and making programs portable across infrastructures. We illustrate the benefits of conspects by using them to transparently switch protocols in two pervasive software suites implemented in EventJava: (1) a tornado monitoring system deployed on different architectures ranging from desktop x86 to embedded LEON3, and (2) a mobile social networking suite with protocols for different application scenarios. Source

Ziarek L.,Fiji Systems Inc.
ACM International Conference Proceeding Series

Priority inheritance protocol (PIP) is an important protocol to prevent unbounded priority inversion of threads which contend on shared resources. Recently, there has been a renewed interest in reducing the latency and increasing predictability for high priority threads that acquire contended resources from low priority threads. In this paper we present an extension to PIP called Priority Rollback Protocol, which allows high priority threads to rollback low priority threads, thereby freeing contended resources. PRP leverages recent advances in software transactional memory (STM) to facilitate efficient and predictable reversion of low priority threads. We present two versions of the PRP algorithm and compare and contrast their tradeoffs. PRP is geared toward mixed criticality systems, specifically for providing tight and predictable bounds for direct communication between processes. Since PRP is an extension of PIP, systems can seamlessly leverage both PIP and PRP locks. Copyright 2010 ACM. Source

Blanton E.,Fiji Systems Inc. | Ziarek L.,Fiji Systems Inc. | Ziarek L.,State University of New York at Buffalo
ACM International Conference Proceeding Series

Predictable concurrency control is difficult. In this paper we present wait-free pair transactions, a lightweight, transactional communication object with the goal of achieving predictable communication between concurrent threads of execution, a key component to predictable concurrency control. Wait-free pair transactions allow entirely non-blocking, but one-way, communication between a dedicated reader and writer. Wait-free pair transaction objects provide transactional semantics for data consistency on the object being communicated by the reader and writer, but never require blocking, have a strictly bounded spatial overhead, and constant time overhead for any field accesses. We provide a detailed description of the implementation of wait-free pair transactions in Fiji VM and show how they can be leveraged for safe and predictable communication in a mixed-criticality environment. We demonstrate the runtime characteristics and predictability of wait-free pair transactions on a mixed criticality UAV flight control system benchmark. © 2013 ACM. Source

Blanton E.,Fiji Systems Inc. | Lessa D.,University of Buffalo Computer Science and Engineering | Arora P.,University of Buffalo Computer Science and Engineering | Ziarek L.,Fiji Systems Inc. | And 2 more authors.
Concurrency Computation

Hard real-time systems have stringent timing and resource requirements. As such, debugging and tracing such systems often requires low-level hardware support, and online debugging is usually precluded entirely. In other areas, however, visual debugging has greatly improved program understanding and late cycle development times for nonreal-time applications. In this paper, we introduce a visual test and debug framework for hard real-time Java applications built around the JIVE platform and realized in the Fiji virtual machine. Our framework, called JI.FI ["dZIfi], provides high-level debugging support over low-level execution traces. JI.FI provides both powerful visualizations and real-time centric temporal query support. To ensure preservation of the real-time characteristics of the application being tested and debugged, JI.FI leverages a real-time event log infrastructure that logs only relevant application and virtual machine level events, such as synchronization and modifications to priorities or thread state. Our performance results indicate that our logging infrastructure is suitable for hard real-time systems, as the performance impact is both uniform and quantifiable. Copyright © 2013 John Wiley & Sons, Ltd. Source

Discover hidden collaborations