Solving the Challenge of PI ACE Replacement

Client:

Date:

Category:

If you have a valuable library of calculations in PI ACE, then like many other PI ACE users around the world, you’ll need to make a choice about what to do when it is retired at the end of 2023. For many users, the deprecation of ACE presents problems because of the scale or complexity of their existing ACE code base. For others, alternative platforms may not provide the flexibility to re-implement ACE algorithms, or would simply be costly to rebuild.

Some organisations will consider the idea of re-writing their code from scratch, and implementing an entirely bespoke solution. But this comes with its own set of risks; while it’s tempting to think we are more capable now than ever before, this is often not true. Lifelong coders like Joel Spolsky – the former CEO of StackOverflow – have observed this logical fallacy.

“When you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time…You’re just going to make most of the old mistakes again, and introduce some new problems that weren’t in the original version.”

Does PI ACE still have a role to play?

While PI ACE is being retired, it’s not the only path for augmenting raw source data with calculated metrics and insights. The PI Asset Framework platform offers an integrated “Asset Analytics” package, with support for many popular functions including averaging, time-totalising, and ‘rolling up’ the collective performance of a class of assets.

The Asset Analytics platform has had several updates over the years, adding new functionality and ultimately becoming a critical component of many PI systems. This led many users to question whether PI ACE was the best place to store many of their legacy calculations:

“The biggest takeaway here with regards to your overall question of “Can we ignore ACE and start using AF analytics in future?” is really going to be depending on your own uses of the PI System… ACE is “Programmed Analytics” which as of yet has no replacement. If you use, and truly require, ACE in the context of this type of custom coding, then you can’t yet ignore ACE altogether.

With the deprecation of PI ACE, and given the investment in Asset Analytics over time, it’s clear that it will be possible to re-develop some of the calculations that were originally deployed under PI ACE, using the framework. However, this is not a catch-all approach; the PI community has reported a number of areas where Asset Analytics just doesn’t provide the power or flexibility of ACE.

“There are…complex ACE codes, which we feel, won’t be feasible for AF conversion.  These complex codes are:

      • quite extensive in length
      • use multiple if-else, do-while, for loops
      • write to files”

We can't ignore PI ACE - how do we replace it?

While many users have been asking this question – in some cases, for several years – they’re finding there’s no complete or satisfactory answer to the question of how to replace ACE.

“PI ACE is slowly disappearing…is there any project to implement an ‘AF ACE’.  It will take time to develop an alternative solution and convert everything we have now…we’d prefer to know as soon as possible what is the direction ACE is going.”

“The stock answer is ‘Use Asset Analytics’ but in the real-world such an answer is frustrating because there are several instances where Asset Analytics is the poor or insufficient choice…”

Some things just can’t be migrated to Asset Analytics; even if they could, the effort to do so may be prohibitive. More importantly, users (and their organisations) have made a substantial investment in the development, testing and deployment of ACE code, and losing that value is undesirable. What is needed is a simple, affordable, and supported solution that can easily migrate and preserve the investment made in complex forms of scripted analyses, with the deprecation of ACE.

The gSharp Solution

gHost (part of the GTS group) is pleased to announce the release of gSharp, our self-hosted analytics and recalculations platform. gSharp is a fully-featured alternative to PI ACE, designed to provide a simple pathway for the migration of existing PI ACE calculations. Offering all the features that users are familiar with, gSharp adds an intuitive UI for calculation management, scheduling, and backfilling; and advanced logging features.

Ours is a cost-effective replacement for PI ACE. Rather than face the expensive and time-consuming task of rewriting ACE modules, gSharp users can substantially ‘Lift and Shift‘ their valuable PI ACE libraries into gSharp.

The GTS Experience

GTS Group is Australia’s premier real-time data specialist and leading PI System solution provider, boasting several former OSIsoft engineers on staff.  With the largest accredited engineering team in the APAC region, GTS created the gHost division to lead our growing R&D activity, developing our hosted solutions and our subscription applications, including gSharp.

Recognising the lack of suitable options, our gHost team began the development of gSharp in 2022, ahead of the retirement of ACE.

As we began planning for the development of gSharp, our primary aim was to provide a high degree of compatibility for existing ACE calculations, allowing them to be ported with minimal refactoring of code; our secondary objective was to enhance, rather than simply replace, PI ACE. Along our development journey, we established some key pillars to help us achieve our goals.

Be compatible, but modern

gSharp is built with a compatibility layer for legacy PI ACE modules. We’ve taken the time to replace what are now deprecated PI-SDK calls with the modern AF SDK – we’ve re-implemented the PIACEPoint, PIACENetClassModule and PIACEBIFunctions classes to remove any dependence on unsupportable components. In addition, we’ve added first-class support for contextual calculations, using PI Asset Framework in lieu of the deprecated PI Module Database.

Schedule flexibly

gSharp supports calculations running on either clock-based or event-based triggers. We’ve added versatility with the ability to create multiple clock schedules for a single calculation, and then built support for cron-based schedule configurations on top. gSharp allows for maximum flexibility in scheduling calculations.

Simplify calculation management

gSharp comes with an administration application for Windows desktops, allowing users to manage their entire calculation library from the one place. Assembly registration, context management, and scheduling is all handled through our intuitive GUI-driven app.

Be compatible, but Enhance logging options

In utilising the NLog framework, gSharp accommodates highly flexible logging configuration, for all aspects of the core engine and client code. Logs can be viewed, filtered and analysed directly from the Calculation Manager.

Extend logging options

gSharp calculations are based on the .NET Framework. We proudly support development and execution of calculation assemblies in any .NET language — VB.NET, C#, and F#.

"There are still 3 key areas where ACE beats Analytics

      • Flow control and looping
      • Integration with third party libraries
      • Better control over output timestamps”

Staying ahead of deprecation

Asset Analytics is not a complete solution to replace valuable libraries of ACE analyses. There are some calculation scenarios which are not only unsupported – but rather, just cannot be implemented at all. In addition, for many the task of rewriting ACE code to Asset Analytics would be a massive (and costly) undertaking.

gSharp provides the compatible, modernised and enhanced alternative to PI ACE. It is a simple and affordable pathway to retaining the value in your ACE code investment and moving to a platform developed and supported by some of the best PI System specialists in the world.

Migrate and enhance your existing ACE code with these key gSharp features:

      • Clock-based and natural (event triggered) scheduling
      • Desktop-based UI for management of calculations and scheduling
      • PI ACE programmatic compatibility layer comprising of fully AF SDK
        based re-implementations of the PIACEPoint, PIACENetClassModule, and
        PIACEBIFunctions classes
      • Contextual calculations using PI Asset Framework in lieu of the deprecated PI Module Database
      • Highly configurable and flexible logging capability
      • Manual calculation backfilling and manual re-calculation
      • .Net based calculations only (no support for legacy VB6 based PI ACE code)

Interested?

For more information about the gHost platform, the solutions it facilitates, and the future of data in environmental monitoring, please contact us using the form below.