Formalising Java RMI with explicit code mobility
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Eventrons: a safe programming construct for high-frequency hard real-time applications
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
A framework for implementing pluggable type systems
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Language support for fast and reliable message-based communication in singularity OS
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Reflexes: abstractions for highly responsive systems
Proceedings of the 3rd international conference on Virtual execution environments
Scoped types and aspects for real-time Java memory management
Real-Time Systems
Encapsulating objects with confined types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Streamflex: high-throughput stream programming in java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Formalising Java RMI with explicit code mobility
Theoretical Computer Science
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Flexible task graphs: a unified restricted thread programming model for java
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Implicit ownership types for memory management
Science of Computer Programming
Practical, pluggable types for a dynamic language
Computer Languages, Systems and Structures
High-Performance Transactional Event Processing
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
CDx: a family of real-time Java benchmarks
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Race-free and memory-safe multithreading: design and implementation in cyclone
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Modular shape analysis for dynamically encapsulated programs
ESOP'07 Proceedings of the 16th European conference on Programming
Static checking of safety critical Java annotations
Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
Exhaustive testing of safety critical Java
Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
Capabilities for uniqueness and borrowing
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Region-Based RTSJ Memory Management: State of the art
Science of Computer Programming
On the revival of dynamic languages
SC'05 Proceedings of the 4th international conference on Software Composition
Scoped types and aspects for real-time java
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Patterns for safety-critical Java memory usage
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Aliasing in Object-Oriented Programming
Static safety guarantees for a low-level multithreaded language with regions
Science of Computer Programming
Hi-index | 0.00 |
A memory model based on scoped areas is one of the distinctive features of the Real-Time Specification for Java (RTSJ). Scoped Types ensure timely reclamation of memory and predictable performance. The price to pay for these benefits is an unfamiliar programming model that, at the same time, is complex, requires checking all memory accesses, and rewards design-time errors with run-time crashes. We investigate an alternative approach, referred to as Scoped Types, that simplifies the task of managing memory in real-time codes. The key feature of our proposal is that the run-time partition of memory imposed by scoped areas is straightforwardly mirrored in the program text. Thus cursory inspection of a program reveals which objects will inhabit the different scopes, significantly simplifying the task of understanding real-time Java programs. Moreover, we introduce a type system which ensures that no run-time errors due to memory access checks will occur. Thus a RTSJ-compliant virtual machine does not require memory access checks. The contributions of this paper are the concept of Scoped Types, and a proof soundness of the type system. Experimental results will be described in future work.