UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS...

24
UTM TCL2 Software Design Daniel Mulfinger https://ntrs.nasa.gov/search.jsp?R=20190025161 2020-07-15T06:44:19+00:00Z

Transcript of UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS...

Page 1: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

UTM TCL2 Software Design

Daniel Mulfinger

https://ntrs.nasa.gov/search.jsp?R=20190025161 2020-07-15T06:44:19+00:00Z

Page 2: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

What is the UTM Software?

– Research Prototype Software– Implements the UTM Concept of Operations– Web Application– Two pieces

• UTM Core• Set of Services

– ~25K lines of code– Agile-based with 4-week sprints

Page 3: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Design Principles

• Research prototype, but built with long-term view

• Use state-of-the art software design conventions

• Test-driven design (TDD)

Page 4: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Technologies Used• Java • Spring Framework• Apache ActiveMQ• Apache Tomcat • STOMP• PostgreSQL + PostGIS• JTS Topology Suite• REST (Representational State Transfer)• Jenkins• Atlassian• SonarQube

Page 5: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Postgres/PostGIS

Spatial Database

ActiveMQMessaging

HandlersAPI Controller

Service Layer

Data Access Layer

Proposal

Conformance

System Health Agents

System Health Portal

REST/HTTP

Websocket/STOMP

Firewall

UTM Web Application

System Health Portal

System Health PortalExternalServices

InternalServices

Operator

Public

Manager

Readied State

Dynamic Constraint

Page 6: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

User Roles• Operator

– UAS operator– Submits/flies operations

• Manager– Sees complete picture– Can add manager constraints or override existing constraints– Can submit/close operations – Send messages to clients

• Public– Limited access

Page 7: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

NASA Front-End Implementations

• Mission Planner compatible Python Client

• UTM Manager IOS App

• UTM Web Viewer

Page 8: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Software Demo

• Walk through screen shots• (UTM Python Client w/iPad App)

Page 9: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 10: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 11: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 12: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 13: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 14: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 15: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 16: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 17: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 18: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 19: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 20: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •
Page 21: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Software Releases

• Products available via Software Usage Agreement for partners with Space Act Agreement or other qualifying contract:– UTM Server (virtual machine, no source code)– Python Reference Client (includes source code)– UTM Manager Display (IOS App, no source code)

• Dates:TCL 1 – Dec 2015TCL 2 – Dec 2016 (anticipated)

Page 22: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Write your own client?

• Submit an RFI response or sign Space Act Agreement

• Request TCL2 Client ICD and credentials• Create client• Test according to UTM Client Test Plan

document

Page 23: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

API Documentation

Client Interface Control Document

Online documentation – Swagger compatible

Page 24: UTM TCL2 Software Design - NASA• Apache ActiveMQ • Apache Tomcat ... • PostgreSQL + PostGIS • JTS Topology Suite • REST (Representational State Transfer) • Jenkins •

Questions?

[email protected]