M.Sc. Projects at PELAB
This page is available at
http://www.ida.liu.se/labs/pelab/jobb/xjobb.html
The current list of "sommarjobb" and Master Theses is available as
http://www.ida.liu.se/~bodma/exsom-00.html
The list of old "sommarjobb" and Master Theses from 1999 is available as
http://www.ida.liu.se/~bodma/exsom-99.html
PELAB, the Programming Environment Laboratory of the Department of Computer
and Information Science at Linköping University, is concerned with
research in the area of tools and methods for the development and maintenance
of computer programs.
Some examples of research areas are:
- programming languages,
- specification languages,
- incremental programming environments,
- compilers and compiler generators,
- tools for debugging and
maintenance of distributed and real-time systems,
- program transformation systems,
- tools and methods for software testing and testability analysis,
- parallel programming and simulation,
- tools for programming three-dimensional graphics and virtual reality.
Currently M.Sc. projects and summer jobs are available in the following areas.
Ph.D. positions are available in some of these areas.
Software Testing and Debugging
Current research topics in software testing and debugging at PELAB are
concentrated to software testability measurement through static analysis
and dynamic slicing. We also have several students currently engaged in
projects related to software testing and debugging. The following projects
are currently available:
Testing
Object Oriented Programs and Special Application Domains
-
Testing object-oriented and real-time software presents special challenges
and problems that are not encountered when testing procedural code. We
would like to have a student examine the issues and how these could be
addressed in a declarative language for defining test cases. This area
is also a possible starting point for further graduate study.
If you have a proposal of your own that is related to software testing,
debugging or analysis, please contact Mariam
Kamkar for more information. Email: marka@ida.liu.se.
Parallel Programming and Simulation
Parallel simulation of rolling bearings at SKF
MSc
Thesis in Parallel Simulation Techniques
The BEAST (BEAring Simulation Tool) is an advanced dynamic multi-body simulation
tool for rolling bearings. It has been developed by SKF in cooperation
with universities. The simulations are run on large parallel computers,
but still the simulation time is in the order of days.
The master thesis project should be made in the area of parallel simulation techniques,
graphics, and using the tool to solve real problems.
The work will involve
skills in multi-body dynamics, numerical methods for equation solving,
parallel programming and programming in C++. You will sit at PELAB at IDA LiTH and/or part-time at
SKF Nova in Göteborg.
If interested, contact Dag Fritzson at SKF Nova (also adjunct professor at LiTH). Tel: 0317724114,
Email: dag@nov.skf.se.
Portable data-parallel programming model (Parallel LightMat)
The LightMat library for array manipulations in C++ has been developed
at PELAB.
This master thesis project includes design of a general data-parallel array library based on C++ LightMat and inspired
by Co-Array Fortran (F--) (www.co-array.org). The work involves C++ and parallel programming.
MPI-based parallel programming in Mathematica
The MathCode translator from Mathematica
to C++ has been developed at PELAB and MathCore.
The master thesis project includes design and implementation an MPI-based parallel programming package in
Mathematica and C++, based on MathCode. The work involves programming with the
MPI library (www.mpi-forum.org),
Mathematica programming, parallel programming, C and C++.
Real Time Java on Parallel Computers
(see the Real Time Java section below)
If you are interested in other subject areas or have a proposal of your
own, please contact professor Peter Fritzson (http://www.ida.liu.se/~petfr)
for more information. Email: petfr@ida.liu.se, Phone: 013-281484.
3D Graphics and Virtual Reality
JavaCult3D is a new 3D format based on Java and Cult3D (www.cult3d.com) which puts
3D Graphics and Virtual Reality on the Web.
Cult3D can be used to visualize static three-dimensional scenes that can be initially designed in 3DStudioMax and then
converted to Cult3D. There is a plug-in that displays Cult3D scenes within a WWW browser window.
Dynamic Cult3D (JavaCult3D) is a format for three-dimensional scenes with behaviors and movements
applied to scene elements. The plug-in displays dynamic Cult3D scenes. The mouse can be used
for interaction.
Cult3D and Mathematica Notebooks
The thesis project includes embedding Cult3D graphical objects in Mathematica notebooks as well as
coupling Cult3D dynamic visualizations to simulations in Modelica.
See e.g. www.mathcore.com or www.wolfram.com for notebook
examples.
Virtual reality and 3D of BEAST
See information about the BEAST tool above.
The thesis includes design of 3D visualization of bearings and other
mechanical elements, on Silicon Graphics computers
or using the Cult3D tool.
WWW-based simulation
Visit this page.
If you are interested in other subject areas or have a proposal of your
own, please contact professor Peter Fritzson
for more information. Email: petfr@ida.liu.se, Phone: 013-281484.
Real-Time Java
Java is a safe language for system development since it avoids pointer
and memory allocation errors. This would be specially interesting for real-time systems
if we can guarantee efficient execution within fixed deadlines. The RT-Java (Real Time Java) project
at PELAB aims at constructing Java system that is appropriate for hard read time applications.
This includes an optimizing Java compiler that genrerates efficient binary code, and a garbage collector
that guarantees hard real-time deadlines.
Some of the PELAB activities in Real Time Java are described on this page.
Real Time Java on Parallel Computers
Porting of the RT Java system to a parallel computer platform, e.g. UltraSparc Enterprise.
Possibly including heterogeneous parallel processing
where standard processors are accompanied with special DSP processors.
Java book
Electronic books are used, in particular, as Mathematica front end. The master thesis project
includes design and implementation of Java notebook. This should be able
to modify and evaluate Java programs stored in the notebooks. The work involves
programming in Java, Mathematica and some compiler construction.
RT Java in autonomous aircraft applications
In the WITAS project onboard system software is designed for autonomous
flying vehicle. RT Java should be integrated with this software.
The work includes Java, real time programming,m real-time
operating systems (e.g. QNX).
Mobile Java computing
The thesis include integration of compact Java bytecode and binary code from the RT-Java compiler for execution on small
mobile platforms such as Palm Pilot or similar.
If you are interested in these or other subject areas or have a proposal of your
own, please contact professor Peter Fritzson
for more information. Email: petfr@ida.liu.se, Phone: 013-281484.
Object-oriented equation based simulation languages
The object-oriented languages currently include Modelica and MathModelica .
Generation of Modelica code from mechanic and electronic CAD tools
Modelica can be used for modeling mechanical, electrical and other simulation applications.
The objective of this thesis work is to make it possible for simulation code to be
automatically generated from various CAD
descriptions. The thesis project involves programming in Modelica, in C++ and using CAD API
interfaces (possibly ProEngineer and AutoCAD).
Modeling an advanced autonomous helicopter in Modelica
A simplified autonomous helicopter flight object-oriented simulation model has been designed
in the WITAS project
framework.
The model accepts flight control language commands and computes the helicopter trajectory.
This model should be refined to become more realistic and tuned for performance and realism.
The thesis project involves programming in Modelica and C++ as well as design of mechanical simulation models.
Integration of Modelica simulation models, 3D graphics and GIS data base
A autonomous aircraft and world simulation model has been designed in the WITAS project. Geographical information
systems database describes location of various objects that can be used for online
design of flight plan. The thesis work aims at partial integration
of Modelica and a GIS database so that GIS objects can be included in a Modelica world simulation.
The thesis project involves programming in
Modelica and C++.
Differential equation solver for real time simulation
In Modelica and many other simulation software tools differential equations should be
solved by some integration methods. These methods usually have different speed depending
on current values of state variables. However for some applications it is necessary to
deliver solution at given time step at fixed time. The thesis and related research
aims at study and comparison of existing methods, tuning them for real-time
requirements and modifications of them. The thesis project involves programming
in C as well as study of Modelica and Fortran code.
Dynamical connection design for Modelica
Modelica models currently have fixed structure that cannot change during simulation.
However it is sometimes needed to add flexibility so that new Modelica class instances
and corresponding equations (ODE) appear or disappear during simulations.
Accordingly, the system of ODE can change. The thesis
and related research aims at study of symbolic transformations and graph-theoretical
computations applied to ODE in Modelica compiler, and re-implementing it in a different
way so that some transformations can be performed at run-time. The thesis project involves programming
in C, compiler design tools, as well as study of Modelica code.
Constraint Logic Programming combined with Modelica
Modelica uses numeric equations; on the other hand Constraint Logic Programming
uses logical equations. The thesis
and related research aims at study of possible combination of these approaches.
The thesis project involves programming a logic programming language, compiler design tools,
as well as study of Modelica.
Physical Unit control in Modelica
In many cases Modelica is used for solution of physical problems.
The variables and constants might have an annotation that specifies a physical unit
(meter, gram, Newton, Watt etc.). The thesis project involves modification of existing
Modelica compiler so that the physical units are checked for all variables and constants
in all equations.
If you are interested in these or other subject areas or have a proposal of your
own, please contact professor Peter Fritzson
for more information. Email: petfr@ida.liu.se, Phone: 013-281484.
Additional and Related Information
Last updated in March, 1999 , Vadim Engelson, vaden@ida.liu.se