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 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
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
Outdated, please see my official SDU page for an up-to-date overview.
- Chair of the IFIP 2.11 working group on program generation
Currently workshop co-chair of SPLASH'13.
Formerly PC chair of GPCE 2011, workshop co-chair of SPLASH'11 and SPLASH'12,
and a member of the program committee
for SAC'10 (PL), SSS'10, and SCW'10, as well as a guest editor on a special issue of ACM TAAS on spatial computing. In addition, I have been on the
program committee for SCW'09, TFP'08, ECOOP'07,
TFP'07, ESOP'06, VEE'05, PEPM'04, and PEPM'01.
- Previously local chair for ROBOCOMM'09 and workshop and tutorials chair
Research interests by order of relevance to the work I am currently doing:
- Robotics (software engineering and programming language design). I find robotics 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 efficient and reliable 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
- 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
Courses at MMMI/MCI:
- SWC - Software Customization, part of Software Evolution, Software Engineering Master, spring 2014
- SE project and OSN - Software Engineering 3rd Semester project + Operating Systems and Networks
- SSE02 - Programming Languages, 3rd quarter spring 2012
- ESD - Embedded Software Design, 2nd semester spring 2011
- SCM - Scientific Methods, 1st and 2nd quarter fall 2010
- 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)
Outdated, please see my official SDU page for an up-to-date overview.
Last update: June 2009. Next update: please ping me if something recent seems to be missing.
Partial evaluation and object-oriented languages:
- Robotics: selected publications only, for complete list see Modular Robotics Lab.
- 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].
Pervasive computing (domain-specific languages, virtual machines):
- U.P. Schultz. A Unification of Inheritanc and Automatic Program
Specialization. Presented at GPCE'04, November 2004. Final version
- 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]
(Preliminary version available as DAIMI PB-551 (Abstract)
- 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
(Preliminary version available as DAIMI PB-552
- 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
- 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
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.
Java compilation (embedded systems, making it run fast):
- 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] (©
- 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]
- 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.
- 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.)
Danvy and U. P. Schultz.
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
|Address: ||MMMI, SDU ||Ulrik, Mette, Victor, Robert og Alma Sanggaard Schultz|
| ||Campusvej 55 ||Karensmindevej 2, V. Nebel|
|Office:||Maersk Institute, office 2.914|
|Tel:||(+45) 65 50 35 70|
|Fax:||(+45) 66 15 76 97|