An Aspect-Oriented Programming-based approach to software development for fault detection in measurement systems

https://doi.org/10.1016/j.csi.2009.11.009Get rights and content

Abstract

An Aspect-Oriented Programming-based approach to the development of software components for fault detection in automatic measurement systems is proposed. Faults are handled by means of specific software units, the “aspects”, in order to better modularize issues transversal to several components. As a case study, this approach was applied to the design of the fault detection software inside a flexible framework for magnetic measurements, developed at the European Organization for Nuclear Research (CERN). Experimental results of software modularity and performance measurements for comparing aspect- and object-oriented solutions in rotating coils tests on superconducting magnets are reported.

Introduction

Nowadays, test automation is a must for product quality and reliability, both in industry and in research. Intelligent measurement systems are used deeply in delicate tests involving several instruments. One of their key issues is the capability of assuring a proper termination to the test process. With this aim, a suitable fault self-detection software turns out to be an adequate reaction to anomalous working [1]. Devices provide information about their status continuously and, in case of abnormal working, a fault condition is pointed out.

Software implementation of fault detection is a well-known strategy for dealing with failures caused by both hardware and software faults [2]. Compared to hardware implementation, it has the advantage of higher flexibility and cost effectiveness. Today, it is a widely used technique, and emerging application areas for cost-effective dependable systems will further increase its importance [3]. Thus, the software implementation of a fault detector affects the overall system quality, in particular maintainability and reusability. The implementation analysis of state-of-the-art automatic measurement systems highlighted that fault detection is usually scattered all over different software components, mainly with reference to devices' hierarchy. This means that often the concrete classes of virtual devices contain duplicated code for fault detection, thus making harder their comprehension, testing, and maintenance.

Nowadays, the development of the software for an automatic system exploits usually such as object-oriented [4], [5], component-based [6], [7], and agent-based development techniques [8]. They aim at organizing the software system in modules by reducing their coupling, and maximizing their internal cohesion. Anyway, crosscutting concerns can negatively affect the quality of even well modularized systems [9]. Crosscutting concerns are related to issues, such as the fault detection in an intelligent measurement system, transversal to many modules. This causes the duplication of parts of very similar code in several different modules, by compromising maintainability and reusability.

In this paper, the Aspect-Oriented Programming (AOP) is proposed for the development of software components for fault detection implementation in order to overcome such drawbacks. The crosscutting concerns related to fault self-detection of a large measurement software project are separated and handled better by encapsulating them into specific modules called aspects. In this way, the reusability of system modules improves. As experimental case study, the development of an AOP-based fault self-detection in the Flexible Framework for Magnetic Measurements (FFMM) [10] at the European Organization for Nuclear Research (CERN) is presented. In particular, in the following Sections, (i) an AOP background, (ii) the proposed AOP-based fault detector for automatic measurement systems, (iii) the fault detector design for the flexible framework for magnetic measurements at CERN, (iv) a case study on rotating coils fault detection, and (v) conclusions are reported.

Section snippets

AOP background

Aspect-Oriented Programming (AOP) [11] is an extension of the object-oriented paradigm that provides new constructs for improving the separation of concerns and supporting their crosscutting. AOP defines a kind of program unit, the aspect, for specifying concerns separately, and rules for weaving them to produce the overall system to be run. Like a class of objects, an aspect introduces a new user-defined type into the system's type hierarchy, with its own methods, fields, and static

AOP-based fault detector for automatic measurement systems

In the following, the proposed AOP-based approach to the development of software for fault detection in automatic measurement systems is described. In particular, (i) the measurement fault analysis, and (ii) the fault detector architecture are highlighted.

Fault detector design for the flexible framework for magnetic measurements at CERN

The design of proposed AOP-based architecture for developing fault detection software components in automatic measurement systems is presented in the context of the Flexible Framework for Magnetic Measurement (FFMM) [10], under development at CERN in cooperation with the University of Sannio. FFMM is based on Object-Oriented Programming (OOP) and Aspect-Oriented Programming (AOP), and aims at supporting the user in developing software for the test of superconducting magnets for particle

A case study on rotating coils fault detection

