Re-ADA for C4ISR Sheldon X. Liang, PhD Computer Science.

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
A component- and message-based architectural style for GUI software
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Architecture Representation
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Unified Modeling Language
Object-Oriented Analysis and Design
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Unified Modeling (Part I) Overview of UML & Modeling
Object-Oriented Databases
Using Architecture Frameworks
Data and Process Modeling
Data Abstraction and Object- Oriented Programming CS351 – Programming Paradigms.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architectural Synthesis Approach Sheldon X. Liang Ph. D. August 18, Software Engineering in CS at APU Architectural Synthesis Approach Azusa Pacific.
 It’s tough work  It’s f.a.i.t.h. work It’s creative work  It’s my work What kind of work SE is: Software Engineering at Azusa Pacific University My.
Introduction To System Analysis and design
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
UML - Development Process 1 Software Development Process Using UML (2)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
Object-Oriented Implementation of Reconciliations M.Sc. Seminar Talk by Costa Shapiro under supervision of Prof. Shmuel Katz Computer Science – Technion.
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Architecting Web Services Unit – II – PART - III.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Chapter 3 Object Oriented Systems and Open GIS. Objectives of the Chapter Establish place of O-O in OpenGIS cover basics of O-O emphasise design issues.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Rupa Tiwari, CSci5980 Fall  Course Material Classification  GIS Encyclopedia Articles  Classification Diagram  Course – Encyclopedia Mapping.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Chapter 12 Support for Object oriented Programming.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Object-Oriented Programming Chapter Chapter
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
ISBN Object-Oriented Programming Chapter Chapter
1 Unified Modeling Language, Version 2.0 Chapter 2.
Architectural Synthesis Approach Sheldon X. Liang Ph. D. February 5, Software Engineering in CS at APU Azusa Pacific University, Azusa, CA 91702,
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
PAISE-3-2-1: P erspective-bridged A rchitecture “Automatic Prototype Generating” Restated with re-ADA By Sheldon X. Liang Computer Science Azusa Pacific.
Distributed Systems1 Message Passing vs. Distributed Objects  The message-passing paradigm is a common model for distributed computing, in the sense that.
Systems Architectures System Integration & Architecture.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Architecting Web Services
Architecting Web Services
Types of Programming Languages
Model-Driven Analysis Frameworks for Embedded Systems
Inventory of Distributed Computing Concepts
Chapter 20 Object-Oriented Analysis and Design
An Introduction to Software Architecture
Design Yaodong Bi.
Presentation transcript:

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

The International Language for SE The Language for a Complex World The first ISO-standardized OOPL The Quantitative ADL for C4ISR re-ADA for C4ISR Why re-ADA?  Excellence and Drawbacks Why? Ada95 has the meaning of OOP but does not have the class-like form What an embarrassing – a C++ or Java programmer who has expertise in OOP may not be able to write code in Ada95

re-ADA for C4ISR Why re-ADA?  Expectations and Accomplishments OOPL Mean / Form Perfect OOPL Like Java/C++ Not just OOPL But ADL re-Ada Ada95 re-ADA

re-ADA for C4ISR Why re-ADA?  Approach against Drawbacks re-Ada Ada95 ISO OOPL re-ADA Class-like OODM C++/Java-like Class construct C++/Java-like Class construct CSP-based Semantics CSP-based Semantics CORBA-based Infrastructure CORBA-based Infrastructure Quantitatively Modeling Dependability (RT) Reliable Architecture for C4ISR Interoperability C4ISR

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 Interoperability for C4ISR Interoperability for C4ISR System Interoperability Information Interoperability Dependable Interoperation 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.

Seamless Interconnection re-ADA for C4ISR Scalable re-ADA  An Evolutionary Approach 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.

Seamless Interconnection Effective Intercommunication re-ADA for C4ISR Scalable re-ADA  An Evolutionary Approach For the sake of effective SMS/RMI between distributed components, a set of explicit functionalities needs to realize effective intercommunication. Information interoperability refers to two message-sending ways: Simple Message Sending (SMS) and Remote Method Invocation (RMI) via message-sending.

Seamless Interconnection Effective Intercommunication re-ADA for C4ISR Scalable re-ADA  An Evolutionary Approach

Seamless Interconnection Effective Intercommunication Dependable Interoperation re-ADA for C4ISR Scalable re-ADA  An Evolutionary Approach 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 Interoperability for C4ISR Interoperability for C4ISR System Interoperability Information Interoperability Dependable Interoperation Effective Intercommunication Software Interoperability Seamless Interconnection

re-ADA for C4ISR Scalable re-ADA  An Evolutionary Approach

Formal dependability model re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model Constructing formal dependability model for C4ISR the process that incorporates three views of dependability throughout software development process  Quantitative view  Conceptual 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

Formal dependability model re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model Constructing formal dependability model for C4ISR the process that incorporates three views of dependability throughout software development process  Quantitative view  Conceptual view  Semantic view

Formal dependability model re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating 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)

Formal dependability model re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model Client/Publisher Server/Subscriber 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)

Formal dependability model re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model

Formal dependability model Real-time constraints monitor re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model 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.

Formal dependability model Real-time constraints monitor re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model (a) Preparation for delivering constrained by MET (b) Response for observing constrained by MRT (c) intercommunication constrained by LATENCY

Formal dependability model Real-time constraints monitor A C4ISR case study re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model 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.

Formal dependability model Real-time constraints monitor A C4ISR case study re-ADA for C4ISR Formal re-ADA  Quantitative Interoperating Model 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

Syntactic class construct re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95 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.

Syntactic class construct re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95 An Ada-based pristine class in an Ada package is treated as program unit that encloses properties (data & subprograms)

Syntactic class construct re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95 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.

Syntactic class construct re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95

Syntactic class construct Inheritance and polymorphism re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95 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.

Syntactic class construct Inheritance and polymorphism re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95 Through inheritance, the subclass can redefine a subprogram by overriding it, which means polymorphism

Syntactic class construct Inheritance and polymorphism Computational collaboration re-ADA for C4ISR Practical re-ADA  Class-like OOP in Ada95 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

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 Quantifiable re-ADA  Conclusion

re-ADA for C4ISR Questions