Publications by Jan S. Rellermeyer
2011
ETH Zürich, Diss. Nr. 19610, March 2011
Supervised by: Prof. Gustavo Alonso
Supervised by: Prof. Gustavo Alonso
Computing systems are increasingly becoming dynamic. One example is cloud computing
and its property of elasticity. On cloud platforms, resources in the form of additional
nodes can be added and removed at any time. Software systems expected to run in such
environments, on the other hand, are not nearly as elastic and flexible. Another example
is the clearly visible trend towards incorporating an increasing number of processor
cores into modern computer systems. In the future, it is likely that not all of these cores
will have a uniform instruction set anymore but specialized units are used to accelerate
certain tasks. At the same time, however, the power envelope of computer systems is
increasingly becoming an issue so that probably not all cores can run at the same time
anymore. Software written for such systems is thereby required to adapt to a changing
pool of resources, a situation that todays software is hardly prepared for.
This thesis contributes towards understanding how to build software systems that are
able to reflect such a degree of flexibility. The fundamental observation underlying this
work is that in order to respond to the emerging dynamism in the platforms, software
has to become equally flexible in its design. This requires a segregation of the software
into smaller units. In the early days of computer science similar challenges in the development
process of complex software have catalyzed the concept of software modularity.
The premise of this thesis is that the same kind of modularizationwhen not only applied
on a logical level to the source code but also in a physical form and preserved until
runtime results in the required degrees of freedom in the design of software systems.
In combination with a smart runtime system, this approach turns software into flexible,
fluid entities able to adapt to a dynamic environment.
Three systems are presented in this thesis which are based upon the OSGi standard
for dynamic modules in the Java language. They enhance the standard with different
degrees of flexibility. The Juggle system co-manages software modules and the binaries
for reprogramming an FPGA device so that applications can be selectively accelerated
on demand and without interrupting running operations. The CPU/FPGA board serves
as an example of a computer system that is already dynamic and reprogrammable today.
@phdthesis{abc, abstract = {Computing systems are increasingly becoming dynamic. One example is cloud computing and its property of elasticity. On cloud platforms, resources in the form of additional nodes can be added and removed at any time. Software systems expected to run in such environments, on the other hand, are not nearly as elastic and flexible. Another example is the clearly visible trend towards incorporating an increasing number of processor cores into modern computer systems. In the future, it is likely that not all of these cores will have a uniform instruction set anymore but specialized units are used to accelerate certain tasks. At the same time, however, the power envelope of computer systems is increasingly becoming an issue so that probably not all cores can run at the same time anymore. Software written for such systems is thereby required to adapt to a changing pool of resources, a situation that today\&$\#$146;s software is hardly prepared for. This thesis contributes towards understanding how to build software systems that are able to reflect such a degree of flexibility. The fundamental observation underlying this work is that in order to respond to the emerging dynamism in the platforms, software has to become equally flexible in its design. This requires a segregation of the software into smaller units. In the early days of computer science similar challenges in the development process of complex software have catalyzed the concept of software modularity. The premise of this thesis is that the same kind of modularization\&$\#$151;when not only applied on a logical level to the source code but also in a physical form and preserved until runtime\&$\#$151; results in the required degrees of freedom in the design of software systems. In combination with a smart runtime system, this approach turns software into flexible, fluid entities able to adapt to a dynamic environment. Three systems are presented in this thesis which are based upon the OSGi standard for dynamic modules in the Java language. They enhance the standard with different degrees of flexibility. The Juggle system co-manages software modules and the binaries for reprogramming an FPGA device so that applications can be selectively accelerated on demand and without interrupting running operations. The CPU/FPGA board serves as an example of a computer system that is already dynamic and reprogrammable today.}, author = {Jan S. Rellermeyer}, school = {19610}, title = {Modularity as a Systems Design Principle}, year = {2011} }
Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Lisbon, Portugal, January 2011
@inproceedings{abc, author = {Michael Duller and Jan S. Rellermeyer and Gustavo Alonso and Nesime Tatbul}, booktitle = {Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Lisbon, Portugal}, title = {Virtualizing Stream Processing}, url = {http://dx.doi.org/10.1007/978-3-642-25821-3_14}, year = {2011} }
2009
Proceedings of the Workshop on Software Engineering Challenges in Cloud Computing (ICSE-Cloud-in Conjuction with ICSE 2009), January 2009
@inproceedings{abc, author = {Jan S. Rellermeyer and Michael Duller and Gustavo Alonso}, booktitle = {Proceedings of the Workshop on Software Engineering Challenges in Cloud Computing (ICSE-Cloud-in Conjuction with ICSE 2009)}, title = {Engineering the Cloud Software from Software Modules}, year = {2009} }
2008
Proceedings of the 1st ACM Workshop on Hot Topics in Software Upgrades, HotSWUp 2008, Nashville, TN, USA, October 2008
@inproceedings{abc, author = {Jan S. Rellermeyer and Michael Duller and Gustavo Alonso}, booktitle = {Proceedings of the 1st ACM Workshop on Hot Topics in Software Upgrades, HotSWUp 2008, Nashville, TN, USA}, title = {Consistently Applying Updates to Compositions of Distributed OSGi Modules.}, url = {http://doi.acm.org/10.1145/1490283.1490295}, year = {2008} }
Middleware 2008, ACM/IFIP/USENIX 9th International Middleware Conference, Leuven, Belgium, January 2008
@inproceedings{abc, author = {Jan S. Rellermeyer and Oriana Riva and Gustavo Alonso}, booktitle = {Middleware 2008, ACM/IFIP/USENIX 9th International Middleware Conference, Leuven, Belgium}, title = {AlfredO: An Architecture for Flexible Interaction with Electronic Devices.}, url = {http://dx.doi.org/10.1007/978-3-540-89856-6_2}, year = {2008} }
The Internet of Things, First International Conference, IOT 2008, Zurich, Switzerland, January 2008
@inproceedings{abc, author = {Jan S. Rellermeyer and Michael Duller and Ken Gilmer and Damianos Maragkos and Dimitrios Papageorgiou and Gustavo Alonso}, booktitle = {The Internet of Things, First International Conference, IOT 2008, Zurich, Switzerland}, title = {The Software Fabric for the Internet of Things.}, url = {http://dx.doi.org/10.1007/978-3-540-78731-0_6}, year = {2008} }
2007
Middleware 2007, ACM/IFIP/USENIX 8th International Middleware Conference, Newport Beach, CA, USA, Proceedings of the ACM/IFIP/USENIX 8th International Middleware Conference (Middleware 2007), Newport Beach, CA, November 2007., January 2007
@inproceedings{abc, author = {Jan S. Rellermeyer and Gustavo Alonso and Timothy Roscoe}, booktitle = {Middleware 2007, ACM/IFIP/USENIX 8th International Middleware Conference, Newport Beach, CA, USA}, title = {R-OSGi: Distributed Applications Through Software Modularization.}, url = {http://dx.doi.org/10.1007/978-3-540-76778-7_1}, venue = {Proceedings of the ACM/IFIP/USENIX 8th International Middleware Conference (Middleware 2007), Newport Beach, CA, November 2007.}, year = {2007} }
Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada 2007, January 2007
@misc{abc, author = {Jan S. Rellermeyer and Gustavo Alonso and Timothy Roscoe}, title = {Ready for distribution?: turning modular into distributed applications with the R-OSGi deployment tool.}, url = {http://doi.acm.org/10.1145/1297846.1297928}, venue = {Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada 2007}, year = {2007} }
Proceedings of the ACM SIGMOD International Conference on Management of Data, Beijing, China, January 2007
@inproceedings{abc, author = {Ren{\'e} M{\"u}ller and Jan S. Rellermeyer and Michael Duller and Gustavo Alonso and Donald Kossmann}, booktitle = {Proceedings of the ACM SIGMOD International Conference on Management of Data, Beijing, China}, title = {A dynamic and flexible sensor network platform.}, url = {http://doi.acm.org/10.1145/1247480.1247615}, year = {2007} }
Proceedings of the 2007 EuroSys Conference, Lisbon, Portugal, January 2007
@inproceedings{abc, author = {Jan S. Rellermeyer and Gustavo Alonso}, booktitle = {Proceedings of the 2007 EuroSys Conference, Lisbon, Portugal}, title = {Concierge: a service platform for resource-constrained devices.}, url = {http://doi.acm.org/10.1145/1272996.1273022}, year = {2007} }
Proceedings of the 2007 OOPSLA workshop on Eclipse Technology eXchange, ETX 2007, Montreal, Quebec, Canada, Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada 2007, January 2007
@inproceedings{abc, author = {Jan S. Rellermeyer and Gustavo Alonso and Timothy Roscoe}, booktitle = {Proceedings of the 2007 OOPSLA workshop on Eclipse Technology eXchange, ETX 2007, Montreal, Quebec, Canada}, title = {Building, deploying, and monitoring distributed applications with Eclipse and R-OSGI.}, url = {http://doi.acm.org/10.1145/1328279.1328290}, venue = {Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada 2007}, year = {2007} }
Demo at the 4th IEEE International Conference on Mobile Ad-hoc and Sensor Systems (Mass 07), Pisa, Italy, . (Best Demo Award), January 2007
@inproceedings{abc, author = {Ren{\'e} M{\"u}ller and Jan S. Rellermeyer and Michael Duller and Gustavo Alonso}, booktitle = {Demo at the 4th IEEE International Conference on Mobile Ad-hoc and Sensor Systems (Mass 07), Pisa, Italy}, title = {A Generic Platform for Sensor Network Applications}, venue = {. (Best Demo Award)}, year = {2007} }
Proceedings of the EclipseCon 2007, Santa Clara, CA, USA, January 2007
@inproceedings{abc, author = {Jan S. Rellermeyer and Gustavo Alonso}, booktitle = {Proceedings of the EclipseCon 2007, Santa Clara, CA, USA}, title = {Services everywhere: OSGi in distributed environments}, year = {2007} }