6.6 Actions
7.1.2 Mid-Scale Experiments
In these experiments, five mid-sized applications were developed featuring a variety of navigation and user interactions. Table7.1describes the applications and some aspects of their structure and complexity.
TABLE7.1: Description of Mid-Scale Applications.
App. Description Screen Transition
Count Count
CAR Shop for cars by makes and models. 6 8
CVT Unit conversions for weight, volume, etc. 8 7
EUC Data about EU member countries. 3 2
MAT A memory game where players must match pictures. 1 1
POS A simple restaurant point-of-sale system. 8 9
The native-code versions of these applications were developed by a Masters student from DePaul’s Software Engineering program. The AXIOM models were developed by the same student with significant training and input from the authors. To ensure consistency, each application had a pre-defined set of requirements that needed to be met by both the AXIOM and hand-written implementations.
7.1.2.1 CAR
The CAR application allows a user to browse for cars. They can define some simple filter criteria. Searching based on that criteria will send them to a list of matching automobiles. Selecting one of the automobiles provides more details. A finite state machine and transition table for the CAR application is shown in Figure7.2.
From State... To State... By Transition... Guarded By... Action...
Set Filters Make List Button — —
Make List Car List Selection — —
Car List Car Detail Selection — —
Car Detail Car List Back — —
Car List Make List Back — —
Make List Set Filters Back — —
FIGURE7.2: Transition table for CAR application. Author’s image.
The screen captures in Figure A.1provide a side-by-side comparison of the AXIOM-generated and natively implemented screens. In most cases the screens are nearly iden-tical save for stylistic issues such as font style and size.
7.1.2.2 CVT
The CVT application allows a user to perform assorted unit conversions. The user first selects the kind of conversion to be performed. They then provide the value to be converted as well as the unit to which it will be converted. The final screen shows the results of the conversion. A finite state machine and transition table for the CVT application is shown in Figure7.3.
From State... To State... By Transition... Guarded By... Action...
From Unit Input Value Selection — —
Input Value Results Button — —
Input Value Unit List Button — —
Unit List Input Value Selection — —
Back — —
Results Input Value Back — —
Input Value From Unit Back — —
FIGURE7.3: Transition table for CVT application. Author’s image.
The screen captures in Figure A.2provide a side-by-side comparison of the AXIOM-generated and natively implemented screens. As shown in the screen captures, style and layout are again somewhat different between the two applications. In the case of the
native Android application, a calculator widget is invoked when the user is prompted to enter their value, something that is not currently generated by the AXIOM transforma-tion and translatransforma-tion rules.
7.1.2.3 EUC
The EUC application displays data about European Union countries. The user first selects the country of interest. They are then shown the details of that country. They may choose to follow an optional link to a Wikipedia page about the selected country. The finite state machine and transition table for the EUC application is shown in Figure7.3.
From State... To State... By Transition... Guarded By... Action...
Country List Country Details Selection — —
Country Details Wikipedia Page Link — —
Country Details Country List Back — —
FIGURE7.4: Transition table for EUC application. Author’s image.
The screen captures in Figure A.3provide a side-by-side comparison of the AXIOM-generated and natively implemented screens. As shown in the screen captures, style and layout are again somewhat different between the two applications. This application is different from the others in that interaction with the generated application causes the built-in browser to be opened and thus for the application context to change.
7.1.2.4 MAT
The MAT application is a simple memory game where the user attempts to locate and remember matching pairs of numbers. The finite state machine and transition table for the MAT application is shown in Figure7.5.
From State... To State... By Transition... Guarded By... Action...
Game Screen Game Screen Selection — —
FIGURE7.5: Transition table for MAT application. Author’s image.
The screen captures in Figure A.4provide a side-by-side comparison of the AXIOM-generated and natively implemented screens. As shown in the screen captures, style and layout are again somewhat different between the two applications.
7.1.2.5 POS
The POS application is a simple point-of-sale system for ordering food from a restau-rant. The user is offered the choice of dining in, carrying out, and delivery. Once they select their option they can either select a table, in the case of eating in, or browse the menu. For each item on the menu, the user can select their options and add it to their order. Once their order is complete, they can click the “Finish” button to place their order. The finite state machine and transition table for the POS application is shown in Figure7.6.
The screen captures in Figure A.5provide a side-by-side comparison of the AXIOM-generated and natively implemented screens. As shown in the screen captures, style and layout are again somewhat different between the two applications.
From State... To State... By Transition... Guarded By... Action...
Main Screen
Select Table Dine-In — —
Delivery Info Delivery — —
Pick-Up Info Pick-Up — —
Delivery Info Main Screen Back — —
Menu Screen Select Food — —
Pick-Up Info Main Screen Back — —
Menu Screen Select Food — —
Menu Screen Menu Options Select — —
Menu Options Main Screen Back — —
Order Add to Order — —
Order Menu Screen Order Items — —
Finish Finish — —
FIGURE7.6: Transition table for POS application. Author’s image.