Difference between revisions of "Old Name of the new project"

From CERES
Jump to: navigation, search
m (Nicholas moved page Name of the new project to Old Name of the new project without leaving a redirect)
 
(6 intermediate revisions by one user not shown)
Line 1: Line 1:
 
{{StudentProjectTemplate
 
{{StudentProjectTemplate
|Summary=Multiple Projects
+
|Summary=Model-based Design of a Sailboat Autopilot
 
|Programme=EIS Masters 15hpc
 
|Programme=EIS Masters 15hpc
 +
|Keywords=Smart homes, pervasive computing, DiaSuite
 
|TimeFrame=6 months
 
|TimeFrame=6 months
 
|References=Contact instructor
 
|References=Contact instructor
 +
|Prerequisites=DA8003 Cyber-Physical Systems
 
|Supervisor=Walid Taha
 
|Supervisor=Walid Taha
 
|Examiner=Mohammad Reza Mousavi
 
|Examiner=Mohammad Reza Mousavi
|Level=Flexible
+
|Level=Master
|Status=Finished
+
|Status=Open
 
}}
 
}}
My preference is always to discuss projects with students in the context of their individual goals and experiences. For this reason, I prefer to give project suggestions at a high level so that we can work together on developing the most meaningful project for both the student and the host research team.
+
The core research question is to whether we can use Acumen for model-based design. This thesis aims to demonstrate this using a case study with a prototype sailboat. Technical challenges include modeling, instrumentation, localization, communication, and control
  
Ideas for EIS Masters Thesis Projects
+
The first component of the work is build a prototype compiler that can target an embedded microcontroller platform (such as an arduino, raspberry pi, etc). This involves first selecting a series of more sophisticated examples that illustrate key features of controllers written within one Acumen object. For the purposes of synthesis the Acumen language itself may be extended with some specialized annotations that support this generation task and do not interfere with the semantics of Acumen models otherwise. Examples of such annotations may include special variable names that can be found on the target platform, special characteristics such as clock rate, etc.  Next, corresponding "generated" C or Java code is written by hand and tested extensively. Then, a BNF for a sufficient subset of C or Java is defined in Scala. Next, an interpreter is written for this subset (to enable fast testing of the translator). Then, a translator that automates this translation is written. Then, property-based tests are built for this interpreter. Next, a pretty-printer that generates an ASCII file for compilation on the target domain is built, and all collected examples are used to generate this translation. Finally, a collection of performance benchmarks are developed and used to evaluate the timing accuracy of of the results of the compiler. It should be noted here that this not raw performance, but rather, accuracy in terms of consistency of the timing characteristics and overall behavior of what happens on the target platform compared to what happens on the model. Some data logging and data download capabilities may be added to support this type of comparison.
  
- Model-based design for intelligent transportation systems.
+
The second component is to identify related work about sail boat control, to read it, and write a coherent overview of this literature, and position the results in the context of this literature.
  Using miniature cars in our lab.
+
  Develop a careful and reliable model.
+
  Instrumenting the lab for reliable and easy to use measurement.
+
  Validating the model against measured data using enclosures.
+
  Demonstrating adoption by students and teachers at HH.
+
  Demonstrating relevance to industrial partners.
+
  
- Reliable m&s of bipedal robots and/or vehicle dynamics.
+
The third component of the work is to model the robot in Acumen based on a suitable physical prototype that can be used for physical testing. Data-collection facilities developed in the first part should be used to evaluate the accurate of the simulations and the actual performance of the boat. A clear method should be developed to separate error from measurement and actual error in performance (such as the actual position and direction of the boat).
  Using EL equations.
+
  Using enclosures.
+
  Requires robot modeling and developing enclosure semantics.
+
  Involves comparing with other tools.
+
  
- A platform for crowdsourced design.
+
The fourth component is writing up the results of the work.
  Transforming ModGame into a platform for open,
+
  collaborative design.
+
  What would it take in terms of design, computing, and security?
+
  Should/can we move Acumen to be a fully web-based platform?
+
  How can we evaluate it in the small?
+
  How can we evaluate it in the large?
+
  
- Robust optimization by generalizing rigorous simulation.
+
References:
  Application to discrete and differential games.
+
  Applications to path planning and scheduling.