A case study was carried out to verify and asses if the software quality of the proposed AOP version for the fault detector was actually improved with respect to the previous existing OOP version and to verify that the new AOP architecture had not a negative impact on runtime performance of the overall system (due to aspect runtime interception overhead). Thus an evaluation of the software quality attribute of modularity was performed to verify the first point and some runs of an adequately

Conclusions

A fault self-detector based on Aspect-Oriented programming was presented. Such a software design integrates the Object-Oriented approach, by adding specific encapsulation of crosscutting concerns. The proposed approach was used for the development of a fault detector in a framework for magnetic measurement, under development at CERN. The advantages of using AOP in the development of a fault detector were verified in the case of a measurement application based on rotating coils for testing a

Acknowledgements

This work was sponsored by CERN trough the agreement K 1464 with the Department of Engineering, University of Sannio, whose support authors gratefully acknowledge. The authors thank Philip Lebrun, Luca Bottura, Marco Buzio, Felice Cennamo, Laurent Deniau, Juan Garcia Perez, Giancarlo Golluccio, Giuseppe Montenero, and Louis Walckiers for their useful cooperation.

Pasquale Arpaia was born in Napoli, Italy, on February 2, 1961. He took MD and PhD in Electrical Engineering at University of Napoli Federico II where he taught Electrical and Electronic Measurements until 2001. Then, he became Associate Professor at University of Sannio. From August 2005 he is also Project Associate for the Large Hadron Collider at European Organization for Nuclear Research (CERN). He served as Associate Editor for the Subject Areas “Quality and Statistical Methods” and “Test”

References (16)

  • M. Catelani et al.

    A measurement system for fault detection and fault isolation of analog circuits

    Measurement

    (March 1999)
  • O. Postolache et al.

    An ANN fault detection procedure applied in virtual measurement systems case

    Proc. of IEEE Instrumentation and Measurement Technology Conference, IMTC/98

    (May 18–21 1998)
  • P. Arpaia et al.

    Automatic fault isolation by cultural algorithms with differential influence

    IEEE Trans. on Instrumentation and Measurement

    (Oct 2007)
  • S.J. Bosch
  • S. Wang et al.

    Constructing reconfigurable software for machine control systems

    IEEE Trans. on Robotics and Automation

    (Aug 2002)
  • J.M. Nogiec et al.

    A configurable component-based software system for magnetic field measurements

    IEEE Trans. on Applied Superconductivity

    (Jun 2006)
  • J.E. Beck et al.

    Applying a component-based software architecture to robotic workcell applications

    IEEE Trans. on Robotics and Automation

    (Jun 2000)
  • N.R. Jennings

    Agent-based computing: promises and perils

There are more references available in the full text version of this article.

Cited by (13)

  • Virtual instrument to obtain an optimal linear model for piezoelectric elements involved in road traffic energy harvesting

    2017, Computer Standards and Interfaces
    Citation Excerpt :

    Virtual instruments represent a fundamental shift from traditional hardware-centered instrumentation systems to software-centered systems that exploit the computing power, productivity, display, and connectivity capabilities of popular desktop computers and workstations. There are currently many applications in labs [13], testing [14], modelling approaches [15] and industry. Bearing all premises in mind on the need to obtain the linear model, it was decided that the VI instrument, which must have a friendly graphical user interface (GUI), has to meet the following requirements:

  • A portable interceptor mechanism for SOAP frameworks

    2013, Computer Standards and Interfaces
    Citation Excerpt :

    Liang's work on fault tolerant Web Services shows that an interceptor mechanism is needed to solve logging, client fault transparency, and redundant nested invocation problems in fault tolerant systems [9,20]. Arpaia et al. develop a fault detection subsystem, which also use interception mechanism to extract relevant fault information [2]. For load balancing applications, Cao et al. and Hallstrom et al. implemented an interceptor in their agent-based resource management system to intercept user requests and distribute the load fairly over all grid servers [6,13]; while Othman et al. used a client-side interceptor to intercept and then forward requests for load balancing purposes [26].

  • Sm@rtConfig: A context-aware runtime and tuning system using an aspect-oriented approach for data intensive engineering applications

    2013, Control Engineering Practice
    Citation Excerpt :

    However, although using textual descriptions for AOSD, its tools can perform model-level aspects weaving. Aspect-Oriented Programming (AOP) was used in Arpaia, Bernardi, Lucca, Inglese, and Spiezia (2010) to deal with fault detection in automatic measurement systems. The AOP-based fault detector is part of the Flexible Framework for Magnetic Measurements (FFMM), under development at the European Organization for Nuclear Research (CERN).

  • Software Development for Educational Information Services Using Multilayering Semantics Adaptation

    2022, International Journal of Service Science, Management, Engineering, and Technology
  • An initial research on Halstead's technique for pattern similarity relationship study

    2018, 2018 International Conference on Information and Communications Technology, ICOIACT 2018
  • An aspect oriented framework for flexible design pattern-based development

    2013, ICSOFT 2013 - Proceedings of the 8th International Joint Conference on Software Technologies
