Master Thesis Project 30hp

Custom Modern Code Editor

Master Thesis Project 30hp

 

Thesis Description

Currently, we are in middle of a total makeover of our flagship product xTrade. One of the improvements is a new design of configurable business logic. We have a proud tradition to guide and support the user in configuring the system in correctly. Now we introduce a more versatile way of handling data and more complex business logic.

Expressing business logic can be done by graphic objects (visual model) and/or by code-like scripts (that we interpret). Sometimes it makes sense to have an object with parameters to express a task, but in other cases that could be too limited. When a script is required by the user to express the logic in lack of special components the user must be guided to make a script that make sense in the context.

Today users are used to a certain level of help when writing scripts and code. Syntax highlighting, code completion (IntelliSense) and code validation is standard in most coding environments. These are the kind of features we need to have, to live up to the standards of today. The editor should be integrated in our Windows Forms configuration editor and the framework should be able not only to support our in-house language but also other languages, e.g., JavaScript or Python.

You will be required to:

  • Find suitable code editing frameworks compatible with Windows Forms
  • Compare the frameworks, find pros and cons, and advise Xware for the choice of editing framework
  • Implement proof-of-concept for the chosen framework including:
    • Reuse of existing language “packages” for well-known languages
    • Interaction with the in-house language interpreter for our script language and data types
    • Context setup; Feed the framework with known symbols/functions
  • Document the results as a thesis document as well as documenting implementation and usage description of the system

Competence

We are looking for a student with good programming skills and understanding in general computer science. Programming skills in C# is preferred as well as usage of graphical libraries. Our daily language is Swedish, but Swedish skills (spoken/written) are not required, if you have good skills in spoken and written English.

Application

Applications should include a brief personal letter, CV, and recent grades (transcripts). Relevant experience is highly valued so please list projects and programming tasks that you consider relevant for the position. Candidates are encouraged to send in their application as soon as possible. Suitable applicants will be interviewed as applications are received.