Ulrik Pagh Schultz

Currently (2005-) associate professor (lektor) at Maersk
McKinney Moeller Institute of Production Technology (MIP)
at University of Southern Denmark, in Odense, Denmark. I am
co-director of the Modular Robotics Lab, member of
the Morphing Production Lines
project and a member of the Software
Engineering and Technology (SWEAT) group.
Formerly (2000-2005) research associate professor (forskningslektor) at DAIMI (the department of computer
science at Aarhus University), in
Aarhus, Denmark. While at DAIMI, I was a member of the Object-Oriented Software Systems group,
manager of the B&O+OO project
funded by ISIS, and a
member of the PalCom project.
Formerly (1997-2000) PhD student in the Compose Group
(now reincarnated as the Phoenix
project) of
IRISA , at the University of
Rennes I, Bretagne,
France. My Thesis advisor was Charles Consel.
Formerly (1991-1997) Masters student at
DAIMI, University of Aarhus, Denmark
Research Interests
Research interests by order of relevance to the work I am currently doing:
- Robotics (software engineering and programming language design). I have just recently started
working with robotics, but I find it to be an excellent domain for doing advanced research in
programming languages: interesting applications, plenty of constraints, has to really work, etc.
I am co-directing the Modular Robotics Lab and I am a
member of the Morphing Production
Lines project. I am the maintainer of
the USSR simulator for
self-reconfigurable, modular robots.
- Domain-specific languages (see robotics). I've done a bit of work in this direction before in
the context of pervasive computing, but I am now focusing on robotics as the domain. The goal is
the development of domain-specific languages for controlling the ATRON (and Odin and others)
[self-]reconfigurable robot. In general, my interest in domain-specific languages is as a means
to provide better software engineering practices.
- Partial evaluation and object-oriented programming. Specifically, the former applied to the
latter, which was the subject of my PhD thesis. I focus on the Java language, and on
consolidating partial evaluation with object-oriented concepts. There are some papers describing
some of the work that I've done in this area, accessible below.
Specifically, I work with partial evaluation of imperative languages, object-oriented programming,
design patterns and object component architectures. This research area is not currently in my
focus, but I expect to go back here once I have developed an extensive suite of robotics-oriented
software that needs specialization. (In terms of teaching, I make use of simple template-based
code generation techniques as a pathway to start talking these more advanced forms of code generation.)
- Java in embedded systems.
- Object-oriented programming for low-end embedded systems. I've worked on
the JEPES project (see LCTES'03
paper below). I would like to develop a new compiler based on the same
principles, for example with the ATRON modules as a
target, but find myself caught up in too many other interesting projects.
- JavaCard. SmartCards are becoming more and more popular, and Java is still an option for
programming these devices. However, resources (processor power and memory) are very limited. I've
investigated code compression for such devices (see TOPLAS'00
paper below).
- Block structure. Block structure stands at the base of most modern programming languages.
Lambda-lifting is a well-known transformation that removes block-structure, making programs flat.
The inverse transformation, dubbed lambda-dropping, restores program nesting and makes use of the
lexical scope thus created. For more information, see TCS'00
paper below.
I'm currently a member of the program committee
for TFP'08. Previously, I have been on the
program committee for ECOOP'07,
SAC'07 (PL),
TFP'07, ESOP'06, VEE'05, PEPM'04, and PEPM'01. Moreover,
I'm currently the local chair for Robocomm'09 and I have serverd as workshop and tutorials chair
for GPCE'07.
Teaching
Courses at MMMI:
- SCM - Scientific Methods, 1st quarter fall 2009
- SSE04 - Model-Based Processes & Systems, 4th quarter spring 2008
- SSE05 - Advanced topics in Software Engineering, 3rd quarter spring 2008.
- SSE01 - Introduction to Software Systems Engineering, 1st quarter fall 2007
Publications (peer-reviewed or not, allowed by publisher to be on-line, by topic)
Last update: June 2009. Next update: please ping me if something recent seems to be missing.
- Robotics:
- U.P. Schultz, M. Bordignon, K. Stoy, "Robust and Reversible Self-Reconfiguration", accepted for publication at IROS'09
- R.F.M. Garcia, U.P. Schultz and K. Stoy, "On the Efficiency of Local and Global Communication in Modular Robots", accepted for publication at IROS'09
- M. Bordignon, K. Stoy, U.P. Schultz, "A Virtual Machine-based Approach for Fast and Flexible Reprogramming of Modular Robots", in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA2009). [PDF]
- M. Bordignon, D.J. Christensen, K. Stoy, U.P. Schultz, "Elements of a Development Ecosystem for Modular Robot Applications", in Proceedings of the Fourth International Workshop on Software Development and Integration in Robotics (SDIR2009). [PDF]
- U.P. Schultz, M. Bordignon, D.J. Christensen, K. Stoy, "Spatial Computing with Labels", presented at Workshop on Spatial Computing (SCW) at Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems, Venice, Italy, October 20, 2008.
- D.J. Christensen, M. Bordignon, U.P. Schultz, D. Shaikh, K. Stoy, Morphology Independent Learning in Modular Robots in Proceedings of the International Symposium on Distributed Autonomous Robotic Systems (DARS2008). [PDF]
- K. Stoy, D.J. Christensen, D. Brandt, M. Bordignon, U.P. Schultz, Exploit morphology to simplify docking of self-reconfigurable robots in Proceedings of the International Symposium on Distributed Autonomous Robotic Systems (DARS2008). [PDF]
- M. Bordignon, Lars L. Mikkelsen, U.P. Schultz, Implementing Flexible Parallelism for Modular Self-Reconfigurable Robots in Proceedings of the International Conference on Simulation, Modeling and Programming for Autonomous Robots (SIMPAR2008). [PDF]
- D.J. Christensen, D. Brandt, K. Stoy, U.P. Schultz, A Unified Simulator for Self-Reconfigurable Robots, in Proceedings of the IEEE/RJS 2008 International Conference on Intelligent Robots and Systems (IROS2008). [PDF]
- U.P. Schultz, M. Bordignon, D. Christensen, K. Stoy. A Functional Language for Programming
Self-Reconfigurable Robots. Presented at Trends in Functional
Programming 2008 (TFP'08), published in preliminary proceedings.
Final version [PDF].
- U.P. Schultz. Distributed Control Diffusion: Towards a Flexible Programming Paradigm for Modular
Robots. Presented at RoboComm'07 (First International Conference on Robot Communication and
Coordination). Final version [PDF].
- D.J. Christensen, D. Brandt, U.P. Schultz, K. Stoy, Neighbor Detection and Crosstalk Elimination in Self-Reconfigurable Robots, in Proceedings of the First International Conference on Robot Communication and Coordination (ROBOCOMM2007). [PDF]
- U.P. Schultz, D. Christensen and K. Stoy. A Domain-Specific Language for Programming Self-Reconfigurable Robots.
Presented at APGES 2007 (GPCE'07 workshop on Automatic Program Generation for Embedded
Systems). Final version [PDF].
- Nicolai Dvinge, Ulrik P. Schultz, and David Christensen. Roles and Self-Reconfigurable Robots.
Presented at ROLES'07 (ECOOP'07 Workshop on Roles and Relationships in Object Oriented Programming,
Multiagent Systems, and Ontologies Workshop). Final version [PDF].
Partial evaluation and object-oriented languages:
- U.P. Schultz. A Unification of Inheritanc and Automatic Program
Specialization. Presented at GPCE'04, November 2004. Final version
[PDF] (©
Springer-Verlag).
- H. Markmann Andersen and U.P. Schultz. Declarative Specialization
for Object-Oriented-Program Specialization. Presented at PEPM'04, Aug
2004. Final version [PDF] (©ACM).
- U.P. Schultz, Julia L. Lawall and Charles Consel. Automatic Program
Specialization for Java. Appeared in July 2003 issue 25 of TOPLAS.
Preprint of final version [PDF]
(©ACM)
(Preliminary version available as DAIMI PB-551 (Abstract)
[PDF]
[PS].)
- U.P. Schultz. Object-Oriented Program Specialization: Aspects Into Aspects
- Or Maybe Not? Position paper at WGP'01 (an ECOOP'01 workshop),
2001. [PS] or [PDF]
- U. P. Schultz. Partial Evaluation for Class-Based Object-Oriented
Languages. Presented at PADO-II, May 2000 (slides). Final version, PS or
PDF (©
Springer-Verlag).
(Preliminary version available as DAIMI PB-552
(Abstract)
[PDF]
[PS].)
- U.P. Schultz. Object-Oriented Software Engineering using Partial
Evaluation. PhD thesis, University of Rennes, December 2000. English
version available as IRISA PI 1395 (publication interne/tech report) in PS or PDF.
- U. P. Schultz, Julia L. Lawall, Charles Consel. Specialization
patterns. Appeared at ASE'00 (slides). Final version, PS or PDF (© IEEE).
(Preliminary version available as a
technical report.)
- U. P. Schultz, J. L. Lawall, C. Consel and G. Muller. Towards
Automatic Specialization of Java Programs. Appeared
at ECOOP'99 (slides). Final version, PS or
PDF (©
Springer-Verlag). (Preliminary version also available as a technical report.)
- U. P. Schultz. Black-box program specialization. Presented at
WCOP'99 (slides). Final version, PS or PDF.
Pervasive computing (domain-specific languages, virtual machines):
- E.P. Lins and U.P. Schultz. Supporting Transparent Evolution of Component
Interfaces. Poster at SAC'06 PL (ACM Symposium on Applied Computing, Programming Languages
track). Paper, final version [PDF]
- K.H. Mortensen, K.R. Schougaard, U.P. Schultz. Distance-Based
Access Modifiers Applied to Safety in Home Networks. Presented at
EUSAI'2004, october 2004. Final version [PDF] (©
Springer-Verlag).
Java compilation (embedded systems, making it run fast):
- U.P. Schultz, K. Burgaard, F.G. Christensen,
J.L. Kristensen. Compiling Java for Low-End Embedded Systems.
Appeared at LCTES'03. Preprint of final version [PDF]
(©ACM)
- L.R. Clausen, U.P. Schultz, C. Consel, G. Muller.
Java Bytecode Compression for Low-End Embedded Systems. Published in
TOPLAS volume 22(3), May 2000. Preprint of final version, PS or PDF (© ACM).
- G. Muller and
U. P. Schultz. Harissa: Efficient Java Execution by Global Program
Optimizations. Appeared in the March 1999 issue of IEEE Software
Magazine. Preliminary version available, PS or PDF.
Block structure:
- O. Danvy and U.P. Schultz.
Lambda-Lifting in Quadratic Time. Published in Journal of Functional
and Logic Programming, 2004. Final version, available freely on-line from JFLP. (An earlier version appeared at FLOPS'02.)
- O.
Danvy and U. P. Schultz.
Lambda-Dropping: Transforming
Recursive Equations into Programs with Block Structure. Appeared in
TCS Volume 248/1-2. Preprint of final version, PS or PDF (© Elsevier
Publishing). Also available as a technical report. An earlier
version was presented at PEPM'97, and is available as a technical report.
- U. P. Schultz. Explicit and Implicit Aspects of Scope and Block
Structure. Master's thesis, DAIMI, Department of Computer
Science, University of Aarhus, Aarhus, Denmark, June 1997. This work
was awarded "Best Danish master's thesis in computer science in the year of 1997"
by The Danish Computer Science Society (Dansk
Datalogi Selskab).
(Abstract)
(Postscript)
(DVI)
Personal links
| Address: | MMMI, SDU | Ulrik, Mette, Victor og Robert Sanggaard Schultz |
| Campusvej 55 | Karensmindevej 2, V. Nebel |
| DK-5230 | 6040 |
| Odense | Egtved |
| Denmark | Danmark |
| Office: | Maersk Institute, office 2.914 |
| Tel: | (+45) 65 50 35 70 |
| Fax: | (+45) 66 15 76 97 |
| email: | ups@mmmi.sdu.dk |