View all citing articles on Scopus

Pasquale Arpaia was born in Napoli, Italy, on February 2, 1961. He took MD and PhD in Electrical Engineering at University of Napoli Federico II where he taught Electrical and Electronic Measurements until 2001. Then, he became Associate Professor at University of Sannio. From August 2005 he is also Project Associate for the Large Hadron Collider at European Organization for Nuclear Research (CERN). He served as Associate Editor for the Subject Areas “Quality and Statistical Methods” and “Test” of IEEE Transactions on Electronics Packaging and Manufacturing. Now he is Editor of the Subject Area “Digital Instruments Standardization” for the Elsevier Journal Computer Standards & Interfaces. His main research interests include ADC modelling, testing, and standardization, measurement systems on geographic networks, statistical-based characterisation of measurement systems, evolutionary algorithms for diagnostics, and digital instruments for magnetic measurements in particle accelerators. In this field he has published more than 100 scientific papers in journals and national and international conference proceedings.

Mario Luca Bernardi received the Laurea degree in Computer Science Engineering from the University of Naples “Federico II”, Italy, in 2003 and the Ph.D. degree in Information Engineering from the University of Sannio in 2007. Since 2003 he has been a researcher in the field of software engineering and he is author of several papers published in journals and conference proceedings. His main research interests include software maintenance and testing, software reuse, software reverse engineering and reengineering, with particular interest on systems developed by the aspect-oriented paradigm. He has served as reviewer of papers submitted to conferences and journals in the field of software engineering, software maintenance and program comprehension.

Giuseppe A. Di Lucca received the Laurea degree in Electronic Engineering from the University of Naples “Federico II”, Italy, in 1987 and the Ph.D. degree in Electronic Engineering and Computer Science from the same University in 1992. He is currently an Associate Professor of Computer Science at the Department of “Ingegneria” of the University of Sannio. Since 1987 he has been a researcher in the field of software engineering and his list of publications contains more than 80 papers published in journals and conference proceedings. His main research interests include software engineering, software maintenance, software testing, reverse engineering, software reuse, software reengineering, software migration, aspect-oriented software development, and web engineering. He serves both as a member of the program and organizing committees of conferences, and as reviewer of papers submitted to some of the main journals and magazines in the field of software engineering, software maintenance and program comprehension.

Vitaliano Inglese was born in June 1976, in Benevento, Italy. He took his MD in Automatic Control Engineering, in May 2006. He carried out his thesis at CERN in the Department AT/MTM, from October 2005 to May 2006, on the development and metrological characterization of a Fast Digital Integrator for magnetic measurements based on rotating coils. He worked at CERN from June 2006 to October 2006, in the Department AT/MTM, on the further development of FDI. In November 2006, he started his PhD at department of Electrical Engineering of the University of Naples Federico II. He is developing his research activities at CERN in the department AT/MEI. His main research interests include digital signal processing and magnetic measurements on particle accelerators.

Giovanni Spiezia was born in Naples, Italy, on January 1981. He received the M.D. and the Ph.D. degrees in electronic Engineering from the University of Naples Federico II. The Ph D. activity, the design and the development of a Fast Digital Integrator, were carried out at the European Organization for Nuclear Research (CERN). He is currently with the Engineering Department at CERN, where he is involved in the development of a new nuclear radiation sensor and a new position sensor prototype. His research interests include electronic design, digital signal processing, and magnetic measurements on particle accelerators.

1

Tel.: + 39 0824 305804 17; fax: + 39 0824 305840.

2

Tel.: + 41 22 76 76635; fax: + 41 22 76 76230.

View full text