+
  Applications to circuit design and controller design.
+
  
- Language primitives to support Maxwell's equations.
+
* https://www.ensta-bretagne.fr/jaulin/paper_jaulin_irsc12.pdf
  Support using traditional interrupters, then using enclosures.
+
* https://www.youtube.com/watch?v=ZkMAR5gP-bw
  Evaluation on antenna designs and mimo.
+
* https://www.archives-ouvertes.fr/hal-00628434/document
  Experimental evaluation in our own e-lab.
+
* https://www.ensta-bretagne.fr/jaulin/paper_lebars_irsc12.pdf
 
+
Ideas for Theoretical Computer Science projects:
+
 
+
- Extending Acumen's support for non-determinism.
+
  Supporting conflicting-but-bounded rewrites.
+
  Identifying confluent conflicts.
+
 
+
- A visual language for faster model-based design.
+
  A graphical interface for design.
+
  Web-based implementation would probably be a big plus.
+
  Will naturally build on Viktor's work.
+
 
+
- Support for interaction with a simulation through 3D view.
+
  Designing syntax extension needed.
+
  Designing basic types of interactions allowed.
+
  Supporting deployment on PC, mobile devices, web-apps.
+
  App store support.
+
 
+
- A faster enclosure backend with parallel server support.
+
  Based on the CAPD library.
+
  Focus on larger benchmarks studied by others.
+
 
+
- Support for bounded and stochastic uncertainty.
+
  Case studies with applications to communication systems.
+
  Starting with queuing systems.
+
 
+
- Investigating contractors for hybrid dynamical systems.
+
  Looking at DynIBEX.
+
  Building somethings similar for Acumen.
+
  Benchmarking both old and new interpreters.
+
 
+
- Methods for improving accuracy and efficiency.
+
  Looking mainly at the work of Stan Bek and company.
+
  Shrink wrapping.
+
  Extensive benchmarking with other tools.
+
  Focus on case studies from automotive domain
+
 
+
- A faster implementation of the various Acumen semantics within Scala (using RTCG and or staging).
+

Latest revision as of 12:26, 11 November 2016

Title Old Name of the new project
Summary Model-based Design of a Sailboat Autopilot
Keywords Smart homes, pervasive computing, DiaSuite
TimeFrame 6 months
References Contact instructor
Prerequisites DA8003 Cyber-Physical Systems
Author
Supervisor Walid Taha
Level Master
Status Open

Generate PDF template

The core research question is to whether we can use Acumen for model-based design. This thesis aims to demonstrate this using a case study with a prototype sailboat. Technical challenges include modeling, instrumentation, localization, communication, and control

The first component of the work is build a prototype compiler that can target an embedded microcontroller platform (such as an arduino, raspberry pi, etc). This involves first selecting a series of more sophisticated examples that illustrate key features of controllers written within one Acumen object. For the purposes of synthesis the Acumen language itself may be extended with some specialized annotations that support this generation task and do not interfere with the semantics of Acumen models otherwise. Examples of such annotations may include special variable names that can be found on the target platform, special characteristics such as clock rate, etc. Next, corresponding "generated" C or Java code is written by hand and tested extensively. Then, a BNF for a sufficient subset of C or Java is defined in Scala. Next, an interpreter is written for this subset (to enable fast testing of the translator). Then, a translator that automates this translation is written. Then, property-based tests are built for this interpreter. Next, a pretty-printer that generates an ASCII file for compilation on the target domain is built, and all collected examples are used to generate this translation. Finally, a collection of performance benchmarks are developed and used to evaluate the timing accuracy of of the results of the compiler. It should be noted here that this not raw performance, but rather, accuracy in terms of consistency of the timing characteristics and overall behavior of what happens on the target platform compared to what happens on the model. Some data logging and data download capabilities may be added to support this type of comparison.

The second component is to identify related work about sail boat control, to read it, and write a coherent overview of this literature, and position the results in the context of this literature.

The third component of the work is to model the robot in Acumen based on a suitable physical prototype that can be used for physical testing. Data-collection facilities developed in the first part should be used to evaluate the accurate of the simulations and the actual performance of the boat. A clear method should be developed to separate error from measurement and actual error in performance (such as the actual position and direction of the boat).

The fourth component is writing up the results of the work.

References: