Computer data

I wrote a web tool in Java EE, performing the following subtasks:

  • Reverse engineer the project file (zip-File with an XML describing the project and folders containing the device drivers)
  • Reverse engineer the XML file representing the entire project (i.e. house)
  • Reverse engineer the XML structure representing programs the installers wrote for old and new proxy versions
  • Create models for old and new proxies
  • Create a mapping between these models
  • Provide an online tool where installers can upload a project which is then migrated to the new versions:
    • replace the old drivers with new ones
    • configure them accordingly
    • automatically re-implement programs using the new interfaces
    • clean up invalid parts of the project file
    • be as fault-tolerant as possible: migrate as many drivers/devices as possible; inform the installer about parts that failed to migrate
  • Iterative process: based on failed migrations, learn more about the internal workings of the project file and improve the migration tool accordingly


Subscribe to Computer data