Abstract

Bringing technology from the research world into an operational environment poses many challenges. Typically, software systems having their origins in low technical readiness level research projects have few, if any, formal requirements associated with them. This paucity of formal requirements coupled with the challenges associated with coordinating multiple, distributed research-oriented software projects makes it difficult to design and build software systems that will ultimately be useful in an operational environment. Targeted for current and next-generation space vehicles, the diagnostic applications that compose the advanced diagnostic system (ADS) under development in our lab at NASA-Ames Research Center are realizations of research projects associated with multiple organizations and generally are not designed according to stringent requirements nor with integration into the ADS environment in mind. The core functionality of a Diagnostic Client Application, usually having its basis in artificial intelligence research, is the primary (and perhaps sole) consideration of the application developer. Research funds generally are not available for implementing aspects such as logging and security, both of which are critical in aerospace diagnostic systems such as the ADS. Aspect-oriented programming (AOP) is a new software development methodology that complements object-oriented programming and addresses the complexity of software systems by achieving a separation of functional and interaction components (aspects). Aspects such as logging and security are defined as properties that cut across groups of functional components (diagnostic applications). Aspects can be thought about and analyzed separately from each other and from the core functionality of the software system. AOP provides the modular separation of crosscutting concerns, where the aspect code is scattered/tangled throughout the software system. An AOP framework takes advantage of what AOP provides and enables us to build software systems that can be extended and adapted during runtime. In this paper we present an AOP framework for integrating software components into an advanced (artificial intelligence-based) diagnostic system and introduce a basic ontology for sharing knowledge between a community of diagnostic applications (agents).

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call