360 likes | 608 Views
re-ADA for C4ISR. Sheldon X. Liang, PhD Computer Science. re-ADA for C4ISR Reliable Ada-based Descriptive Architecture via a Quantifiable Interoperating Model. Why re-ADA? Scalable re-ADA Formal re-ADA A C4ISR Case Study Practical re-ADA Quantifiable re-ADA.
E N D
re-ADA for C4ISR Sheldon X. Liang, PhD Computer Science
re-ADA for C4ISR Reliable Ada-based Descriptive Architecture via a Quantifiable Interoperating Model Why re-ADA? Scalable re-ADA Formal re-ADA A C4ISR Case Study Practical re-ADA Quantifiable re-ADA
re-ADA for C4ISR Why re-ADA? Excellence and Drawbacks • The International Language for SE • The Language for a Complex World • The first ISO-standardized OOPL • The Quantitative ADL for C4ISR What an embarrassing – a C++ or Java programmer who has expertise in OOP may not be able to write code in Ada95 Why? Ada95 has the meaning of OOP but does not have the class-like form
re-ADA for C4ISR Why re-ADA? Expectations and Accomplishments Not just OOPL But ADL re-ADA Perfect OOPL Like Java/C++ re-Ada OOPL Mean / Form Ada95
Quantitatively Modeling Dependability (RT) Reliable Architecture for C4ISR Interoperability CORBA-based Infrastructure CSP-based Semantics Class-like OODM C++/Java-like Class construct ISO OOPL re-ADA for C4ISR Why re-ADA? Approach against Drawbacks C4ISR re-ADA re-Ada Ada95
re-ADA for C4ISR Why re-ADA? Quantitatively Modeling Interoperability Dependable Interoperability with respect to RT constraints can be monitored at runtime
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach System Interoperability Dependable Interoperation Interoperability for C4ISR Information Interoperability Effective Intercommunication Software Interoperability Seamless Interconnection
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach • re-ADA aims to enable legacy (heterogeneous) components to work together over the network by using interoperability technologies: • data unification, • message-sending, and • interoperable shell.
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach • Seamless Interconnection Software interoperability refers to inconsistent representation of the same real world entity in various legacy component systems. By data unification and OOMI (Object-Oriented Model for Interoperability), the heterogeneous legacy component can be abstracted as a coarser-grained object that is unified into a standard representation.
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach • Seamless Interconnection • Effective Intercommunication Information interoperability refers to two message-sending ways: Simple Message Sending (SMS) and Remote Method Invocation (RMI) via message-sending. For the sake of effective SMS/RMI between distributed components, a set of explicit functionalities needs to realize effective intercommunication.
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach • Seamless Interconnection • Effective Intercommunication
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach • Seamless Interconnection • Effective Intercommunication • Dependable Interoperation System interoperability refers to joint task execution over the network that is realized via message-sending in a dependable way Dependable Interoperability with respect to RT constraints can be monitored at runtime
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach System Interoperability Dependable Interoperation Interoperability for C4ISR Information Interoperability Effective Intercommunication Software Interoperability Seamless Interconnection
re-ADA for C4ISR Scalable re-ADA An Evolutionary Approach
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model Constructing formal dependability model for C4ISR the process that incorporates three views of dependability throughout software development process Conceptual view Quantitative view Semantic view acquiring dependability requirements that refer to fundamental attributes: mapping attributes into measurable constraints binding attributes onto architectural artifacts, like the role, style, and protocol
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model Constructing formal dependability model for C4ISR the process that incorporates three views of dependability throughout software development process Conceptual view Quantitative view Semantic view
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model Dependable Interoperation between two collaborative components in production-consumption (Prepare Respond) pattern. Three kinds of timing constraints have been developed to reflect dependability attributes, such as availability or reliability: MET (maximum execution time) for client side, MRT (maximum response time) for server side, and LATENCY (maximum delay during communication)
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model The client prepares message (constrained by MET), and sends it out as a RMI message (constrained by LATENCY), and then expects response from the server (constrained by MRT) Client/Publisher Server/Subscriber
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model • Real-time constraints monitor In distributed computing environment, multi-threads dominate the interoperation between Publisher and Subscriber. , and Agent that plays a role of Publisher that delivers message for response, and a role Subscriber that observes message by giving response. Real-time constraints can be monitored at runtime on the basis of multi-threading communication.
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model • Real-time constraints monitor (a) Preparation for delivering constrained by MET (b) Response for observing constrained by MRT (c) intercommunication constrained by LATENCY
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model • Real-time constraints monitor • A C4ISR case study A C4ISR system is generally composed of component systems in military applications – for instance, airplanes in the sky, warships in the sea, submarines underwater or missiles on the land, all of which connects with the battle management infrastructure.
re-ADA for C4ISR Formal re-ADA Quantitative Interoperating Model • Formal dependability model • Real-time constraints monitor • A C4ISR case study Dependable interoperability makes a lot of sense with C4ISR in regards to the collaborative interoperation of military commands in a coalition. C4ISR is usually established on the military internetworking infrastructure (network-centric warfare).
re-ADA for C4ISR Formal re-ADA A C4ISR Case Study
re-ADA for C4ISR Formal re-ADA A C4ISR Case Study C4ISR architectures aim to improve capabilities by enabling the quick synthesis of “go-to-war” requirements with sound investments leading to the rapid employment of improved operational capabilities, and enabling the efficient engineering of warrior systems.
re-ADA for C4ISR Formal re-ADA A C4ISR Case Study
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct In re-ADA, all heterogeneous components are required to play a specific role -- either a Publisher or a Subscriber, or both. So we need an up-most ancestor class Role for defining generalized features for all descendant classes to inherit from, such as tagged, Controlled, Initialize and Finalize (Ada95/Ada05). In this Ada-based design approach, the pristine notion of class is introduced as a major program element in a package in support for more straightforward object-oriented construction; and through inheritance, many descendant classes can be derived.
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct An Ada-based pristine class in an Ada package is treated as program unit that encloses properties (data & subprograms)
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct There are five rules that have been developed as key points upon which a pre-compiler can be made to translate the pristine class into Ada95/Ada05 code. R-1 class and type: a class name always implies two types; R-2 member method: a member method is an access to a subprogram R-3 constructor and destructor: They are Initialize and Finalize R-4 prefix “Current” access within member method’s body: R-5 object designator: “Obj<-” is introduced to to choose the member method. R-6 Interoperation via Collaborator: a pair of publisher and subscriber will share a task that collaborates on the interoperation. R-7 Concurrent computation and synchronous rendezvous: under the monitor of the collaborator, there are two tasks working for the publisher and the subscriber, respectively.
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct • Inheritance and polymorphism The Collaborator’s connection provides a useful means by which a concrete component is assigned to play a specific role (Publisher or Subscriber). In terms of role-assignment, there are two ways to “glue” the concrete component on the specific role: Object embedment, and Object derivation. The object derivation is to derive a new class and override the existing member method (predefined by the framework) – for instance, procedure Prepare is abstract. An abstract member method represents polymorphism and dynamic binding.
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct • Inheritance and polymorphism Through inheritance, the subclass can redefine a subprogram by overriding it, which means polymorphism
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 • Syntactic class construct • Inheritance and polymorphism • Computational collaboration We now take a closer look at the C4ISR case study. Although we already have an outlined configuration with Ada-based descriptive architecture, here we apply the 6th rule and the 7th rule to translate the Ada-based description into real Ada95 code
re-ADA for C4ISR Practical re-ADA Class-like OOP in Ada95 Computational collaboration Code and Semantics
re-ADA for C4ISR Quantifiable re-ADA Conclusion • C4ISR: Reliable Interoperability C4ISR architectures aim to improve capabilities by enabling the quick synthesis of “go-to-war” requirements, and enabling the efficient engineering of warrior systems • QIM/re-ADA: Quantitatively Modeling Architecture The QIM/re-ADA provides the explicit loci around which designers are able to stress and evaluate the non-functional properties during architectural design. • re-ADA/CORBA:Descriptive Architecture & Infrastructure re-ADA/CORBA maps dependability into quantifiable constraints as architectural (semantic) properties that are constructed on the basis of CORBA, so that dependable interoperation can be verified at runtime.
re-ADA for C4ISR Questions