Project proposals - Intranet

trampknowledgeΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

193 εμφανίσεις

* Constraint Processing engine
Constraint  processing  or  programming  is  a  branch  of  computer  science  and  mathematics  devoted  to 
methods for solving problems that consistin finding a viable assignments of variables to values, so that a 
number  of  constraints  are  satisfied.  Many  problems  from  schedulingand  engineering  can  be  casted  as 
constraint processing problems. 
For  example,  the  popular  Sudoku  puzzle  can  be  modeled  and  solved  as  a  constraint  problem,  and  so  the 
timetable scheduling problem. 
There exists a wide variety of algorithms of increasing complexity to solve constraint satisfaction problems, 
including backtracking, local search, heuristics and advanced constraint propagation techniques. 
The goal of the project is to provide a language to formalize a constraint problem (the language should be 
general  enough  to  encompass  a  variety  of  situations)  and  invoke  the  resolution  algorithm  of  choice 
(specifying  parameters,  the  type  of  heuristics  to  use,  what  to  display,  etc)  to  be  used  for  solving  it.  The 
students  are  free  to  choose  a  few  resolution  algorithms,  and  consider  possible  extensions  of  Constraint 
problems  (temporal  components,  dynamic  constraints,  etc).  A  demonstration  using  different  domains 
should be carried out. 
* Mini matlab
The  goal  of  the  project  is  to  design  and  implement  an  environment  for  mathematical  computation  and 
simulation (similar to the widely used MATLAB/Octave). The underlying language should support for basic 
linear algebra (matrix and scalar operations), as well the usual imperative programming paradigm (variable 
assignments, looping, control structures, etc) and optionally some basic functional programming.  
The  environment  should  consist  of  a  command  line  interpreter  that  can  parse  inline  expressions  and 
commands, and as well a compiler for scripts and simple programs.  The environment should have a simple 
graphic  component,  supporting  plotting  functionality.  The  project  should  also  discuss  some  typical  use 
cases and demonstrate how the design choices are . 
* Simulated soccer
In  this  project,  you  need  to  design  and  implement  an  environment  for  simulating  a  real  time  game  of 
simulated  soccer.  The  main  component  of  the  framework  is  a  scripting  language  that  allow  users  to 
efficiently  program  the  behaviour  of  the  components  of  one  team.  In  addition  to  classic  programming 
paradigms,  the  language  should  support  handling  of  events  (so  that  the  program  can  specify  a  specific 
behaviour to  be activated  as soon there is a  change in  the match). Particular attention  has to be  given to 
team communication. 
* A Language for Generic Board Games
This  project  aims  at  designing  a  language  that  can  model  a  large  variety  of  (simple)  board  games.  The 
language should allow statements that let the designer of the game specify, among others, the size 
of board, the number of players, the possible moves or action, and the resulting change in the state of the 
game.  A  compiler  or  interpreter  will  take  as  input  the  game  specification  in  your  designed  language  and 
make it possible to play the game interactively. 
* SIMD extension
SIMD  instructions  (simple  instructions  multiple  data)  are  supported  by  most  processors  and  can  execute 
the  same  operation  on  a  vector  of  integers.  Compilers  such  as  gcc  support  them  by  automatically 
vectorizing  code  when  possible.  This  project  consists  in  studying  the  limit  of  what  gcc  can  and  cannot  do 
and propose a language that would be compiled to C/assembly and linked to an ordinary C program. 
* Animator for TA
UPPAAL  is  a  model‐checker  for  timed  automata  with  a  client‐server  architecture.  The  client  is  a  graphical 
interface  and  the  server  is  the  actual  model‐checker.  The  simulator  on  the  interface  shows  automata  but 
this is not very interesting for making demonstrations. 
This project is about developing a proxy that would filter the data sent between the client and the server 
and display graphically some animation. The animation is to be described with a language developed 
in the project. 
* Other
You are free to propose a project on your own, e.g., a constraint solver for optimization problems (simplex), 
mini matlab, equation solver, proof carrying code, etc...