Panini
The Panini project developed the capsule-oriented programming model, aimed at making concurrent software development easier through modular reasoning about concurrency. Given a module, it is possible to statically and modularly identify all points where other modules might interfere, and to bound the behavior of all potentially interfering tasks at each such point. We built two systems that support this model: PaniniJ, an extension of Java and its reference compiler, and @PaniniJ, an annotation-based framework.
This project concluded during the lab’s time at Iowa State University.
Software: @PaniniJ
Publications
- FSE '18 · Large-scale Study of Substitutability in the Presence of Effects
- Long PhD Thesis · Formal Foundations for Hybrid Effect Analysis
- Lin MS Thesis · PaniniJ: Adding the capsule programming abstraction to Java to provide linguistic support for modular reasoning in concurrent program design
- Bagherzadeh PhD Thesis · Toward a Concurrent Programming Model with Modular Reasoning
- OOPSLA '16 · First-Class Effect Reflection for Effect-Guided Programming
- Modularity '16 · A Type-and-Effect System for Asynchronous, Typed Events
- Modularity '16 · On Ordering Problems in Message Passing Software
- Upadhayaya MS Thesis · Abstraction and performance, together at last; Auto-tuning message-passing concurrency on the Java Virtual Machine
- Mooney MS Thesis · A Unified Design of Capsules
- OOPSLA '15 · Effectively Mapping Linguistic Abstractions for Message-passing Concurrency to Threads on the Java Virtual Machine
- Modularity '15 · Panini: A Concurrent Programming Model for Solving Pervasive and Oblivious Interference
- ICSE '15 (NIER) · Capsule-Oriented Programming
- ECOOP '15 · Intensional Effect Polymorphism
- AGERE '14 · An Automatic Actors to Threads Mapping Technique for JVM-Based Actor Frameworks
- Long MS Thesis · Implicit Invocation Meets Safe, Implicit Concurrency
- Onward! '10 · Concurrency by Modularity: Design Patterns, a Case in Point
- GPCE '13 · Implicit Invocation Meets Safe, Implicit Concurrency
- FoSER '10 · Building Scalable Software Systems in the Multicore Era