{"title":"硬件抽象层的整体方法","authors":"Josselyn Webb","doi":"10.1109/AUTOTESTCON47462.2022.9984759","DOIUrl":null,"url":null,"abstract":"The United States Marine Corps (USMC) Ground Weapons Automated Test Equipment (ATE) family of systems, as well as the software that supports these systems, is outdated and approaching the necessity to be replaced. The Virtual Instrument Portable Equipment Repair/Tester (VIPER/T) system has been in place since 2006 and the Third Echelon Test Set (TETS) system has been utilized since the 1990s. During the development of VIPER/T, it was decided that the USMC needed a Hardware Abstraction Layer (HAL) to provide the ability to switch out hardware without having to change the supporting software. This implementation, named the Common Instrument Control Layer (CICL), was close; however, it did not provide the seamless approach that was being sought. The current implementation involves a Simple Object Access Protocol (SOAP) service that utilizes Automatic Test Extensible Markup Language (ATXML) traffic to invoke the instrument layer. This has allowed the isolation of the drivers; however, the abstraction of the capability is not robust and the exposure of the instrument is highly coupled to the instrument's capability. Over time, the language choice and complexity of the SOAP layer encouraged work-arounds that have compromised the abstraction due to the level of difficulty in modifying that layer. As a result, the Electronics Software Calibration Test (ESCT) Division noticed a proliferation in the use of “Non-ATLAS Modules” (NAM) that bypass the HAL completely. In recent years there has been a push in the ATE community to move away from the Abbreviated Test Language for All Systems (ATLAS) programming language. From the ESCT's perspective, the reasoning for this is twofold: 1) the standard is no longer being maintained, and 2) it has become increasingly hard to find personnel that are already proficient with ATLAS or have an interest and/or time to learn it. The age of the current systems has necessitated a need to replace the instrumentation that is no longer being produced. With this in mind, as well as the complexity of the CICL and the desire/necessity to move away from ATLAS, a decision was made to design a new HAL that would allow the USMC to meet the following goals: allow for seamless transition when replacing instrumentation; utilize a more modern programming language (C#); allow continued use of the currently fielded Application Program Sets (APS); and provide a way to simulate systems without a need for physical instrumentation.","PeriodicalId":298798,"journal":{"name":"2022 IEEE AUTOTESTCON","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Holistic Approach to Hardware Abstraction Layers\",\"authors\":\"Josselyn Webb\",\"doi\":\"10.1109/AUTOTESTCON47462.2022.9984759\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The United States Marine Corps (USMC) Ground Weapons Automated Test Equipment (ATE) family of systems, as well as the software that supports these systems, is outdated and approaching the necessity to be replaced. The Virtual Instrument Portable Equipment Repair/Tester (VIPER/T) system has been in place since 2006 and the Third Echelon Test Set (TETS) system has been utilized since the 1990s. During the development of VIPER/T, it was decided that the USMC needed a Hardware Abstraction Layer (HAL) to provide the ability to switch out hardware without having to change the supporting software. This implementation, named the Common Instrument Control Layer (CICL), was close; however, it did not provide the seamless approach that was being sought. The current implementation involves a Simple Object Access Protocol (SOAP) service that utilizes Automatic Test Extensible Markup Language (ATXML) traffic to invoke the instrument layer. This has allowed the isolation of the drivers; however, the abstraction of the capability is not robust and the exposure of the instrument is highly coupled to the instrument's capability. Over time, the language choice and complexity of the SOAP layer encouraged work-arounds that have compromised the abstraction due to the level of difficulty in modifying that layer. As a result, the Electronics Software Calibration Test (ESCT) Division noticed a proliferation in the use of “Non-ATLAS Modules” (NAM) that bypass the HAL completely. In recent years there has been a push in the ATE community to move away from the Abbreviated Test Language for All Systems (ATLAS) programming language. From the ESCT's perspective, the reasoning for this is twofold: 1) the standard is no longer being maintained, and 2) it has become increasingly hard to find personnel that are already proficient with ATLAS or have an interest and/or time to learn it. The age of the current systems has necessitated a need to replace the instrumentation that is no longer being produced. With this in mind, as well as the complexity of the CICL and the desire/necessity to move away from ATLAS, a decision was made to design a new HAL that would allow the USMC to meet the following goals: allow for seamless transition when replacing instrumentation; utilize a more modern programming language (C#); allow continued use of the currently fielded Application Program Sets (APS); and provide a way to simulate systems without a need for physical instrumentation.\",\"PeriodicalId\":298798,\"journal\":{\"name\":\"2022 IEEE AUTOTESTCON\",\"volume\":\"11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-08-29\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 IEEE AUTOTESTCON\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/AUTOTESTCON47462.2022.9984759\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE AUTOTESTCON","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/AUTOTESTCON47462.2022.9984759","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Holistic Approach to Hardware Abstraction Layers
The United States Marine Corps (USMC) Ground Weapons Automated Test Equipment (ATE) family of systems, as well as the software that supports these systems, is outdated and approaching the necessity to be replaced. The Virtual Instrument Portable Equipment Repair/Tester (VIPER/T) system has been in place since 2006 and the Third Echelon Test Set (TETS) system has been utilized since the 1990s. During the development of VIPER/T, it was decided that the USMC needed a Hardware Abstraction Layer (HAL) to provide the ability to switch out hardware without having to change the supporting software. This implementation, named the Common Instrument Control Layer (CICL), was close; however, it did not provide the seamless approach that was being sought. The current implementation involves a Simple Object Access Protocol (SOAP) service that utilizes Automatic Test Extensible Markup Language (ATXML) traffic to invoke the instrument layer. This has allowed the isolation of the drivers; however, the abstraction of the capability is not robust and the exposure of the instrument is highly coupled to the instrument's capability. Over time, the language choice and complexity of the SOAP layer encouraged work-arounds that have compromised the abstraction due to the level of difficulty in modifying that layer. As a result, the Electronics Software Calibration Test (ESCT) Division noticed a proliferation in the use of “Non-ATLAS Modules” (NAM) that bypass the HAL completely. In recent years there has been a push in the ATE community to move away from the Abbreviated Test Language for All Systems (ATLAS) programming language. From the ESCT's perspective, the reasoning for this is twofold: 1) the standard is no longer being maintained, and 2) it has become increasingly hard to find personnel that are already proficient with ATLAS or have an interest and/or time to learn it. The age of the current systems has necessitated a need to replace the instrumentation that is no longer being produced. With this in mind, as well as the complexity of the CICL and the desire/necessity to move away from ATLAS, a decision was made to design a new HAL that would allow the USMC to meet the following goals: allow for seamless transition when replacing instrumentation; utilize a more modern programming language (C#); allow continued use of the currently fielded Application Program Sets (APS); and provide a way to simulate systems without a need for physical instrumentation.