User Interface

User Interface

AIMMS User Interface highlights

AIMMS offers a large set of User Interface features which are highly unique and make AIMMS stand out compared to other mathematical modeling tools. The following, non-extensive, list presents some of these highlights:

AIMMS WebUI

It is possible to develop Web interfaces on top of AIMMS models; this allows your end users to run the application in a browser and on non-Windows machines such as Macs and mobile devices. You can find more details on building and using Web Apps here.

Widgets

The WebUI is fully browser based, this means that the interface is build as well as run in the browser. An AIMMS WebUI application consists of one or more pages with one of more widgets. We have a set of widgets that you can use on you pages:

  • Table
  • Bar chart
  • Line chart
  • Tree map
  • Map
  • Pie chart
  • Gantt Chart
The set of widgets is continuously being extended, partly based on customer input, so don't hesitate to let us know your wishes for future development. In case AIMMS does not offer you favorite widget yet, you have the ability to add new widgets yourself as describe here.
 
Here are some examples of the various objects, table, bar chart and pie chart:
AIMMS Webui Table AIMMS Webui Bar-chartAIMMS Webui Pie Chart

Customization

The default layout of WebUI provides a modern and attractive design, but WebUI also offers the ability to customize this design to your needs through the usage of CSS and Javascript. This can range from minor changes, like changing the cell color of certain cells in the table, to change the complete styling of the application. See http://manual.aimms.com/webui/aimms4/en/topic/css-styling for details.

The WebUI can be run on different devices, like your desktop, phone or table. The responsive design feature of the AIMMS WebUI allows you to build just one interface that will work on all these different types of devices. AIMMS adjusts the location of the widgets to fit the available space, without extra development work.

The AIMMS Integrated Development Environment

AIMMS offers a modern Integrated Development Environment (IDE), with menus and toolbars, and similar functionality as seen in Visual Studio .NET. The AIMMS IDE is available both during model development and deployment of a model using the graphical end-user interface of AIMMS. The AIMMS IDE offers:

The pictures below illustrate some examples of the AIMMS IDE. The Model Explorer and attribute window, the Page Manager and end-user page, and an end-user page containing various controls

  

Syntax highlighting control

The specially designed AIMMS syntax highlighting control supports features as:

  • User-configurable formatting for keywords, elements, strings, and identifier types
  • Collapsible code blocks
  • Bracket matching capabilities
  • Auto-indentation and indentation guidelines
  • Member lists (e.g. to select an identifier from a namespace, or a suffix)
  • Function and procedure prototype tooltips

With the syntax highlighting control of AIMMS, modifying AIMMS source code and visual code inspection will become much easier than working in traditional editors. Also, the user configurable formatting (personal profiles) and coloring makes it possible to clearly and visibly distinguish between variables and parameters in, for instance, constraint definitions.

Integrated GUI builder

In addition to a modeling environment and the WebUI, AIMMS offers an integrated tool for constructing a customized graphical user interface (GUI) for your decision support application in the AIMMS environment. End-user screens can be created in an easy point-and-click manner, and can include various controls that are all tightly linked to multidimensional identifiers in your model.

Built-in AIMMS GUI controls

Examples of interface controls for displaying/modifying data or browsing through your application are:

  • multi-dimensional tables,
  • a flexible, and user-controllable pivot table,
  • 2D- and 3D-charts (pie charts, bar charts, line and area charts, bubble charts, radar charts, polar charts, candle charts, HiLo and HiLoOpenClose charts, scatter plots, combination charts, 3D surface and bar charts, 3D scatter plots),
  • a Gantt chart control for visualizing time-phased planning and scheduling applications,AIMMS_GUI.PNG
  • a network control for visualizing two-dimensional maps and flows including GIS support,
  • buttons,
  • sliders,
  • a navigation control for browsing through your application,
  • calendar and date-time picker controls,
  • document viewers to view various types of documents within an AIMMS page,
  • tabbed pages, to display a subtree of AIMMS pages in a tab control, and
  • an indexed page object, to repeatedly display another page (with objects containing data of multidimensional identifiers sliced over one or two element parameters) in a list or tabular format for all elements of the corresponding index set(s).

Advanced GUI support tools

To support you in creating complete end-user interfaces quickly, and in an easily maintainable fashion, AIMMS offers the following advanced tools:

  • the Page Manager allows you to specify a natural page order, with which you can guide an end-user through your application by adding special page manager-driven navigation controls to templates or pages,
  • the Template Manager enables you to create a uniform look and feel by allowing common objects (such as headers, footers, and navigation buttons) to be placed on hierarchically organized templates which can be inherited by multiple pages,
  • the Menu Builder allows you to create customized end-user menus and toolbars that can be added to your templates and pages.

Localization of end-user interfaces

Whenever you are requested to distribute your application to end-users who are not fluent in the language in which you originally developed the end-user interface, AIMMS offers a localization procedure which automatically separates all static strings used in the end-user interface of your application and stores these into a string parameter within your model. This allows you to provide a relatively smooth translation path of your application to the native language(s) of your end-users.

As AIMMS supports the use of double-byte characters to represent native strings (e.g. used in the Asian languages), you can use so-called Unicode characters in strings and set element descriptions in both your model and its end-user interface, and offers full support for communicating with files and databases containing either ASCII or Unicode data.

Multi-developer support

AIMMS offers support for multiple developers to work on a single AIMMS application. An applications can be divided into a main project and one or more library projects. Library projects can not only contain a part of the application’s model source, but also the associated pages, templates and menus to be included in the overall application end-user GUI. Each developer can edit one or more of these library projects independently of other developers and read/write security settings can be set for each library independently. Next to allowing multiple developers to work on all aspects (i.e. model and GUI) of a single application, the multi-developer features also allows for effective reuse of shareable parts of an AIMMS application and the ability to create a standard look-and-feel across multiple applications (GUI setup in a library project can behave as your template). A cross-reference tool, to analyze the references between libraries (variables, parameters, pages, etc) support the coordination. For a full description of the AIMMS User Interface see the User’s Guide.