ABSTRACT
We extend and implement a modeling language based on concurrent active objects with application-level scheduling policies. The language allows a programmer to assign priorities at the application level, for example, to method definitions and method invocations, and assign corresponding policies to the individual active objects for scheduling the messages. Thus, we leverage scheduling and performance related issues, which are becoming increasingly important in multi-core and cloud applications, from the underlying operating system to the application level. We describe a tool-set to transform models of active objects extended with application-level scheduling policies into Java. This tool-set allows a direct use of Java class libraries; thus, we obtain a full-fledged programming language based on active objects which allows for high-level control of deployment related issues.
- Coordination Models and Languages, volume 4467, chapter Actors That Unify Threads and Events, pages 171--190. Springer Berlin/Heidelberg, 2007. Google ScholarDigital Library
- Gul Agha. Actors: a model of concurrent computation in distributed systems. PhD thesis, MIT, 1986.Google Scholar
- G. R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, 2000.Google ScholarDigital Library
- Joe Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 2007. Google ScholarDigital Library
- Fábio Corrêa. Actors in a new "highly parallel" world. In Proc. Warm Up Workshop for ACM/IEEE ICSE 2010, WUP '09, pages 21--24. ACM, 2009. Google ScholarDigital Library
- Frank S. de Boer, Mohammad Mahdi Jaghoori, and Einar Broch Johnsen. Dating concurrent objects: Real-time modeling and schedulability analysis. In CONCUR 2010, volume 6269, pages 1--18. 2010. Google ScholarDigital Library
- Philipp Haller and Martin Odersky. Scala actors: Unifying thread-based and event-based programming. Theoretical Computer Science, 410(2-3): 202--220, 2009. Google ScholarDigital Library
- Mohammad Mahdi Jaghoori, Ali Movaghar, and Marjan Sirjani. Modere: the model-checking engine of Rebeca. In Proc. 21st ACM Symposium on Applied Computing, pages 1810--1815, 2006. Google ScholarDigital Library
- Einar Broch Johnsen and Olaf Owe. An Asynchronous Communication Model for Distributed Concurrent Objects. Software and Systems Modeling, 6(1): 39--58, 2007.Google ScholarCross Ref
- Rajesh K. Karmani, Amin Shali, and Gul Agha. Actor frameworks for the JVM platform: a comparative analysis. In Proc. 7th International Conference on Principles and Practice of Programming in Java, PPPJ '09, pages 11--20. ACM, 2009. Google ScholarDigital Library
- K Lundin. Inside the Erlang VM, focusing on SMP. Presented at Erlang User Conference. Available at http://www.erlang.se/euc/08/euc_smp.pdf, November 13, 2008.Google Scholar
- Mike Rettig. Jetlang Library, 2008. http://code.google.com/p/jetlang/.Google Scholar
- Sriram Srinivasan and Alan Mycroft. Kilim: Isolation-Typed Actors for Java. In ECOOP 2008 - Object-Oriented Programming, volume 5142, pages 104--128. Springer Berlin/Heidelberg, 2008. Google ScholarDigital Library
- Carlos Varela and Gul Agha. Programming dynamically reconfigurable open systems with SALSA. SIGPLAN Not., 36: 20--34, December 2001. Google ScholarDigital Library
- Ingrid Chieh Yu, Einar Broch Johnsen, and Olaf Owe. Type-safe runtime class upgrades in Creol. In Proc. FMOODS'06, volume 4037 of LNCS, pages 202--217. Springer-Verlag, June 2006. Google ScholarDigital Library
Index Terms
- Programming and deployment of active objects with application-level scheduling
Recommendations
Declarative scheduling for active objects
SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied ComputingActive objects are programming constructs that abstract distribution and help to handle concurrency. In this paper, we extend the multiactive object programming model to offer a priority specification mechanism. This mechanism allows programmers to have ...
Adaptive scheduling on unrelated machines with genetic programming
Graphical abstractDisplay Omitted HighlightsA scheduling procedure consisting of a meta-algorithm and priority function is described.A genetic programming approach used to generate priority functions for scheduling on unrelated machines.A comparative ...
Using passive object garbage collection algorithms for garbage collection of active objects
MSP 2002 and ISMM 2002With the increasing use of active object systems, agents and concurrent object oriented languages like Java, the problem of garbage collection (GC) of unused resources has become more complex. Since active objects are autonomous computational agents, ...
Comments