Mipac’s software development team’s mission is to help mining operations and large industries increase production, reduce variability and deliver operational excellence through flagship products like MPA, a suite of integrated applications.
This team has just launched MPA 1.9.0 and this version, like its precursors, has brought about notable changes.
Key changes to MPA include:
- Data Workflow Engine – The latest release introduces a major overhaul of the workflow engine, bringing improved usability and performance. Sub-workflows, block versioning and tagging allow for a more efficient and flexible system configuration.
- Data Source Management – The new workflow engine supports integration with PI Web API, CSV and SQL data sources whilst retaining support for existing workflows and blocks. A system for connecting and naming multiple data sources has also been introduced, enhancing an organisation’s ability to access and utilise data from various systems.
- Application Support – There’s now a system for connecting and naming multiple data sources, enhancing an organisation’s ability to access and utilise data from various systems whilst providing the underlying infrastructure required for future application development.
- Alarm Manager Updates – Management of all alarm-related information in a Master Alarm Database enables organisations to track and manage alarms throughout their life cycle. Annotations allow teams to collaborate and, coupled with event history, facilitate a traceable alarm management process.
Mipac took a deeper dive into the team behind the product. We talked to Todd Meynink, Principal Software Engineer, to discover what the new features are, learn about the work environment and find out what’s next for MPA.
This has been one of the largest updates to MPA so far, which is evident when analysing the new features. Some of the new features in the MPA release include:
The new workflow engine has been rewritten from the ground up to provide a scalable computation engine for MPA.
It is written in F#, a functional programming language on the .NET platform. It’s a high-performance language with a range of features that help us to build concise, correct code with built-in support for concurrency (i.e. processing lots of things at once).
2. Composable workflows
In the same way that Lego blocks can be connected to form larger Lego blocks that can themselves be connected to yet more Lego blocks, MPA’s new workflow engine lets you treat each of your workflows like Lego blocks to build more complex workflows from simpler ones.
3. Powerful parameters
The concept of parameters to workflow blocks has been introduced. Blocks can have as many input parameters as needed. Each of these parameters can be bound to values in many different ways (the output of another workflow, a constant, or context).
4. Multiple data sources
MPA now supports multiple data sources (of varying types), so you could build a single report that consumed data from two separate PI servers, a SQL alarm database and a CSV file, for example.
5. Write-back, auditing and annotations
MPA supports the write-back of data to each of our supported data sources as well: PI, SQL and CSV files. In addition to that, all write-operations are audited so we retain a history of all values (including who made the change and when).
The annotation of values from any workflow to help our users highlight and comment on data of interest is also now supported.
The work environment
It’s been very collaborative. There’s no hierarchy in the development team. All of us pitch in to solve whatever issues we have in front of us. Everyone is trying to be the best software engineer they can be.
We are all keen to learn, are all constantly learning and everyone has fun. One of the team members describes the work culture as ‘everyone is always smiling’.
New skills developed
The team adopted functional programming over the course of the year, which wasn’t something the team had any experience with. It’s a completely new way of thinking about programming.
The adoption of functional programming not only enhances the software products but also improves the agility and speed of the development process. As a result of this, there are more streamlined processes.
The exciting part of this is there was previously just the workflow engine, but we’ve now created a suite of applications. The exciting piece is building these applications. Golden State can be rolled out, that’s the next release. At the end of the day, the goal is to roll out the software to clients.
This expansion of MPA, and the scheduled release of Golden State, reiterates how Mipac’s software development team continues to empower organisations to increase production, reduce variability and deliver operational excellence.
Learn more about MPA
Mipac’s software development team’s mission is to help mining operations and large industries increase production, reduce variability and deliver operational excellence through …
This is Mipac’s webinar “Life beyond paper and spreadsheets”, discussing the importance of digitisation in the MMM industry. The webinar was hosted …