530 likes | 608 Views
A Real-Time Formal Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability. Doctorate Student; Emilia Colonese. Pre-Qualifying. Advisor; José M. Parente de Oliveira. Agenda. Introduction. Introduction Real-Time Framework - RTF
E N D
A Real-Time Formal Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability Doctorate Student; Emilia Colonese Pre-Qualifying Advisor; José M. Parente de Oliveira
Agenda • Introduction • Introduction • Real-Time Framework - RTF • Applying Formal Methods • Case Study – Formal RTF Adoption • Conclusion A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Introduction Why software problems and challenges are hard to be recognized? • Misunderstand the requirements • Underestimate complexity of the requirements • Underestimate interface and interoperability requirements • Assume the marketplace has what is needed to meet stringent capabilities • Assume commercial off-the-shelf equipment or software will need no modifications or enhancements • Being out of your core competency A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Responsiveness Timeliness Ev2 Ev1 Ev3 Concurrency Reliability T. 1 T. 2 Dynamic Structure Distribution Introduction Real Time Systems Domain: Main Characteristics A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Introduction Problem Real-Time applications have specific challenges of performance in order to deliver valid information to the decision makers in near real-time. System interoperability failure happens because it is not addressed early in the system design process nor supported throughout the operational life of a Real-Time System. Also, the existing GAP of translating and tracking functional requirements to the software design and the inexistence of formal methods prevents the traceability of the requirements to be realized and the correct system development process respectively. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Introduction Proposed Solution This research proposes a formal framework that have a built-in interoperability design, requirements translation to the logical model with traceability allowing to collect information of each realized requirement at run-time, a formalistic applied to the logical view, and a new approach of service-oriented with self-adaptive behavior at runtime, in order to optimize the overall system performance. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Introduction The framework is based on the following key M&D: • Dynamic and real-time approach to the service-oriented architecture allowing “plugging-in” and “plugging-out” services required at run-time; • Built-in interoperability mechanism aiming to achieve a transparent data exchange among systems, subsystems, and components excluding unnecessary gateways; • Capability of tracking each system requirement through use case realizations (scenarios); and • Formal methods applied in the logical view to improve the correctness of the model and consequently the code. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Activity 6 Activity 9 Activity 2 Activity 4 Activity 8 Activity 7 Activity 1 Activity 3 Activity 5 Real World Events Drive Use Cases Service K Service F Service L Service B Service O UseCase2 UseCase1 Service A Service E Service I Service J Service M Service D Scenario View Service N Service C UseCase6 UseCase4 UseCase8 UseCase3 UseCase5 Service H Service G UseCase9 Use Cases Drive Services UseCase7 Logical View Introduction Self-Adaptive Real-Time Services-Oriented In a Self-Adaptive Real-Time Services-Oriented environment Events drive Use Casesand Use Cases drive Services Effectively coupling activities data exchange, only to needed Services and not to Systems. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Agenda • Introduction • Real-Time Framework - RTF • Applying Formal Methods • Case Study – Formal RTF Adoption • Conclusion • Real-Time Framework - RTF A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Framework Modeling: Requirements (Use Cases) Dynamics (Self-Adaptive) Common Protocol (Data Interoperability) System Controller (Dynamic Service Broker) Services & Invokers (Interoperability Design Pattern) Real-Time Framework System Requirements Operational View Functional Requirements System Specifications Non-functional Requirements System Specifications System Engineering Process Infrastructure View System View • Architecture Attributes: • Service-Oriented approach • Self-Adaptive • Interoperability • Design Patterns • Requirements Traceability • Formal Methods • Real-Time execution • Implementation: • MDD & MDA • UML-RT • RT I-CASE Tool & UP • Code generation • Verification/Test A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
MDA Real-Time Framework – Implementation MDD & MDA Model-Driven Development represents a number of styles to develop software by using models. Model-Driven Architecture was proposed by OMG. Figures Source: http://www.omg.org/mda/ A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Class Collaboration Components Deployment Use Case Sequence States Activity Real-Time Framework – Implementation Applying MDD: UML-RT UML Structural and Behavioral Diagrams extended for Real-Time (UML-RT) A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Computation Independent Model - CIM Platform Independent Model - PIM Platform Specific Model - PSM Platform Model - PM Transformation Model - TM Real-Time Framework – Implementation Applying MDD: MDA Applying MDD to Real-Time Systems leads us to think not only on the problem, but in the whole solution process. MDA A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework – Implementation Notation, Modeling and Tool Rational Rose Real-Time (RRRT) CASE Tool is based on the Unified Process (UP) and UML-RT notation enabling the system development to use MDA and MDD. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework – Implementation Code Generation & Test A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Service-Oriented Architecture (SOA) SOA common principles: services share a formal contract, are reusable, loosely coupled, composable, autonomous, stateless, discoverable, and have an abstract underlying logic. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Service-Oriented Approach for RTF RT-SOA common principles: services share a formal contract, share formal classes, are reusable, loosely coupled, composable, autonomous, minimizedstatefull, dynamically activated and deactivated depending on the requestor, and have an abstract underlying logic. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Self-Adaptive Approach RT-SOA common principles: services share a formal contract, share formal classes, are reusable, loosely coupled, composable, autonomous, minimizedstatefull, dynamically activated and deactivated depending on the requestor, and have an abstract underlying logic. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Interoperability The framework addresses the interoperability built-in a standard interface into the system design. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Design Patterns RT-SOA common principles: services share a formal contract, share formal classes, are reusable, loosely coupled, composable, autonomous, minimizedstatefull, dynamically activated and deactivated depending on the requestor, and have an abstract underlying logic. The interoperability mechanism inserts a formal contract and classes into the requestor system design. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Requirements Traceability RT-SOA common principles: services share a formal contract, share formal classes, are reusable, loosely coupled, composable, autonomous, minimizedstatefull, dynamically activated and deactivated depending on the requestor, and have an abstract underlying logic. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Architecture Formal Methods RT-SOA common principles: services share a formal contract, share formal classes, are reusable, loosely coupled, composable, autonomous, minimizedstatefull, dynamically activated and deactivated depending on the requestor, and have an abstract underlying logic. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling Framework StructureDiagram Framework Components (Active Classes): External_Invoker Capsule; Internal_Invoker Capsule(s); SystemStarter Capsule; SystemController Capsule with Dynamic Server Capsule(s) built in; and the ControlledSystem. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling Control Station Framework Service Servers SystemController StructureDiagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling Control Station Framework Self-adaptivepolicy is defined by a kind of Event-Condition-Action (ECA) rules: • The Event is received as a message and is already related to some use case; • The Condition specifies what service needs to be activated based on the content of the received message; and • The Action is the activation of the correct Service. This dynamic behavior of activating and deactivating services is controlled by the SystemController State Model. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling Internal or External Invoker Rules applied in each state Design Patternapplied to the Basic Invoker Statechart A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling Service Server Rules applied in each state Design Patternapplied to the Basic Server Statechart A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling Common Protocol Class The format design for data interchange. TheCommonProtocol Classpromotes theinteroperability, has all information to identify the invoker, the service, the message type, the use case, timestamp, priority, data, altitude, latitude, and longitude. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Real-Time Framework - Modeling CommonProtocol Class Associations A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
This design approach for message types generates just one port of communication avoiding unnecessary gateways. Real-Time Framework - Modeling Component Class Actorsrelated to the software are identified at the design phase. The authors defined a passive class namedComponent Classto register all actors that can communicates with the software during the system execution. Message Class Instead of creating several signals to be received and transmitted through the communication ports of systems, subsystems or components, the authors defined a passive class namedMessage Classto register type of signal that will compose the software needs of communication during the system execution. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Further work in this research will implement the RealizedUseCase Class to store information for each use case realized. Those information might be used to extract knowledge to help decision makers to accomplish their tasks. Real-Time Framework - Modeling UseCase Class • Functional requirementsare mapped to the software at the design phase to use cases. The authors defined a passive class namedUseCase Classto register all use cases that are designed to be realized during the system execution. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Agenda • Introduction • Real-Time Framework - RTF • Applying Formal Methods • Case Study – Formal RTF Adoption • Conclusion • Applying Formal Methods A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
ServiceDistribuition State Diagram ServiceDistribuition Structure Diagram Applying Formal Methods Real-Time Framework SystemController Structure Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Applying Formal Methods Minimization Approach • Step 1 - Create a language for the Finite Deterministic Automata (FDA) to represent the trigger events of the state machine. • Step 2 - Represent the target state diagram as a FDA giving or not the same name of the state. • Step 3 - Apply the Myhill-Nerode Minimization algorithm. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Trigger event FDA Language timeout T 1 send sig_sr_out 2 sig_cl_out 3 Applying Formal Methods Create a language for the FDA to represent the trigger events A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Trigger event FDA Language timeout T 1 send sig_sr_out 2 sig_cl_out 3 Applying Formal Methods Represent the state diagram as a FDA A = {Q, ∑, б, q0, F} where Q is the states of automata A, ∑ is the alphabet, б is the transition function, q0 is the initial state and F is the Final state. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Applying Formal Methods Apply the Myhill-Nerode Minimization algorithm A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Applying Formal Methods Results expected after the Minimization application • Reduction of the logical model and code complexity • Improvement of development time • Lower risk of failure • Better performance Results verified after the Minimization application • The minimization promoted the reduction of the case study automata from 4 states and 6 transitions to one state and 2 transitions. • The reduction percentage was 50% in state numbers and 64% in transition numbers decreasing the logical model complexity in 57%. • The code size was reduced in 30%. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Agenda • Introduction • Real-Time Framework - RTF • Applying Formal Methods • Case Study – Formal RTF Adoption • Conclusion • Case Study – Formal RTF Adoption A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption Implementation of a real-time system prototype to operate Unmanned Air Vehicles (UAV) from a Control Station (CS) A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption Scope Limitation The prototype control surveillance mission to a UAV. An Internal_Invoker ( EVIG_Invoker) was designed to invoke the Surveillance Server (EVIG), in order to send a mission to the UAV. The CS with five Service Servers and the system to be controlled : UAV. Nor External_Invoker neither SystemStater are used in this scope. Prototype Structure Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption Steps needed to successfully reuse the framework: Step 1 - Adopting of the Communication Protocol Class; Step 2 - Updating the Use Case Class, by inserting appropriate system’s use cases; Step 3 - Adjusting the systems and subsystems to the framework; and Step 4 - Adjusting the state which communicates to the CS applying the interoperability pattern. A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 1- Adopting of the Communication Protocol Class Adopted for: EVIG_Invoker; CS; and UAV 2- Updating the Use Case Class, by inserting appropriate system’s use cases Adopted for: EVIG_Invoker; CS; and UAV A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 3 - Adjusting the CS system structure to the framework CS Structure Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 3 - Adjusting the EVIG_Invoker system structure to the framework EVIG_Invoker Structure Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 3 - Adjusting the UAV system structure to the framework UAV Structure Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 4 - Applying the interoperability pattern to the EVIG_Invoker. EVIG_Invoker State Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 4 - Applying the interoperability pattern to the EVIG Service Server. In this example we show the code from the state that sends missions to the UAV. EVIG Server State Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study – Formal RTF Adoption 4 - Applying the interoperability pattern to the subsystem Mission Decoder, part of the UAV system structure This subsystem is responsible to connect the CS in order to receive mission and send the results. Mission Decoder State Diagram A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability
Case Study - Testing the system A Real-Time Framework based on Service-Oriented approach implementing Interoperability and System Requirements Traceability