Wednesday, 9 July 2014

TrailBlazer App Concept and Design

The idea was to create a mobile app where usability would come first, and then interface design. Two applications were produce, one specifically designed for ios 7, and the other with more of a customized interface design.
 

Trailblazer is an app specifically designed for park and trail enthusiasts in Canada. The app will allow access to individual parks, including national and provincial, as well as their entire list of trails. The app will provide information on the trails such as; difficulty, time, and length. The user will have access to a map provided by GPS navigation, allowing the hiker to see where they are on the trail at any given time. Trailblazer has gamification capabilities; the app will track your statistics for all the parks and trails you have visited, as well as a reward system of earned badges, to give the user a goal to complete.

Our automated refactoring tool, Trailblazer, alleviates the maintenance burden of such annotation refactoring tasks. The tool implements a novel approach that leverages a machine learning algorithm to infer semantics-preserving rules that are then used to automatically transform legacy Java classes.

Using Trailblazer involves two phases. First, given an XML-based framework application, a programmer creates an annotation-based version of the application by hand, with Trailblazer recording the programmer's actions. Trailblazer then uses inductive learning to infer generalized upgrade rules. In the second phase, other programmers can apply the inferred general transformation rules to upgrade any other application that uses the same framework. 

Thus, once one developer has trailblazed through the hurdles of manually upgrading for a given framework, other developers can automatically follow along the beaten path. In this demonstration, we will use transparent persistence as our example domain to show how Trailblazer can infer generalized rules and then automatically upgrade a legacy enterprise application that uses EJB 2.0 XML configuration files, to use EJB 3.0 annotations.

No comments:

Post a Comment