expanding legacy systems using model driven engineering
play

Expanding Legacy Systems Using Model Driven Engineering (MDE) Kevin - PowerPoint PPT Presentation

Expanding Legacy Systems Using Model Driven Engineering (MDE) Kevin Nguyen & Billy Smith Software Engineers Approved for Public Release; NGAS 14-0819, 4/28/14 Overview Who we are MDE Process Results Challenges of


  1. Expanding Legacy Systems Using Model Driven Engineering (MDE) Kevin Nguyen & Billy Smith Software Engineers Approved for Public Release; NGAS 14-0819, 4/28/14

  2. Overview • Who we are • MDE Process • Results • Challenges of expanding a legacy software system using MDE • Lessons Learned 2 Approved for Public Release; NGAS 14-0819, 4/28/14

  3. Northrop Grumman Products 3 Approved for Public Release; NGAS 14-0819, 4/28/14

  4. Model Driven Architecture Development Highlights Design Purpose Collaboration Phase System Understand - System engineers work with customers to understand their architecture customer’s requirements requirements - Start a concept model to support the effort of breaking the system requirements into hardware, and software requirements CSCI Create - System engineers work with senior architects and test engineers architecture architecture of to convey knowledge as well as clarify any misunderstandings hardware and - Refine/derive requirements software - Develop test plan CSC Expand - Senior architects work with subject matter experts (SME) to architecture architecture to further break the architecture down into CSCs software - Generate ICDs and data information components - Refine test plan Detailed Develop - SMEs work with software engineers to design and develop Design software units software units 4 Approved for Public Release; NGAS 14-0819, 4/28/14

  5. Design Phase Lifecycle Input • Each phase of architecture development follows the same basic procedures Presentation Process • Output from one phase becomes input for the next phase Manage Artifacts – Iterative process helps to catch design deficiency early • Customers get the opportunity to participate in design and development efforts • Architecture artifacts are developed using UML, making them easy for all parties to understand 5 Approved for Public Release; NGAS 14-0819, 4/28/14

  6. Requirements Elicitation • Inputs are from customers, users, and management PlaneX PlaneX Monitor Data Input Monitor Data Input Distribute Distribute Coordinate Coordinate Perform Position Processing Perform Position Processing Process Data Process Data Perform Coordinate Perform Coordinate Conversion Conversion Aircrew Aircrew Aircrew Aircrew Understand Your Stakeholders 6 Approved for Public Release; NGAS 14-0819, 4/28/14

  7. Requirements Allocation and CSCI Interfaces «Modify» «Modify» «Modify» «Modify» «Modify» «Modify» «Modify» «Modify» «Legacy» «Legacy» «Legacy» «Legacy» ENV ENV :SensorDataCollector :SensorDataCollector :SensorDataCollector :SensorDataCollector :SensorDataProcessor :SensorDataProcessor :SensorDataProcessor :SensorDataProcessor :DataDistributor :DataDistributor :DataDistributor :DataDistributor newSensorData() newSensorData() newSensorData() newSensorData() getData() getData() getData() getData() getData() getData() StoreData() StoreData() StoreData() StoreData() StoreData() StoreData() processSensorData() processSensorData() processSensorData() processSensorData() processSensorData() processSensorData() distributeCoordinates() distributeCoordinates() distributeCoordinates() distributeCoordinates() distributeCoordinates() distributeCoordinates() Init Init EstablishConnections EstablishConnections ProcessData ProcessData Decompose System Requirements to CSCI Level 7 Approved for Public Release; NGAS 14-0819, 4/28/14

  8. Computer Software Component (CSC) Interfaces «Modify » «Modify » CSCI 2 CSCI 2 1 1 «Modify » «Modify » SensorDataCollector SensorDataCollector sensor1 sensor1 sensorData sensorData DataXmitter DataXmitter getData getData Sensor1Interface Sensor1Interface StoreData StoreData DataDistributorInterface DataDistributorInterface 1 1 «Modify » «Modify » 1 1 «Legacy » «Legacy » SensorDataProcessor SensorDataProcessor DataDistributor DataDistributor sensor2 sensor2 Sensor2Interface Sensor2Interface SensorBoard SensorBoard SensorDataCollector SensorDataCollector SensorDataProcessor SensorDataProcessor rawData rawData rawData rawData fusedData fusedData fusedData fusedData DataDistributor DataDistributor Decompose CSCI Requirements to CSC Level 8 Approved for Public Release; NGAS 14-0819, 4/28/14

  9. Computer Software Unit (CSU) Detailed Design «Modify » «Modify » SensorDataProcessor SensorDataProcessor Task:SensorDataCollectorTask Task:SensorDataCollectorTask Entry point: collectSensorDataEntryPoint() Entry point: collectSensorDataEntryPoint() «Usage» «Usage» «Usage» «Usage» «Modify » «Modify » cxform cxform mag_lon(et:double):double mag_lon(et:double):double «Modify» mag_lat(et:double,g01Param:double* ):double «Modify» mag_lat(et:double,g01Param:double* ):double vec_Qe(et:double,Qe:Vec):void vec_Qe(et:double,Qe:Vec):void gregorian_calendar_to_jd(y:int,m:int,d:int,h:int,mi:int,s:int... gregorian_calendar_to_jd(y:int,m:int,d:int,h:int,mi:int,s:int... cxRound(doub:double):long cxRound(doub:double):long date2es(yyyy:int,mm:int,dd:int,hh:int,mm2:int,ss:int):long date2es(yyyy:int,mm:int,dd:int,hh:int,mm2:int,ss:int):long «New» calcXYZ(param1:int,param2:int):void «New» calcXYZ(param1:int,param2:int):void CXFORM package is downloaded from http://nssdcftp.gsfc.nasa.gov/selected_software/coordinate_transform/ Drive Changes to Software Units 9 Approved for Public Release; NGAS 14-0819, 4/28/14

  10. Computer Software Unit (CSU) Detailed Design (continued) CXFORM package is downloaded from http://nssdcftp.gsfc.nasa.gov/selected_software/coordinate_transform/ 10 Approved for Public Release; NGAS 14-0819, 4/28/14

  11. Results • Passed PDRs and CDRs with full award fee and minimal customer Request for Information (RFI) • Created a framework for collaboration and open communication between system, software, test, architects, and customers • Minimized software integration issues • Increased software testability • Obtained the benefits of object oriented design and analysis for new architecture built on top of a non-OO system – Reusability, testability, maintainability – Highly cohesive, low coupling 11 Approved for Public Release; NGAS 14-0819, 4/28/14

  12. Challenges of Adapting MDE to Legacy System • Acquiring new tools and training – UML tools, process training • Integrating the MDE process into existing tools and processes – Source control, requirements management, in-house tools • Gaining full commitment and support from leadership – Selling the long term benefits of using MDE • Changing the existing culture – Removing the engineering group stovepipe – Partitioning legacy software components – Stubborn engineers 12 Approved for Public Release; NGAS 14-0819, 4/28/14

  13. Lessons Learned • Allocate enough time for design – Spend more time on algorithm analysis – Perform more trade analysis • Prototype often • Fully flesh out interfaces early on • Revisit and evaluate use cases at every design level – Make sure critical design elements are not eclipsed or forgotten • Do not underestimate the effort of changing the existing culture 13 Approved for Public Release; NGAS 14-0819, 4/28/14

Recommend


More recommend