Thursday, May 1, 2025

Maximo ACM - Asset Configuration Manager Add-On

Maximo ACM (Asset Configuration Manager) is an Add-On  for MAS Manage & Maximo 7.6.x earlier versions.

What is ACM used for ? 
Maximo ACM is designed to help manage the configurations of high-value, complex, and regulated assets such as aircraft, rail vehicles, engines, and weapon systems by tracking their configuration throughout their lifecycle.

Purpose of ACM
ACM helps ensure that assets remain compliant with their original design and maintenance requirements. It is essential in industries where safety, compliance, and traceability are critical.
 
Core Components of ACM
ACM is built with three key components:

1) Reference Data  
When we receive an Asset (Train/Locomotives/Aircraft) and its components, we must create engineering reference data (as designed) for it. The reference data specifies the configurations allowed for the asset and how it is maintained.

This defines the "as-designed" configuration of the asset, including:
  • Models
  • Positions
  • Items/Parts
  • Maintenance Programs
  • Meters
  • Configuration Rules
  • Variants 

2) Operational Data 
It refers to the data about production assets as they are maintained to perform their day-to-day operations.  

The "as-maintained" data includes:
  • Asset creation and tracking of sub-assemblies and serialized components
  • Installation/removal of components
  • Scheduled and unscheduled maintenance
  • Meter-based overhauls
  • Design modifications and upgrades
  • Maintenance history
3) Build Data Interpreter (BDI) 
BDI validates any operational changes to Configuration Managed (CM) Assets. It checks each position against the reference data and its configuration rules that are defined for the associated Model. 

It reports the status of non-compliant assets in the Assets (CM) application through color-coded data.  

Some key features of Maximo ACM:

Models (CM) 
A model can represent a top-level asset (aircraft or train), or an equipment assembly, such as an engine or HVAC sub-system. 
  • Installable? flag can denote whether this Model can be installed on another Model hierarchy. An Installable Model of a coach or car can be used in many other models like Train.
  • A Build Item is a part or an assembly of parts. In an aircraft model, a build item for an engine will contain a CM Item assembly that forms a hierarchy for engine.
BDI Cron Tasks 
BDI runs scheduled jobs via the Cron task PlusABDIAsyncImmediateJobCron to automate actions such as: 
  •  Change PM Status
  •  Generate PM records from Master PM 
  •  Create WO from PM using alert point
  •  Create PM records when Assets are created
Meter Readings For CM Assets
For CM-Managed Assets, Maximo don't support an "Accept Rolldown From" = ASSET or LOCATION for child assets/locations. It must be set to NONE. 
It's the default value when new ASSETMETER records are created for CM-Managed Assets. 

ACM uses a dynamic meter calculation for CM-Managed assets based on asset configuration history. As such
there is no need to roll down (duplicate) the meter readings on the sub-assembly assets.

This enables meter readings to be more easily altered or corrected and also if the configuration history is modified, for example, a child Asset is removed/installed, the dynamic calculation ensures the meter totals for these child Assets are accurate.

If you set "Accept Rolldown From" to ASSET or LOCATION, Maximo will record incorrect values by multiplying the Asset meter totals.

Work Types that resets Meters
ACM related Work Types: OVHL (Over Haul) , REP (Repair) & INSP (Inspection) when used in Work Order for an Asset will reset the Time Since (Over Haul, Repair & Inspection) Meter Reading to 0 on moving the Work Order status to Complete.




Technical Records
Technical Records (CM) application is used for upgrade or modifications campaigns, such as: 
  • Software Updates
  • Safety driven modifications
  • Part replacement
You can define: 
  • Narratives describing the change
  • Compliance status (mandatory or optional)
  • Associated models and variants
  • A CM Item to be upgraded and its position in the model hierarchy
  • An Inoperative Date that indicates when BDI should apply the upgrade
  • A Superseding CM Item, representing the new upgraded part
The "Apply Multiple Upgrades?" option allows grouping multiple asset upgrades into one Work Order. 
 
Technical Records do not perform automatic installation/removal of an Asset in the build hierarchy—it only updates the part number.

Courtesy: Nausheel

References: 

Thursday, February 27, 2025

Maximo Test Automation with Karate testing platform

Maximo Test Automation, using Karate. Karate is the only open-source testing platform that seamlessly combines UI testing, API testing, API performance testing, and API mocks in a single framework.

In today's Agile practices, Maximo consultants must collaborate closely with Business Analysts, Testers and DevOps to understand required testing and identify automation opportunities for successful releases. Every release needs to pass essential milestones, such as Performance impact tests, Critical regression test cases and Defect closures. 

Given these trends, it's essential for a Maximo Consultant to possess proficiency in testing frameworks for UI, Unit and Integration testing, as well as familiarity of how these frameworks are integrated into CI/CD pipelines.

Tests in Karate framework can be created by non-programmers using Behavior Driven Development (BDD)  syntax, which is similar to Gherkin. This approach enables test automation without the need for coding skills

The tasks involved in Karate Test automation are as follows: 
  • Installation
  • Maven Project
  • .feature file 
  • Test Execution & Results
Installation:
  • Install Java & Configure Java path in System Environment Variable
  • Install Maven & Eclipse IDE
Maven is open-source build automation tool, mainly used for Java projects. It assists developers in managing the entire project lifecycle, including building, testing, packaging and deployment. 

  • Install Cucumber Plugin from Eclipse Marketplace
Cucumber plugin helps identify and execute feature files efficiently
Cucumber is a tool that facilitates Behavior Driven Development (BDD). Each scenario in Cucumber feature file consists of a series of steps that the tool uses to verify if the software meets the specified requirements, generating a report that indicates whether each scenario passes or fails. 

Maven project:

Create a Maven project by configuring the Karate dependency in pom.xml file. 
Maven provides a standardized way to handle project dependencies and project configuration through a POM (Project Object Model) file.



By adding a dependency for karate in pom.xml, Maven will automatically download all the necessary dependencies required to run tests using Karate framework.


.feature File

A .feature file in the Karate framework (or other BDD tools like Cucumber) contains Gherkin-style syntax, which is a human-readable format for defining the steps of a test scenario. Each step is then linked to programming code that implements the actual behavior of the test. 

UI Testing Scenario .feature file is to test create Work Order by login into Maximo, navigate to Work Order application from Start Center, enter the mandatory field values and save the record. 


API Testing Scenario .feature file is to validate the XML response from Maximo PERSON REST API GET Query. 


Test Execution & Results:
  • In your project, navigate to .feature file which you want to run.
  • Right click on the file
  • In Eclipse, you will see an option: Run As -> Cucumber Feature
  • Once you select it, the IDE will execute the feature file, and you should see the results in the Console window of your IDE

  • Karate framework generates a detailed test results report.
  • The summary of the test execution is stored in an HTML file, which you can easily view in a browser.
  • By default, Karate framework generates the test results in following path: "target/karate-reports/karate-summary.html"

A sample project demonstrating API & UI testing is available in gitlab repository gitlab-KarateMaximoAutomation 


References: