A solution for efficient HMI Development and Deployment
The Mecel Populus suite is a complete tool chain for designing, developing and deploying user interfaces for distributed embedded systems. It minimizes the time and cost of producing eye-catching, full-featured HMIs (Human Machine Interfaces).
The Mecel Populus concept has several unique features compared to traditional HMI development. These features, when combined, remove the barriers that traditionally exist between the people working with requirements, system engineering, HMI design and implementation.
An HMI is created and verified in Mecel Populus Editor without having to write any software. The HMI is then downloaded to the target environment where Mecel Populus Engine executes it. Mecel Populus has been designed for the automotive industry to deliver high performance user interfaces with a short time-to-market and to enable efficient software life cycle management.
Mecel Populus Architecture

Mecel Populus is built upon a concept called Database Driven Human Machine Interface. Mecel Populus Editor is used to create the entire HMI layout and HMI logic in an XML database. It is also used to specify the functional interfaces to the applications that are part of the system. The HMI database contains all of the HMI logic and appearance. It is stored in a binary format on the target environment where it is used by Mecel Populus Engine. Mecel Populus Engine executes the HMI in run-time and communicates with the applications using the Open Display Interface protocol. The software needed for supporting this protocol can be automatically generated for the applications from the Populus Editor.
Efficient development process

Mecel Populus is a tool chain that covers the entire development process from creating a system HMI architecture all the way to developing a series production HMI ready to be downloaded to the embedded target. Most of the HMI design can be done directly within Mecel Populus Editor. The HMI can be completely tested on a PC before it is validated on the target platform.
Mecel Populus Editor

Mecel Populus Editor is used for several different tasks:
- Specifying application interfaces
- Specifying the entire HMI, both the graphical layout, visual effects and all HMI logic
- Specifying all text for all languages that will be supported
- Specifying the priority management used for the display
- Verifying the contents of the databases
- Converting the HMI database to a binary format
Mecel Populus Engine
Mecel Populus Engine is the run-time software component that interprets the HMI database. It receives user inputs, communicates with the applications and generates the graphical user interface on the display. Each display will have a dedicated Mecel Populus Engine that controls it. The optimized design of the engine software together with the effective format of the binary database produces a very fast user interface with instant start-up. The software that handles the HMI logic is platform-independent and the graphics module currently supports Windows GDI, QNX Advanced Graphics, OpenVG, OpenGL and OpenGL ES.
Open Display Interface
Open Display Interface, ODI, is the communication protocol used between the applications and the various Mecel Populus Engines driving the displays in the system. It has been designed to decouple the applications from the HMI, make them unaware of the number of displays that exist in the system and also of where the displays are located. This makes it possible for an application to be located in the same ECU, in another ECU within the system or even on the internet. For every application that interfaces with the HMI, a C/C++ or Java interface can be automatically generated. The application must then implement the interface. At the same time software for the application that takes care of implementing the ODI protocol is generated, making the application unaware of all the details of the ODI protocol. This speeds up the development of the applications and enhances the quality of the software and minimizes the risk of introducing errors in the communication protocol.
HMI in a database
All of the details of the HMI are stored in an HMI database. This database controls every aspect of the HMI for a specific display:
- Priority handling
- User input
- Traversal between HMI screens
- HMI Layout
- 2D and 3D Graphics
- Animations and visual effects
- Text entries for all languages
- Skins
- Engineering unit formatting
- HMI states
- Triggering of external actions sent to applications
- Displaying and formatting application data
This is possible since all application data and events are part of the Mecel Populus database. All text entries that can be displayed for all supported languages are also part of the database. They can be edited using the Language Editor or imported from other tools.
HMI verification with the press of a button
Since the entire HMI layout and logic as well as the interfaces to the applications and all text entries are available to Mecel Populus Editor, it is possible to verify the HMI database in the tool to ensure its correctness. Example of what is verified includes:
- All references are valid
- Mandatory data is set
- There are no invalid values (e.g. out of range)
- Data from applications are used in a correct HMI context
- Formatting of numeric data is compatible with the type of data used
- All text entries exist for all supported languages
- All text entries fit within their designated area
This kind of HMI-level verification is not possible using a traditional
software development approach without actually testing and debugging
the running program. Verifying everything in run-time is a very
time-consuming task and it is often difficult to force the software to
all necessary states. With Mecel Populus this is possible just by
running the verification in the editor.
Ideally suited for connectivity
It is very easy to add or remove applications since there are no compile-time dependencies between Mecel Populus Engine and any other applications. This makes Mecel Populus the ideal HMI solution for platforms requiring good support for connectivity. In a connected platform, it must be easy to download and install new applications in a safe manner and possibly also connect to applications outside the controlled system, for example on the Internet. If such applications are to be properly integrated in the system, it must be easy to add an HMI for them. With Mecel Populus, a homogeneous looking and integrated HMI for such an application can be added to the system just by downloading a new HMI database.
A Product Brief can be downloaded here.

