SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Architecture Analysis of Evolving Complex Systems of Systems Technical Presentation.

Slides:



Advertisements
Similar presentations
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Advertisements

MotoHawk Training Model-Based Design of Embedded Systems.
8.
1 Cryptography and Network Security Third Edition by William Stallings Lecturer: Dr. Saleem Al_Zoubi.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
CS 582 / CMPE 481 Distributed Systems Communications.
Project BlueDate. The development team Petrus Bergman - Configuration manager Oskar Holmlund – Requirements manager Mikael Nilsson – Design manager Kristian.
Software Testing and Quality Assurance
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Maintaining and Updating Windows Server 2008
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
LSU 10/09/2007System Design1 Project Management Unit #2.
Methods for checking simulation correctness How do you know if your testcase passed or failed?
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Transitioning From Software Requirements Models to Design Models
The Design Discipline.
S/W Project Management
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CLEANROOM SOFTWARE ENGINEERING.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Identify steps for understanding and solving the
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
June 2004 SIW-4 - IP in Space Implementation Guide 1 Handbook for Using IP Protocols for Space Missions James Rash - NASA/GSFC Keith Hogie, Ed Criscuolo,
Event Management & ITIL V3
What are the main differences and commonalities between the IS and DA systems? How information is transferred between tasks: (i) IS it may be often achieved.
Page No. 1 Kelvin Nichols Payload Operations and Integration Center EO50 Delay Tolerant Networking (DTN) Implementation on the International Space Station.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Approaching a Problem Where do we start? How do we proceed?
1 Introduction to Software Engineering Lecture 1.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
March 2004 At A Glance autoProducts is an automated flight dynamics product generation system. It provides a mission flight operations team with the capability.
Overview of SOIS Electronic Data Sheets (EDS) & Dictionary of Terms (DoT) SOIS APP WG Fall 2012.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 © 2015 Fraunhofer USA, Inc. Center for Experimental Software Engineering Requirement-driven Model-based Testing of the cFS’ Software Bus Service Dharma.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Architecture Analysis of Evolving Complex Systems of Systems Executive Status.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
UCI Expectation-Driven Event Monitoring (EDEM) David Hilbert, David Redmiles
Advances In Software Inspection
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
INF3190 – Home Exam 2. Goal The goal of this exercise is to provide network layer reliability for the monitoring/administration tool presented in “home.
Data Link Layer.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Contents 1 Description of 1 Description of Initiative Initiative 3 Year 2: Updated 3 Year 2: Updated Training/Metrics Training/Metrics 2 Year 1: NASA 2.
Building Enterprise Applications Using Visual Studio®
Extending Model-Driven Engineering in Tango
Detlef Koschny Research and Scientific Support Department ESA/ESTEC
Outline System architecture Current work Experiments Next Steps
Presentation transcript:

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Architecture Analysis of Evolving Complex Systems of Systems Technical Presentation Software Assurance Symposium 2008 Principal Investigator (PI): Dr. Mikael Lindvall, FC-MD NASA POC: Sally Godfrey, GSFC Team members: Chris Ackermann, Dr. Arnab Ray, Lyly Yonkwa, Dharma Ganesan (FC-MD) William C. Stratton, Deane E. Sibol (APL) Fraunhofer Center for Experimental Software Engineering Maryland (FC-MD) Fraunhofer Institute for Experimental Software Engineering (IESE) Johns Hopkins University Applied Physics Laboratory Space Department Ground Applications Group (APL)

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Outline Motivation Background: (static) SAVE Dynamic SAVE Vision Dynamic SAVE examples Applicability Throughout the Life Cycle

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Problem/Approach Systems are often difficult to understand –Systems of systems adds to the challenge –Makes system verification difficult –Interfaces often source of problems Approach –Architecture analysis focusing on interfaces The new tool, Dynamic SAVE, –extends the already existing static Software Architecture Visualization and Evaluation (SAVE) tool

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Background: The (static) SAVE Tool Software Architecture Visualization and Evaluation Does the actual implementation match the planned architecture? –Define a planned architecture –Create an actual architecture from source code –Identify architectural violations through comparison Applied to APL’s Common Ground System, Research Infusion project Conclusions (Aerospace 2007) –The SAVE approach is useful and practical –One can quickly model, visualize, analyze, find static architecture violations –Good for single software applications –But for systems of systems, some questions remain unanswered…

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Application-Specific Modules Encapsulation of client/server interface Encapsulation of socket communications A Planned Architecture

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall The Actual Application Architecture Where’s socket implemented?

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Dependency in actual, not in planned Dependency in planned, not in actual The Actual Architecture vs. The Planned But, who does socket communicate with?

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall The Common Ground System Server Client

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Dyn-SAVE Vision Telemetry Server Telemetry Client Specify Planned Behavior Form Actual Behavior Specify Level of Abstraction For analysis Capture Dynamic Information Compare Planned and Actual Behavior Who does socket communicate with? Is communication according to specification? Check Sequences, Parameters, Values, Timing

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall DynSAVE in practice 10 The Common Ground System These systems all have ICDs (Interface Control Documents)

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Focus on: Interface Control Documents –NASA systems often developed by different teams –Interface Control Documents (ICD) is key, but ICDs often interpreted differently because ICDs implicit, lack important details etc. –Cause subtle critical deviations from specified behavior Deviations difficult to detect Emerging behavior difficult to predict –Can result in severe problems, e.g. lost data, performance –Need to Detect deviations before deployment (Specify expected and actual behavior before creating ICD!)

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Some Research Questions Sequence diagrams –Can we use sequence diagrams to model, abstract, and detect such deviations? –Can sequence diagrams express what we need? Iterative modeling –Can we start with abstract models, add details as necessary?

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Approach Collect concrete examples from APL –Model planned behavior Use specification from ICD –Capture actual traces Use Archive_Server and Eng_Dump Generate Client scenarios, observe how Server responds Identify common patterns

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Planned sequence diagram The “simplest” diagram that describes the planned communication behavior described in the ICD

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall An illegal extra filter is sent after BeginPlayback and Data messages have been sent. The illegal filter is difficult to detect because it is in packet 869. Example 1: Illegal filter

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall 1. Start time must be less than stop time 2. Data type of each of the received data messages must match specification Detailed sequence diagram experimental notation

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Example 2: Illegal Type specification STF ordered – STP received. =STF)

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Adding Timing Constraints

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Checking for Timing Problems

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall CFDP – A Mission Data System Protocol CFDP provides reliable downloads of recorded on-board data –The implementation is distributed across flight and ground systems –The protocol runs on top of unreliable CCSDS command and telemetry layer At APL, CFDP is mostly automated, but… –Operators turn off CFDP uplink during critical command load sequences –Operators freeze and thaw timers - pending transactions don’t time out between contacts Improper CFDP operation can lead to unnecessary retransmissions, wasting precious downlink bandwidth

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall DynSAVE monitoring of CFDP Monitors macro-level behaviors without affecting flight or ground software Detects improper CFDP operation, for example: –timers were not frozen and uplink was disabled on the ground for an extended period, causing multiple retransmissions when the uplink was finally enabled again Detects issues in CFDP implementation, e.g.: –sender continues to send file data after the transaction has been cancelled These types of behaviors can go undetected (file transfers still work) but are important to detect (they can result in data loss!) DynSAVE X X

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Planned CFDP Sequence Sample Rules: 1.Check that received FD are not NAKed 2.Check for duplicate FDs 3.Check that we have all FDs upon FIN

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: FileData: EOF: Condition Code=No Error ACK(EOF): Condition Code=No Error NAK: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Actual CFPD Sequence Needed FDs: 502 Sent FDs: 840 Potential Waste: ~70%? – Further analysis needed.

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Zoom in on CFDP sequence Rule 2 Violation: duplicate FDs!

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Life Cycle Support System Architecture Use DynSAVE to Specify and Test Communication Add to ICD Sub-System Development Use DynSAVE to Develop and Test based on ICD System Integration and Test Use DynSAVE to test based on ICD Initial use of Dyn SAVE

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Create System Architecture No Server, No Client Exist Use DynSAVE to Specify Planned communication –Sequences –Parameters, Values –Timing constrains Create Tests –Correct, Incorrect behavior Specific incorrectness Automatically generate defects Ensure that communication protocol can handle all tests Add Diagram, Specification, Tests to ICD “Generate” information for ICD Client Server Communication

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Status Dyn-SAVE works for telemetry protocol Currently adding functionality to evaluate CFDP protocols Applying Dyn-SAVE to APL’s systems We’d like to apply to other systems

SAS_08_ Architecture_Analysis_of_Evolving_Complex_Systems_of_Systems_Lindvall Summary Analyze, Visualize, and Evaluate –structure and behavior using –static and dynamic information –individual systems as well as systems of systems Next steps: –Refine software tool support –Use approach to review, improve ICD E.g. add planned sequence diagrams, rules to ICD –Apply to other systems to get feedback