├── .Brewfile ├── doc ├── doxygen │ ├── RunDoxygen.sh │ └── ExtraLineToFixLatex.txt └── reference │ ├── FlowCharts │ └── UxAS_DiscreteEventSimulaton.png │ ├── UserManual │ ├── Navigating │ │ └── figures │ │ │ ├── DocFolder.png │ │ │ ├── MdmsFolder.png │ │ │ ├── SrcFolder.png │ │ │ ├── TestsFolder.png │ │ │ ├── DocFolderSelect.png │ │ │ ├── ExamplesFolder.png │ │ │ ├── OpenUxASFolder.png │ │ │ ├── ResourcesFolder.png │ │ │ ├── SrcFolderSelect.png │ │ │ ├── Src_TasksFolder.png │ │ │ ├── MdmsAndResources.png │ │ │ ├── Src_ServicesFolder.png │ │ │ ├── TestsFolderSelect.png │ │ │ ├── ExamplesFolderSelect.png │ │ │ ├── Src_TasksFolderSelect.png │ │ │ ├── Src_ServicesFolderSelect.png │ │ │ └── UxasAndDependentProjects.png │ ├── Services │ │ └── figures │ │ │ ├── ConfigExample.pdf │ │ │ └── ConfigExample.png │ ├── Introduction │ │ └── figures │ │ │ └── NotionalBlockDiagram.png │ └── Examples │ │ ├── doc_Amase │ │ └── figures │ │ │ └── AMASE_UGS_Scenario.pdf │ │ ├── doc_HelloWorld │ │ └── figures │ │ │ └── 01_ScreenCapture.pdf │ │ ├── doc_WaterwaySearch │ │ ├── figures │ │ │ ├── 01WaterwaySearchInitial.pdf │ │ │ ├── 01_WaterwaySearch_Initial.pdf │ │ │ ├── 03_WaterwaySearch_Assignment.pdf │ │ │ ├── 05_WaterwaySearch_PointSensor.pdf │ │ │ ├── 02_WaterwaySearch_LineSearchTask.pdf │ │ │ ├── 04_WaterwaySearch_BeginExecution.pdf │ │ │ ├── WaterwaySearch_MessageFLow_Fig_all.pdf │ │ │ ├── WaterwaySearch_MessageFLow_Fig_init.pdf │ │ │ ├── WaterwaySearch_MessageFLow_Fig_assign.pdf │ │ │ ├── WaterwaySearch_MessageFLow_Fig_execute.pdf │ │ │ ├── WaterwaySearch_MessageFLow_Fig_implement.pdf │ │ │ ├── WaterwaySearch_MessageFLow_Fig_execute.sd │ │ │ ├── WaterwaySearch_MessageFLow_Fig_implement.sd │ │ │ ├── WaterwaySearch_MessageFLow_Fig_init.sd │ │ │ └── WaterwaySearch_MessageFLow_Fig_assign.sd │ │ └── messages │ │ │ ├── 06.AutomationRequest │ │ │ └── 22.VehicleActionCommand.400 │ │ └── doc_DistributedCooperation │ │ ├── figures │ │ ├── 02_figure_10000_all.pdf │ │ ├── 01_figure_10000_tasks.pdf │ │ └── DistributedCooperation_MessageFLow_Fig_all.pdf │ │ └── messages │ │ ├── 05.AssignmentCoordinatorTask.xml │ │ ├── 04.OperatingRegion.100.xml │ │ ├── 03.AreaOfInterest.100.xml │ │ ├── 03.ImpactLineSearchTask.21.xml │ │ └── 03.AngledAreaSearchTask.51.xml │ └── SequenceDiagrams │ └── CCA_Components_MessageFLow.pdf ├── examples ├── 01_HelloWorld │ ├── runUxAS_HelloWorld.bat │ ├── runUxAS_HelloWorld.sh │ ├── cfg_HelloWorld.xml │ ├── runUxAS_HelloWorld.py │ └── runUxAS_HelloWorld_Docker.py ├── 05_AssignTasks │ ├── AmaseUxas_SetupTool_Walkthrough.docx │ ├── AmaseUxas_SetupTool_Walkthrough.pdf │ ├── runUxAS_AssignTasks.bat │ ├── runAMASE_AssignTasks.bat │ ├── runAMASE_AssignTasks.sh │ ├── runUxAS_AssignTasks.sh │ └── MessagesToSend │ │ ├── OperatingRegion_10.xml │ │ ├── AutomationRequest_All.xml │ │ ├── PointSearchTask_1.xml │ │ ├── PointSearchTask_2.xml │ │ ├── AreaSearchTask_6.xml │ │ └── KeepInZone_3.xml ├── 02_Example_WaterwaySearch │ ├── runUxAS_WaterwaySearch.bat │ ├── runAMASE_WaterwaySearch.bat │ ├── MessagesToSend │ │ └── tasks │ │ │ └── 1001_AutomationRequest_LINE_Waterway_Deschutes.xml │ ├── runAMASE_WaterwaySearch.sh │ ├── runUxAS_WaterwaySearch.sh │ ├── runAmase_WaterwaySearch.py │ ├── ext_logger │ │ └── Makefile │ └── runHeadless.sh ├── 06_AutomationDiagram │ ├── runUxAS_AutomationDiagram.bat │ ├── runUxAS_AutomationDiagram.sh │ └── MessagesToSend │ │ ├── EntityConfiguration_Id_2.xml │ │ ├── EntityConfiguration_Id_1.xml │ │ ├── PointOfInterest_Id_133.xml │ │ ├── PointOfInterest_Id_134.xml │ │ ├── PointOfInterest_Id_137.xml │ │ ├── PointOfInterest_Id_138.xml │ │ ├── OperatingRegion_Id_17.xml │ │ ├── WatchTask_Id_39.xml │ │ ├── WatchTask_Id_40.xml │ │ ├── AngledAreaSearchTask_Id_24.xml │ │ ├── PatternSearchTask_Id_37.xml │ │ ├── ImpactLineSearchTask_Id_30.xml │ │ ├── AreaOfInterest_Id_126.xml │ │ ├── AreaOfInterest_Id_125.xml │ │ ├── PointSearchTask_Id_32.xml │ │ ├── AutomationRequest_a.xml │ │ ├── ImpactPointSearchTask_Id_33.xml │ │ └── AngledAreaSearchTask_Id_25.xml ├── 03_Example_DistributedCooperation │ ├── MessagesToSend │ │ ├── AssignmentCoordinatorTask.xml │ │ ├── OperatingRegion_100.xml │ │ ├── AreaOfInterest_100.xml │ │ ├── ImpactLineSearchTask_21.xml │ │ └── AngledAreaSearchTask_51.xml │ ├── runAMASE_DistributedCooperation.bat │ ├── runAMASE_DistributedCooperation.sh │ └── runAmase_DistributedCooperation.py ├── 07_PythonWithAmase │ ├── Scenario_Empty.xml │ ├── runAMASE_PythonWithAmase.bat │ ├── runAMASE_PythonWithAmase.sh │ └── MessageLibrary │ │ ├── FlightProfile_Climb.xml │ │ ├── FlightProfile_Dash.xml │ │ ├── GimbalState_PayloadID-1001.xml │ │ ├── FlightProfile_Cruise.xml │ │ ├── FlightProfile_Loiter.xml │ │ ├── FlightProfile_Descend.xml │ │ ├── CameraState_PayloadID-10001.xml │ │ ├── CameraConfiguration_WavelengthEo_FovContinuous_PayloadID-10001.xml │ │ ├── GimbalConfiguration_ClampedTrue_PayloadID-1001.xml │ │ ├── GimbalConfiguration_ClampedFalse_PayloadID-1001.xml │ │ └── CameraConfiguration_WavelengthAnyAll_FovDiscrete_PayloadID-10001.xml └── 99_Tasks │ ├── LoiterTask │ ├── MessagesToSend │ │ ├── AutomationRequest_LoiterTask.xml │ │ └── LoiterTask_100.xml │ ├── runUxAS_LoiterTask.py │ └── runAMASE_LoiterTask.py │ ├── MustFlyTask │ ├── MessagesToSend │ │ ├── AutomationRequest_MustFly.xml │ │ └── MustFlyTask_100.xml │ ├── runUxAS_MustFlyTask.py │ └── runAMASE_MustFlyTask.py │ ├── WatchTask │ ├── MessagesToSend │ │ ├── AutomationRequest_WatchTask.xml │ │ └── WatchTask_100.xml │ ├── runUxAS_WatchTask.py │ └── runAMASE_WatchTask.py │ ├── BlockadeTask │ ├── MessagesToSend │ │ ├── AutomationRequest_PointSearch.xml │ │ ├── AutomationRequest_Blockade.xml │ │ ├── BlockadeTask_100.xml │ │ └── PointSearchTask_200.xml │ ├── runUxAS_BlockadeTask.py │ └── runAMASE_BlockadeTask.py │ ├── CommRelayTask │ ├── MessagesToSend │ │ ├── AutomationRequest_CommRelay.xml │ │ ├── AutomationRequest_PointSearch.xml │ │ ├── RadioTowerState_V21.xml │ │ ├── RadioTowerConfiguration_V21.xml │ │ ├── PointSearchTask_200.xml │ │ └── CommRelayTask_100.xml │ ├── runUxAS_CommRelayTask.py │ └── runAMASE_CommRelayTask.py │ ├── EscortTask │ ├── MessagesToSend │ │ ├── AutomationRequest_EscortTask_Ahead.xml │ │ ├── AutomationRequest_LineSearchTask.xml │ │ ├── AutomationRequest_EscortTask_Behind.xml │ │ ├── EscortTask_Ahead_200.xml │ │ ├── EscortTask_Behind_300.xml │ │ └── ImpactLineSearchTask_100.xml │ ├── runUxAS_EscortTask.py │ └── runAMASE_EscortTask.py │ ├── CmasiLineSearchTask │ ├── MessagesToSend │ │ └── AutomationRequest_LineSearch.xml │ ├── runUxAS_LineSearchTask.py │ └── runAMASE_LineSearchTask.py │ ├── CmasiPointSearchTask │ ├── MessagesToSend │ │ ├── AutomationRequest_PointSearch.xml │ │ └── PointSearchTask_100.xml │ ├── runUxAS_PointSearchTask.py │ └── runAMASE_PointSearchTask.py │ ├── PatternSearchTask │ ├── MessagesToSend │ │ ├── AutomationRequest_PatternSearch.xml │ │ ├── PointOfInterest_1.xml │ │ └── PatternSearchTask_100.xml │ ├── runUxAS_PatternSearchTask.py │ └── runAMASE_PatternSearchTask.py │ ├── CmasiAreaSearchTask │ ├── Circle │ │ ├── MessagesToSend │ │ │ ├── AutomationRequest_AreaSearch.xml │ │ │ └── AreaSearchTask_100.xml │ │ ├── runUxAS_AreaSearchTask.py │ │ └── runAMASE_AreaSearchTask.py │ ├── Polygon │ │ ├── MessagesToSend │ │ │ └── AutomationRequest_AreaSearch.xml │ │ ├── runUxAS_AreaSearchTask.py │ │ └── runAMASE_AreaSearchTask.py │ └── Rectangle │ │ ├── MessagesToSend │ │ ├── AutomationRequest_AreaSearch.xml │ │ └── AreaSearchTask_100.xml │ │ ├── runUxAS_AreaSearchTask.py │ │ └── runAMASE_AreaSearchTask.py │ ├── ImpactLineSearchTask │ ├── MessagesToSend │ │ ├── AutomationRequest_ImpactLineSearch.xml │ │ └── ImpactLineSearchTask_100.xml │ ├── runUxAS_LineSearchTask.py │ └── runAMASE_LineSearchTask.py │ ├── ImpactPointSearchTask │ ├── MessagesToSend │ │ └── AutomationRequest_PointSearch.xml │ ├── runUxAS_PointSearchTask.py │ └── runAMASE_PointSearchTask.py │ ├── AngledAreaSearchTask │ ├── MessagesToSend │ │ ├── AutomationRequest_AngledAreaSearchTask.xml │ │ └── AngledAreaSearchTask_100.xml │ ├── runUxAS_AngledAreaSearchTask.py │ └── runAMASE_AngledAreaSearchTask.py │ ├── MultiVehicleWatchTask │ ├── MessagesToSend │ │ ├── AutomationRequest_MultiVehicleWatch.xml │ │ └── MultiVehicleWatchTask_100.xml │ ├── runUxAS_MultiVehicleWatchTask.py │ └── runAMASE_MultiVehicleWatchTask.py │ ├── RendezvousTask │ ├── MessagesToSend │ │ └── AutomationRequest_RendezvousTask.xml │ ├── runUxAS_RendezvousTask.py │ └── runAMASE_RendezvousTask.py │ └── CordonTask │ ├── MessagesToSend │ ├── AutomationRequest_CordonTask.xml │ └── CordonTask_100.xml │ └── runUxAS_CordonTask.py ├── src ├── Includes │ ├── meson.build │ └── stdUniquePtr.h ├── VisilibityLib │ └── meson.build ├── Utilities │ ├── localcoords │ │ └── setup.py │ ├── Permute.cpp │ └── UxAS_ZeroMQ.h ├── Plans │ └── meson.build ├── DPSS │ ├── meson.build │ ├── VehicleValue.h │ ├── VehicleGoToPoint.h │ ├── VehiclePoint.h │ ├── DpssWaypoint.h │ ├── DRand.h │ ├── DpssDefs.h │ ├── DpssLoiterPoint.h │ ├── DpssState.h │ └── ObjectiveParameters.h └── Communications │ └── AddressedAttributedMessage.cpp ├── tests ├── Test_Services │ ├── meson.build │ ├── 00_ExampleTests │ │ ├── meson.build │ │ ├── 03_Test_Example_DistributedCooperation │ │ │ ├── MessagesToSend │ │ │ │ ├── AssignmentCoordinatorTask.xml │ │ │ │ ├── OperatingRegion_100.xml │ │ │ │ ├── AreaOfInterest_100.xml │ │ │ │ ├── AssignmentCoordination_2000.xml │ │ │ │ ├── AssignmentCoordination_3000.xml │ │ │ │ ├── ImpactLineSearchTask_21.xml │ │ │ │ └── AngledAreaSearchTask_51.xml │ │ │ └── meson.build │ │ ├── 02_Test_Example_WaterwaySearch │ │ │ ├── MessagesToSend │ │ │ │ └── tasks │ │ │ │ │ └── 1001_AutomationRequest_LINE_Waterway_Deschutes.xml │ │ │ └── meson.build │ │ ├── 99_Test_Tasks │ │ │ ├── Test_WatchTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ ├── AutomationRequest_WatchTask.xml │ │ │ │ │ └── WatchTask_100.xml │ │ │ ├── Test_EscortTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ ├── AutomationRequest_LineSearchTask.xml │ │ │ │ │ ├── AutomationRequest_EscortTask_Ahead.xml │ │ │ │ │ ├── AutomationRequest_EscortTask_Behind.xml │ │ │ │ │ ├── EscortTask_Ahead_200.xml │ │ │ │ │ ├── EscortTask_Behind_300.xml │ │ │ │ │ └── ImpactLineSearchTask_100.xml │ │ │ ├── Test_LoiterTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ └── AutomationRequest_LoiterTask.xml │ │ │ ├── Test_MustFlyTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ ├── AutomationRequest_MustFly.xml │ │ │ │ │ └── MustFlyTask_100.xml │ │ │ ├── Test_BlockadeTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ ├── AutomationRequest_PointSearch.xml │ │ │ │ │ ├── AutomationRequest_Blockade.xml │ │ │ │ │ ├── BlockadeTask_100.xml │ │ │ │ │ └── PointSearchTask_200.xml │ │ │ ├── Test_RendezvousTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ ├── AutomationRequest_RendezvousTask.xml │ │ │ │ │ └── RendezvousTask_100.xml │ │ │ ├── Test_CmasiAreaSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ ├── AutomationRequest_AreaSearch.xml │ │ │ │ │ ├── CircleAreaSearchTask_100.xml │ │ │ │ │ └── RectangleAreaSearchTask_100.xml │ │ │ │ └── meson.build │ │ │ ├── Test_CmasiLineSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ └── AutomationRequest_LineSearch.xml │ │ │ │ └── meson.build │ │ │ ├── Test_CmasiPointSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ ├── AutomationRequest_PointSearch.xml │ │ │ │ │ └── PointSearchTask_100.xml │ │ │ │ └── meson.build │ │ │ ├── Test_ImpactPointSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ └── AutomationRequest_PointSearch.xml │ │ │ │ └── meson.build │ │ │ ├── Test_PatternSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ ├── AutomationRequest_PatternSearch.xml │ │ │ │ │ ├── PointOfInterest_1.xml │ │ │ │ │ └── PatternSearchTask_100.xml │ │ │ │ └── meson.build │ │ │ ├── Test_ImpactLineSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ ├── AutomationRequest_ImpactLineSearch.xml │ │ │ │ │ └── ImpactLineSearchTask_100.xml │ │ │ │ └── meson.build │ │ │ ├── Test_AngledAreaSearchTask │ │ │ │ ├── MessagesToSend │ │ │ │ │ ├── AutomationRequest_AngledAreaSearchTask.xml │ │ │ │ │ └── AngledAreaSearchTask_100.xml │ │ │ │ └── meson.build │ │ │ ├── Test_MultiVehicleWatchTask │ │ │ │ ├── meson.build │ │ │ │ └── MessagesToSend │ │ │ │ │ ├── AutomationRequest_MultiVehicleWatch.xml │ │ │ │ │ └── MultiVehicleWatchTask_100.xml │ │ │ └── meson.build │ │ └── 01_Test_HelloWorld │ │ │ ├── meson.build │ │ │ └── cfg_HelloWorld.xml │ ├── mesontestbuild.template │ ├── ImpactPlayAirExpandSqPointTest01 │ │ ├── datain │ │ │ ├── 1239_lmcp_CMASI_AutomationRequest_53.249040.xml │ │ │ ├── 1237_lmcp_IMPACT_PointOfInterest_53.226522.xml │ │ │ └── 1238_lmcp_IMPACT_PatternSearchTask_53.237531.xml │ │ └── meson.build │ └── CommonFilesImpactPlays │ │ └── 0025_lmcp_IMPACT_RadioTowerConfiguration_48.255443.xml ├── Test_Utilities │ ├── meson.build │ ├── AutomationRequestTests │ │ ├── MessagesToSend │ │ │ ├── OperatingRegion_100.xml │ │ │ ├── AreaOfInterest_100.xml │ │ │ ├── AutomationRequest.xml │ │ │ ├── AutomationRequest_BadTask.xml │ │ │ ├── ImpactLineSearchTask_21.xml │ │ │ ├── AngledAreaSearchTask_51.xml │ │ │ └── BadPointSearchTask_10.xml │ │ └── meson.build │ ├── EligibleEntitiesTests │ │ ├── MessagesToSend │ │ │ ├── OperatingRegion_100.xml │ │ │ ├── AutomationRequest_Lines.xml │ │ │ ├── AutomationRequest_Points.xml │ │ │ └── ImpactLineSearchTask_21.xml │ │ └── meson.build │ └── Functional_Utilities │ │ └── meson.build ├── Test_Units │ └── meson.build └── meson.build ├── 3rd ├── wrap_patches │ ├── czmq-4.0.2 │ │ └── src │ │ │ └── meson.build │ ├── googletest-release-1.8.0 │ │ ├── meson.build │ │ └── googletest │ │ │ └── meson.build │ ├── zyre-2.0.0 │ │ └── src │ │ │ └── meson.build │ ├── zeromq-4.2.3 │ │ └── src │ │ │ └── meson.build │ ├── cppzmq-4.2.2 │ │ └── meson.build │ ├── sqlite-amalgamation-3120200 │ │ └── meson.build │ └── zlib-1.2.8 │ │ └── meson.build ├── czmq.wrap.tmpl ├── zlib.wrap.tmpl ├── zyre.wrap.tmpl ├── cppzmq.wrap.tmpl ├── sqlitecpp.wrap.tmpl ├── boost.wrap.tmpl ├── zeromq.wrap.tmpl ├── gtest.wrap.tmpl ├── sqlite3.wrap.tmpl ├── .gitignore ├── PugiXML │ └── meson.build ├── serial-1.2.1 │ └── meson.build └── TinyGPS │ └── meson.build ├── docker ├── ContainerScriptsAndFiles │ ├── InstallLibraries │ │ └── notes │ ├── runUxAS_tests.py │ └── Dockerfile_uxas-deploy ├── 03_test │ ├── cfg_TestUxAS.xml │ └── 01_Run_UxAS.py ├── 09_test_debug │ └── cfg_TestUxAS.xml ├── 99_construct_uxas-build.py ├── 05_RemoveBuildFiles.py ├── 08_RemoveDebugBuildFiles.py ├── 06_RemoveSourceFilesInVolume.py ├── VSCodeFiles │ └── settings.json ├── 04_Run_UxAS-Tests.py ├── 00a_README_QuickStart.md └── 01_PrepareAndBuildLmcp.py ├── ci ├── travis_docker.sh ├── travis.sh ├── travis_osx.sh └── travis_linux.sh ├── rm-external ├── meson_options.txt ├── .travis.yml ├── resources └── AutomationDiagramDataService │ └── PythonToC++SourceForPrintout.py └── .gitignore /.Brewfile: -------------------------------------------------------------------------------- 1 | brew "python3" 2 | brew "ant" 3 | brew "ninja" -------------------------------------------------------------------------------- /doc/doxygen/RunDoxygen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | doxygen Doxyfile 4 | 5 | cp files/* html/ 6 | 7 | -------------------------------------------------------------------------------- /examples/01_HelloWorld/runUxAS_HelloWorld.bat: -------------------------------------------------------------------------------- 1 | ..\..\build\uxas.exe -cfgPath cfg_HelloWorld.xml 2 | 3 | -------------------------------------------------------------------------------- /src/Includes/meson.build: -------------------------------------------------------------------------------- 1 | configure_file( 2 | output: 'config.h', 3 | configuration: conf, 4 | ) 5 | -------------------------------------------------------------------------------- /doc/doxygen/ExtraLineToFixLatex.txt: -------------------------------------------------------------------------------- 1 | \DeclareUnicodeCharacter{2079}{$^9$}% support older LaTeX versions 2 | -------------------------------------------------------------------------------- /tests/Test_Services/meson.build: -------------------------------------------------------------------------------- 1 | subdir('00_ExampleTests') 2 | subdir('ImpactPlayAirExpandSqPointTest01') 3 | 4 | -------------------------------------------------------------------------------- /tests/Test_Utilities/meson.build: -------------------------------------------------------------------------------- 1 | subdir('AutomationRequestTests') 2 | subdir('EligibleEntitiesTests') 3 | 4 | -------------------------------------------------------------------------------- /examples/01_HelloWorld/runUxAS_HelloWorld.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | BIN="../../build/uxas" 4 | $BIN -cfgPath cfg_HelloWorld.xml 5 | 6 | -------------------------------------------------------------------------------- /3rd/wrap_patches/czmq-4.0.2/src/meson.build: -------------------------------------------------------------------------------- 1 | configure_file(input : 'platform.h.meson', 2 | output : 'platform.h', 3 | configuration : cdata) 4 | -------------------------------------------------------------------------------- /3rd/wrap_patches/googletest-release-1.8.0/meson.build: -------------------------------------------------------------------------------- 1 | project('gtest', 'cpp', version : '1.8.0', license : 'bsd') 2 | 3 | subdir('googletest') 4 | -------------------------------------------------------------------------------- /3rd/wrap_patches/zyre-2.0.0/src/meson.build: -------------------------------------------------------------------------------- 1 | configure_file(input : 'platform.h.meson', 2 | output : 'platform.h', 3 | configuration : cdata) 4 | -------------------------------------------------------------------------------- /3rd/wrap_patches/zeromq-4.2.3/src/meson.build: -------------------------------------------------------------------------------- 1 | configure_file(input : 'platform.hpp.meson', 2 | output : 'platform.hpp', 3 | configuration : cdata) 4 | -------------------------------------------------------------------------------- /3rd/wrap_patches/cppzmq-4.2.2/meson.build: -------------------------------------------------------------------------------- 1 | project('cppzmq', 'cpp') 2 | 3 | dep = declare_dependency( 4 | include_directories: include_directories('.'), 5 | ) 6 | -------------------------------------------------------------------------------- /doc/reference/FlowCharts/UxAS_DiscreteEventSimulaton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/FlowCharts/UxAS_DiscreteEventSimulaton.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/DocFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/DocFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/MdmsFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/MdmsFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/SrcFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/SrcFolder.png -------------------------------------------------------------------------------- /doc/reference/SequenceDiagrams/CCA_Components_MessageFLow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/SequenceDiagrams/CCA_Components_MessageFLow.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/TestsFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/TestsFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Services/figures/ConfigExample.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Services/figures/ConfigExample.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Services/figures/ConfigExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Services/figures/ConfigExample.png -------------------------------------------------------------------------------- /examples/05_AssignTasks/AmaseUxas_SetupTool_Walkthrough.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/examples/05_AssignTasks/AmaseUxas_SetupTool_Walkthrough.docx -------------------------------------------------------------------------------- /examples/05_AssignTasks/AmaseUxas_SetupTool_Walkthrough.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/examples/05_AssignTasks/AmaseUxas_SetupTool_Walkthrough.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/DocFolderSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/DocFolderSelect.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/ExamplesFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/ExamplesFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/OpenUxASFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/OpenUxASFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/ResourcesFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/ResourcesFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/SrcFolderSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/SrcFolderSelect.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/Src_TasksFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/Src_TasksFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/MdmsAndResources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/MdmsAndResources.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/Src_ServicesFolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/Src_ServicesFolder.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/TestsFolderSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/TestsFolderSelect.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/ExamplesFolderSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/ExamplesFolderSelect.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Introduction/figures/NotionalBlockDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Introduction/figures/NotionalBlockDiagram.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/Src_TasksFolderSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/Src_TasksFolderSelect.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/Src_ServicesFolderSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/Src_ServicesFolderSelect.png -------------------------------------------------------------------------------- /doc/reference/UserManual/Navigating/figures/UxasAndDependentProjects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Navigating/figures/UxasAndDependentProjects.png -------------------------------------------------------------------------------- /docker/ContainerScriptsAndFiles/InstallLibraries/notes: -------------------------------------------------------------------------------- 1 | 2 | AUTOTOOLS: 3 | - needs $_SUDO apt install libtool-bin 4 | 5 | BOOST: 6 | apt-get -y install build-essential g++ gcc libicu-dev libbz2-dev 7 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/meson.build: -------------------------------------------------------------------------------- 1 | subdir('01_Test_HelloWorld') 2 | subdir('02_Test_Example_WaterwaySearch') 3 | subdir('03_Test_Example_DistributedCooperation') 4 | subdir('99_Test_Tasks') -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_Amase/figures/AMASE_UGS_Scenario.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_Amase/figures/AMASE_UGS_Scenario.pdf -------------------------------------------------------------------------------- /examples/05_AssignTasks/runUxAS_AssignTasks.bat: -------------------------------------------------------------------------------- 1 | mkdir RUNDIR_AssignTasks 2 | cd RUNDIR_AssignTasks 3 | rmdir /S /Q datawork 4 | rmdir /S /Q log 5 | ..\..\..\build\uxas.exe -cfgPath ..\AssignTasks_cfg.xml 6 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_HelloWorld/figures/01_ScreenCapture.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_HelloWorld/figures/01_ScreenCapture.pdf -------------------------------------------------------------------------------- /src/VisilibityLib/meson.build: -------------------------------------------------------------------------------- 1 | lib_visilibity = static_library( 2 | 'visilibity', 3 | [ 4 | 'visilibity.cpp', 5 | ], 6 | dependencies: [ 7 | dep_boost, 8 | ], 9 | cpp_args: cpp_args, 10 | ) 11 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/01WaterwaySearchInitial.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/01WaterwaySearchInitial.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/01_WaterwaySearch_Initial.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/01_WaterwaySearch_Initial.pdf -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/runUxAS_WaterwaySearch.bat: -------------------------------------------------------------------------------- 1 | mkdir RUNDIR_WaterwaySearch 2 | cd RUNDIR_WaterwaySearch 3 | rmdir /S /Q datawork 4 | rmdir /S /Q log 5 | ..\..\..\build\uxas.exe -cfgPath ..\cfg_WaterwaySearch.xml 6 | 7 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/runUxAS_AutomationDiagram.bat: -------------------------------------------------------------------------------- 1 | mkdir RUNDIR_AutomationDiagram 2 | cd RUNDIR_AutomationDiagram 3 | rmdir /S /Q datawork 4 | rmdir /S /Q log 5 | ..\..\..\build\uxas.exe -cfgPath ..\AutomationDiagram_cfg.xml 6 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/figures/02_figure_10000_all.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_DistributedCooperation/figures/02_figure_10000_all.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/03_WaterwaySearch_Assignment.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/03_WaterwaySearch_Assignment.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/figures/01_figure_10000_tasks.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_DistributedCooperation/figures/01_figure_10000_tasks.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/05_WaterwaySearch_PointSensor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/05_WaterwaySearch_PointSensor.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/02_WaterwaySearch_LineSearchTask.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/02_WaterwaySearch_LineSearchTask.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/04_WaterwaySearch_BeginExecution.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/04_WaterwaySearch_BeginExecution.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_all.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_all.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_init.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_init.pdf -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/MessagesToSend/AssignmentCoordinatorTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 10000 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ci/travis_docker.sh: -------------------------------------------------------------------------------- 1 | git clone https://github.com/afrl-rq/LmcpGen.git ../LmcpGen 2 | 3 | (pushd docker; python3 ./99_construct_uxas-build.py && python3 ./01_PrepareAndBuildLmcp.py && python3 ./02_BuildDeploy_UxAS.py && python3 ./04_Run_UxAS-Tests.py; popd) 4 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_assign.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_assign.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_execute.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_execute.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_implement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_implement.pdf -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/messages/05.AssignmentCoordinatorTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 10000 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/runAMASE_AssignTasks.bat: -------------------------------------------------------------------------------- 1 | pushd ..\..\..\OpenAMASE\OpenAMASE 2 | java -Xmx2048m -splash:data\amase_splash.png -cp dist\*;lib\* avtas.app.Application --config config\amase --scenario "../../OpenUxAS/examples/05_AssignTasks/AssignTasks_Scenario.xml" 3 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/Scenario_Empty.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/figures/DistributedCooperation_MessageFLow_Fig_all.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/afrl-rq/OpenUxAS-SoI/HEAD/doc/reference/UserManual/Examples/doc_DistributedCooperation/figures/DistributedCooperation_MessageFLow_Fig_all.pdf -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/AssignmentCoordinatorTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 10000 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/runAMASE_PythonWithAmase.bat: -------------------------------------------------------------------------------- 1 | pushd ..\..\..\OpenAMASE\OpenAMASE 2 | java -Xmx2048m -splash:data\amase_splash.png -cp dist\*;lib\* avtas.app.Application --config config\amase --scenario "..\..\OpenUxAS\examples\07_PythonWithAmase\Scenario_Empty.xml" 3 | popd 4 | 5 | -------------------------------------------------------------------------------- /3rd/wrap_patches/sqlite-amalgamation-3120200/meson.build: -------------------------------------------------------------------------------- 1 | project('sqlite3', 'c') 2 | 3 | lib = static_library( 4 | 'sqlite3', 5 | 'sqlite3.c', 6 | ) 7 | 8 | dep = declare_dependency( 9 | link_with: lib, 10 | include_directories: include_directories( 11 | '.', 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/runAMASE_WaterwaySearch.bat: -------------------------------------------------------------------------------- 1 | pushd ..\..\..\OpenAMASE\OpenAMASE 2 | java -Xmx2048m -splash:data\amase_splash.png -cp dist\*;lib\* avtas.app.Application --config config\amase --scenario "..\..\OpenUxAS\examples\02_Example_WaterwaySearch\Scenario_WaterwaySearch.xml" 3 | popd 4 | 5 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/runAMASE_AssignTasks.sh: -------------------------------------------------------------------------------- 1 | here=$PWD; 2 | 3 | cd ../../../OpenAMASE/OpenAMASE; 4 | java -Xmx2048m -splash:./data/amase_splash.png -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase --scenario "../../OpenUxAS/examples/05_AssignTasks/AssignTasks_Scenario.xml"; 5 | cd "$here"; 6 | 7 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/runAMASE_PythonWithAmase.sh: -------------------------------------------------------------------------------- 1 | here=$PWD; 2 | 3 | cd ../../../OpenAMASE/OpenAMASE; 4 | java -Xmx2048m -splash:./data/amase_splash.png -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase --scenario "../../OpenUxAS/examples/07_PythonWithAmase/Scenario_Empty.xml"; 5 | cd "$here"; 6 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/runUxAS_AssignTasks.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | SAVE_DIR=$(pwd) 4 | 5 | RM_DATAWORK="rm -R ./datawork" 6 | RM_LOG="rm -R ./log" 7 | 8 | BIN="../../../build/uxas" 9 | 10 | mkdir -p RUNDIR_AssignTasks 11 | cd RUNDIR_AssignTasks 12 | $RM_DATAWORK 13 | $RM_LOG 14 | $BIN -cfgPath ../AssignTasks_cfg.xml 15 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/FlightProfile_Climb.xml: -------------------------------------------------------------------------------- 1 | 2 | Climb 3 | 25.0 4 | 10.0 5 | 5.0 6 | 30.0 7 | 0.1 8 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/FlightProfile_Dash.xml: -------------------------------------------------------------------------------- 1 | 2 | Dash 3 | 35.0 4 | -2.0 5 | 0.0 6 | 30.0 7 | 0.1 8 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/GimbalState_PayloadID-1001.xml: -------------------------------------------------------------------------------- 1 | 2 | AirVehicleRelativeAngle 3 | 0.0 4 | -45.0 5 | 0.0 6 | 1001 7 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/FlightProfile_Cruise.xml: -------------------------------------------------------------------------------- 1 | 2 | Cruise 3 | 30.0 4 | 0.0 5 | 0.0 6 | 30.0 7 | 0.05 8 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/FlightProfile_Loiter.xml: -------------------------------------------------------------------------------- 1 | 2 | Loiter 3 | 20.0 4 | 5.0 5 | 0.0 6 | 30.0 7 | 0.025 8 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/MessagesToSend/tasks/1001_AutomationRequest_LINE_Waterway_Deschutes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 400 5 | 500 6 | 7 | 1000 8 | 9 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/FlightProfile_Descend.xml: -------------------------------------------------------------------------------- 1 | 2 | Descend 3 | 25.0 4 | -5.0 5 | -5.0 6 | 30.0 7 | 0.005 8 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/runAMASE_DistributedCooperation.bat: -------------------------------------------------------------------------------- 1 | pushd ..\..\..\OpenAMASE\OpenAMASE 2 | java -Xmx2048m -splash:data\amase_splash.png -cp dist\*;lib\* avtas.app.Application --config config\amase --scenario "..\..\OpenUxAS\examples\03_Example_DistributedCooperation\Scenario_DistributedCooperation.xml" 3 | popd 4 | 5 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/MessagesToSend/OperatingRegion_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 3 | 4 | 3 5 | 6 | 7 | 1 8 | 2 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/runAMASE_WaterwaySearch.sh: -------------------------------------------------------------------------------- 1 | here=$PWD; 2 | 3 | cd ../../../OpenAMASE/OpenAMASE; 4 | java -Xmx2048m -splash:./data/amase_splash.png -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase --scenario "../../OpenUxAS/examples/02_Example_WaterwaySearch/Scenario_WaterwaySearch.xml"; 5 | cd "$here"; 6 | 7 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/runUxAS_WaterwaySearch.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | SAVE_DIR=$(pwd) 4 | 5 | RM_DATAWORK="rm -R ./datawork" 6 | RM_LOG="rm -R ./log" 7 | 8 | BIN="../../../build/uxas" 9 | 10 | mkdir -p RUNDIR_WaterwaySearch 11 | cd RUNDIR_WaterwaySearch 12 | $RM_DATAWORK 13 | $RM_LOG 14 | $BIN -cfgPath ../cfg_WaterwaySearch.xml 15 | 16 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/runUxAS_AutomationDiagram.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | SAVE_DIR=$(pwd) 4 | 5 | RM_DATAWORK="rm -R ./datawork" 6 | RM_LOG="rm -R ./log" 7 | 8 | BIN="../../../build/uxas" 9 | 10 | mkdir -p RUNDIR_AutomationDiagram 11 | cd RUNDIR_AutomationDiagram 12 | $RM_DATAWORK 13 | $RM_LOG 14 | $BIN -cfgPath ../AutomationDiagram_cfg.xml 15 | -------------------------------------------------------------------------------- /tests/Test_Units/meson.build: -------------------------------------------------------------------------------- 1 | exe_VisilibityTest = executable( 2 | 'VisilibityTest', 3 | 'VisilibityTest.cpp', 4 | 'TestReport.cpp', 5 | dependencies: deps_test, 6 | cpp_args: cpp_args_test, 7 | include_directories: inc_test, 8 | link_with: libs_test, 9 | link_args: link_args_test, 10 | ) 11 | 12 | test( 13 | 'VisilibityTest', 14 | exe_VisilibityTest 15 | ) 16 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/02_Test_Example_WaterwaySearch/MessagesToSend/tasks/1001_AutomationRequest_LINE_Waterway_Deschutes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 400 5 | 500 6 | 7 | 1000 8 | 9 | -------------------------------------------------------------------------------- /3rd/czmq.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = czmq-4.0.2 4 | source_url = https://github.com/zeromq/czmq/archive/v4.0.2.zip 5 | source_filename = v4.0.2.zip 6 | source_hash = a25b3b221435ea484c35e217cfd3b88589812dd81a9a9948bf02ce8a77684869 7 | 8 | patch_url = %top%/czmq-4.0.2_patch.tar 9 | patch_filename = czmq-4.0.2_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /3rd/zlib.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = zlib-1.2.8 4 | source_url = https://github.com/madler/zlib/archive/v1.2.8.zip 5 | source_filename = v1.2.8.zip 6 | source_hash = 72290446e06e8962514d9226540b5277d3150a879afa0e6a88d98bc106f2fdc3 7 | 8 | patch_url = %top%/zlib-1.2.8_patch.tar 9 | patch_filename = zlib-1.2.8_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /3rd/zyre.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = zyre-2.0.0 4 | source_url = https://github.com/zeromq/zyre/archive/v2.0.0.zip 5 | source_filename = v2.0.0.zip 6 | source_hash = de93fb53156e61cdb04cd373851749f7fb2146c69d9d2d51b28fb461d90dd0d0 7 | 8 | patch_url = %top%/zyre-2.0.0_patch.tar 9 | patch_filename = zyre-2.0.0_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/MessagesToSend/OperatingRegion_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 100 4 | 5 | 6 | 7 | 10 8 | 11 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/runAMASE_DistributedCooperation.sh: -------------------------------------------------------------------------------- 1 | here=$PWD; 2 | 3 | cd ../../../OpenAMASE/OpenAMASE; 4 | java -Xmx2048m -splash:./data/amase_splash.png -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase --scenario "../../OpenUxAS/examples/03_Example_DistributedCooperation/Scenario_DistributedCooperation.xml"; 5 | cd "$here"; 6 | 7 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/OperatingRegion_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 100 4 | 5 | 6 | 7 | 10 8 | 11 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/Test_Utilities/EligibleEntitiesTests/MessagesToSend/OperatingRegion_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 100 4 | 5 | 6 | 7 | 10 8 | 11 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /3rd/cppzmq.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = cppzmq-4.2.2 4 | source_url = https://github.com/zeromq/cppzmq/archive/v4.2.2.zip 5 | source_filename = v4.2.2.zip 6 | source_hash = f229a3aa1184caae8c4fac1de526c1d1074f306849dd0da61f9538cee03d074d 7 | 8 | patch_url = %top%/cppzmq-4.2.2_patch.tar 9 | patch_filename = cppzmq-4.2.2_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /docker/03_test/cfg_TestUxAS.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /rm-external: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | from pathlib import Path 4 | import os 5 | import shutil 6 | 7 | cwd = Path.cwd() 8 | pd = cwd / Path('3rd') 9 | for p in pd.glob('*_patch.tar'): 10 | d = str(p)[0:-10] 11 | if Path(d).is_dir(): 12 | shutil.rmtree(d) 13 | pc = pd / 'packagecache' 14 | for c in pc.glob('*'): 15 | os.remove(str(c)) 16 | -------------------------------------------------------------------------------- /tests/Test_Services/mesontestbuild.template: -------------------------------------------------------------------------------- 1 | exe_SampleTest_Test01 = executable( 2 | 'SampleTest_Test01', 3 | 'SampleTest_Test01.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'SampleTest_Test01', 13 | exe_SampleTest_Test01 14 | ) 15 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/messages/04.OperatingRegion.100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 100 4 | 5 | 6 | 7 | 10 8 | 11 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /docker/09_test_debug/cfg_TestUxAS.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/01_HelloWorld/cfg_HelloWorld.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /3rd/sqlitecpp.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = SQLiteCpp-1.3.1 4 | source_url = https://github.com/SRombauts/SQLiteCpp/archive/1.3.1.zip 5 | source_filename = 1.3.1.zip 6 | source_hash = 510ca91986cd5fe4ac8305da8aa540f0230c1b6fe160b772eaed30a4e3163c1e 7 | 8 | patch_url = %top%/SQLiteCpp-1.3.1_patch.tar 9 | patch_filename = SQLiteCpp-1.3.1_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /ci/travis.sh: -------------------------------------------------------------------------------- 1 | set -ev 2 | 3 | if [[ "$BUILD_FLAVOR" == "linux_docker" ]]; then 4 | source ci/travis_docker.sh; 5 | elif [[ "$BUILD_FLAVOR" == "linux_native" ]]; then 6 | source ci/travis_linux.sh; 7 | elif [[ "$BUILD_FLAVOR" == "osx_native" ]]; then 8 | source ci/travis_osx.sh; 9 | else 10 | echo "Error: unexpected Travis build flavor: $BUILD_FLAVOR"; 11 | false; 12 | fi 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/LoiterTask/MessagesToSend/AutomationRequest_LoiterTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/MustFlyTask/MessagesToSend/AutomationRequest_MustFly.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/WatchTask/MessagesToSend/AutomationRequest_WatchTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 102 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/BlockadeTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 103 4 | 5 | 6 | 200 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/MessagesToSend/AutomationRequest_CommRelay.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 102 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 200 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/MessagesToSend/AutomationRequest_EscortTask_Ahead.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 102 4 | 5 | 6 | 200 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/MessagesToSend/AutomationRequest_LineSearchTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/OperatingRegion_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 100 4 | 5 | 6 | 7 | 10 8 | 11 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_WatchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_WatchTaskTests = executable( 2 | 'WatchTaskTests', 3 | 'WatchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'WatchTaskTests', 13 | exe_WatchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /3rd/boost.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = boost_1_67_0 4 | source_url = https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2 5 | source_filename = boost_1_67_0.tar.bz2 6 | source_hash = 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba 7 | 8 | patch_url = %top%/boost_1_67_0_patch.tar 9 | patch_filename = boost_1_67_0_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /3rd/zeromq.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = zeromq-4.2.3 4 | source_url = https://github.com/zeromq/libzmq/releases/download/v4.2.3/zeromq-4.2.3.zip 5 | source_filename = zeromq-4.2.3.zip 6 | source_hash = 0da4f98ac1b1b14711f4d8827dc1cddbc7436d8fcb5f41a1904857c11efc0eac 7 | 8 | patch_url = %top%/zeromq-4.2.3_patch.tar 9 | patch_filename = zeromq-4.2.3_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiLineSearchTask/MessagesToSend/AutomationRequest_LineSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiPointSearchTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/MessagesToSend/AutomationRequest_EscortTask_Behind.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 103 4 | 5 | 6 | 300 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/PatternSearchTask/MessagesToSend/AutomationRequest_PatternSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/01_Test_HelloWorld/meson.build: -------------------------------------------------------------------------------- 1 | exe_HelloWorld_test01 = executable( 2 | 'HelloWorld_test01', 3 | 'HelloWorld_test01.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'HelloWorld_test01', 13 | exe_HelloWorld_test01 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_EscortTaskTests = executable( 2 | 'EscortTaskTests', 3 | 'EscortTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'EscortTaskTests', 13 | exe_EscortTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_LoiterTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_LoiterTaskTests = executable( 2 | 'LoiterTaskTests', 3 | 'LoiterTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'LoiterTaskTests', 13 | exe_LoiterTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Circle/MessagesToSend/AutomationRequest_AreaSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactLineSearchTask/MessagesToSend/AutomationRequest_ImpactLineSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactPointSearchTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_MustFlyTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_MustFlyTaskTests = executable( 2 | 'MustFlyTaskTests', 3 | 'MustFlyTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'MustFlyTaskTests', 13 | exe_MustFlyTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /examples/99_Tasks/AngledAreaSearchTask/MessagesToSend/AutomationRequest_AngledAreaSearchTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Polygon/MessagesToSend/AutomationRequest_AreaSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Rectangle/MessagesToSend/AutomationRequest_AreaSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_BlockadeTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_BlockadeTaskTests = executable( 2 | 'BlockadeTaskTests', 3 | 'BlockadeTaskTest.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'BlockadeTaskTests', 13 | exe_BlockadeTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Utilities/EligibleEntitiesTests/meson.build: -------------------------------------------------------------------------------- 1 | exe_EligibleEntitiesTest = executable( 2 | 'EligibleEntitiesTest', 3 | 'EligibleEntitiesTest.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'EligibleEntitiesTest', 13 | exe_EligibleEntitiesTest 14 | ) 15 | 16 | -------------------------------------------------------------------------------- /examples/99_Tasks/BlockadeTask/MessagesToSend/AutomationRequest_Blockade.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 102 5 | 6 | 7 | 100 8 | 9 | 10 | 0 11 | false 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/meson.build: -------------------------------------------------------------------------------- 1 | exe_AutomationRequestTest = executable( 2 | 'AutomationRequestTest', 3 | 'AutomationRequestTest.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'AutomationRequestTest', 13 | exe_AutomationRequestTest 14 | ) 15 | 16 | -------------------------------------------------------------------------------- /3rd/gtest.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = googletest-release-1.8.0 3 | 4 | source_url = https://github.com/google/googletest/archive/release-1.8.0.zip 5 | source_filename = gtest-1.8.0.zip 6 | source_hash = f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf 7 | 8 | patch_url = %top%/googletest-release-1.8.0_patch.tar 9 | patch_filename = googletest-release-1.8.0_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/messages/06.AutomationRequest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 400 4 | 500 5 | 6 | 7 | 1000 8 | 9 | 10 | 0 11 | false 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/ImpactPlayAirExpandSqPointTest01/datain/1239_lmcp_CMASI_AutomationRequest_53.249040.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 4 | 5 | 6 | 1111 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_MustFlyTask/MessagesToSend/AutomationRequest_MustFly.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_RendezvousTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_RendezvousTaskTests = executable( 2 | 'RendezvousTaskTests', 3 | 'RendezvousTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'RendezvousTaskTests', 13 | exe_RendezvousTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_WatchTask/MessagesToSend/AutomationRequest_WatchTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 102 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/02_Test_Example_WaterwaySearch/meson.build: -------------------------------------------------------------------------------- 1 | exe_WaterwaySearch_test01 = executable( 2 | 'WaterwaySearch_test01', 3 | 'WaterwaySearch_test01.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'WaterwaySearch_test01', 13 | exe_WaterwaySearch_test01 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_BlockadeTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 103 4 | 5 | 6 | 200 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/MessagesToSend/AutomationRequest_LineSearchTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_LoiterTask/MessagesToSend/AutomationRequest_LoiterTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /docker/03_test/01_Run_UxAS.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | 6 | print("\n##### START uxas_build container #####\n") 7 | cmd = ('docker run -i --rm ' + 8 | '--name uxas_run -w="/working" ' + 9 | '--mount type=bind,source="{}",target="/working" '.format(os.getcwd()) + 10 | 'uxas/uxas-deploy:x86_64 ' + 11 | '-cfgPath ./cfg_TestUxAS.xml') 12 | call(cmd,shell=True) 13 | 14 | -------------------------------------------------------------------------------- /examples/99_Tasks/MultiVehicleWatchTask/MessagesToSend/AutomationRequest_MultiVehicleWatch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 102 5 | 6 | 7 | 100 8 | 9 | 10 | 0 11 | false 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiAreaSearchTask/MessagesToSend/AutomationRequest_AreaSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiLineSearchTask/MessagesToSend/AutomationRequest_LineSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/MessagesToSend/AutomationRequest_EscortTask_Ahead.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 102 4 | 5 | 6 | 200 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/MessagesToSend/AutomationRequest_EscortTask_Behind.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 103 4 | 5 | 6 | 300 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /3rd/sqlite3.wrap.tmpl: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | 3 | directory = sqlite-amalgamation-3120200 4 | source_url = https://sqlite.org/2016/sqlite-amalgamation-3120200.zip 5 | source_filename = sqlite-amalgamation-3120200.zip 6 | source_hash = 6e012367e659b594f79cd472eac35c8addc015e8706e37e2a1feb1ee79e8e374 7 | 8 | patch_url = %top%/sqlite-amalgamation-3120200_patch.tar 9 | patch_filename = sqlite-amalgamation-3120200_patch.tar 10 | patch_hash = %patch_hash% 11 | -------------------------------------------------------------------------------- /3rd/wrap_patches/googletest-release-1.8.0/googletest/meson.build: -------------------------------------------------------------------------------- 1 | incdir = include_directories('include', '.') 2 | libsources = files('src/gtest-all.cc') 3 | mainsources = files('src/gtest_main.cc') 4 | 5 | lib = static_library( 6 | 'gtest', 7 | libsources, 8 | dependencies: dependency('threads'), 9 | include_directories: incdir, 10 | ) 11 | 12 | dep = declare_dependency( 13 | link_with: lib, 14 | include_directories: incdir, 15 | ) 16 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiPointSearchTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_ImpactPointSearchTask/MessagesToSend/AutomationRequest_PointSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_PatternSearchTask/MessagesToSend/AutomationRequest_PatternSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_ImpactLineSearchTask/MessagesToSend/AutomationRequest_ImpactLineSearch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_PatternSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_PatternSearchTaskTests = executable( 2 | 'PatternSearchTaskTests', 3 | 'PatternSearchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'PatternSearchTaskTests', 13 | exe_PatternSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/MessagesToSend/AreaOfInterest_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 100 3 | 4 | 5 | 6 | 7 | -22.71 8 | 150.60 9 | 10 | 11 | 1500.0 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/99_Tasks/RendezvousTask/MessagesToSend/AutomationRequest_RendezvousTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 102 5 | 103 6 | 7 | 8 | 100 9 | 10 | 11 | 0 12 | false 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_AngledAreaSearchTask/MessagesToSend/AutomationRequest_AngledAreaSearchTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | 6 | 100 7 | 8 | 9 | 0 10 | false 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/AreaOfInterest_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 100 3 | 4 | 5 | 6 | 7 | -22.71 8 | 150.60 9 | 10 | 11 | 1500.0 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_BlockadeTask/MessagesToSend/AutomationRequest_Blockade.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 102 5 | 6 | 7 | 100 8 | 9 | 10 | 0 11 | false 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiAreaSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_CmasiAreaSearchTaskTests = executable( 2 | 'CmasiAreaSearchTaskTests', 3 | 'CmasiAreaSearchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'CmasiAreaSearchTaskTests', 13 | exe_CmasiAreaSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiLineSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_CmasiLineSearchTaskTests = executable( 2 | 'CmasiLineSearchTaskTests', 3 | 'CmasiLineSearchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'CmasiLineSearchTaskTests', 13 | exe_CmasiLineSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/ImpactPlayAirExpandSqPointTest01/datain/1237_lmcp_IMPACT_PointOfInterest_53.226522.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 3 | 4 | 5 | 30.4806527777778 6 | -87.2192722222222 7 | 500 8 | MSL 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_AngledAreaSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_AngledAreaSearchTaskTests = executable( 2 | 'AngledAreaSearchTaskTests', 3 | 'AngledAreaSearchTaskTest.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'AngledAreaSearchTaskTests', 13 | exe_AngledAreaSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiPointSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_CmasiPointSearchTaskTests = executable( 2 | 'CmasiPointSearchTaskTests', 3 | 'CmasiPointSearchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'CmasiPointSearchTaskTests', 13 | exe_CmasiPointSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_ImpactLineSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_ImpactLineSearchTaskTests = executable( 2 | 'ImpactLineSearchTaskTests', 3 | 'ImpactLineSearchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'ImpactLineSearchTaskTests', 13 | exe_ImpactLineSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Utilities/EligibleEntitiesTests/MessagesToSend/AutomationRequest_Lines.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 21 6 | 20 7 | 30 8 | 9 | .(p21 p20 p30) 10 | 100 11 | true 12 | 13 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/messages/03.AreaOfInterest.100.xml: -------------------------------------------------------------------------------- 1 | 2 | 100 3 | 4 | 5 | 6 | 7 | -22.71 8 | 150.60 9 | 10 | 11 | 1500.0 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/CameraState_PayloadID-10001.xml: -------------------------------------------------------------------------------- 1 | 2 | 10001 3 | 4 | Unknown 5 | 0 6 | 0 7 | 0 8 | 20.0 9 | 0 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/99_Tasks/CordonTask/MessagesToSend/AutomationRequest_CordonTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 4 | 14 5 | 15 6 | 16 7 | 8 | 9 | 100 10 | 11 | 12 | 0 13 | false 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_ImpactPointSearchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_ImpactPointSearchTaskTests = executable( 2 | 'ImpactPointSearchTaskTests', 3 | 'ImpactPointSearchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'ImpactPointSearchTaskTests', 13 | exe_ImpactPointSearchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_MultiVehicleWatchTask/meson.build: -------------------------------------------------------------------------------- 1 | exe_MultiVehicleWatchTaskTests = executable( 2 | 'MultiVehicleWatchTaskTests', 3 | 'MultiVehicleWatchTaskTests.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'MultiVehicleWatchTaskTests', 13 | exe_MultiVehicleWatchTaskTests 14 | ) 15 | -------------------------------------------------------------------------------- /docker/ContainerScriptsAndFiles/runUxAS_tests.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | import os 3 | from subprocess import call 4 | 5 | def callWithShell(cmd): 6 | call(cmd, shell=True) 7 | 8 | # 1 - change to the volume with OpenUxAS code : 9 | os.chdir("/tmp_build") 10 | 11 | # if `build` exists, then just run Ninja 12 | if(os.path.isdir("build")): 13 | callWithShell("meson build --buildtype=release") 14 | 15 | # 3 - compile the code 16 | callWithShell("ninja -C build test") -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_MultiVehicleWatchTask/MessagesToSend/AutomationRequest_MultiVehicleWatch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 102 5 | 6 | 7 | 100 8 | 9 | 10 | 0 11 | false 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/Test_Services/ImpactPlayAirExpandSqPointTest01/meson.build: -------------------------------------------------------------------------------- 1 | exe_ImpactPlayAirExpandSqSpointTest01 = executable( 2 | 'ImpactPlayAirExpandSqPointTest01', 3 | 'ImpactPlayAirExpandSqPointTest01.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'ImpactPlayAirExpandSqPointTest01', 13 | exe_ImpactPlayAirExpandSqSpointTest01 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/AreaOfInterest_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 100 3 | 4 | 5 | 6 | 7 | -22.71 8 | 150.60 9 | 10 | 11 | 1500.0 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/meson.build: -------------------------------------------------------------------------------- 1 | exe_DistributedCooperation_test01 = executable( 2 | 'DistributedCooperation_test01', 3 | 'DistributedCooperation_test01.cpp', 4 | dependencies: deps_test, 5 | cpp_args: cpp_args_test, 6 | include_directories: inc_test, 7 | link_with: libs_test, 8 | link_args: link_args_test, 9 | ) 10 | 11 | test( 12 | 'DistributedCooperation_test01', 13 | exe_DistributedCooperation_test01 14 | ) 15 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_RendezvousTask/MessagesToSend/AutomationRequest_RendezvousTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 102 5 | 103 6 | 7 | 8 | 100 9 | 10 | 11 | 0 12 | false 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/runAmase_WaterwaySearch.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | 6 | scenarioFile = 'Scenario_WaterwaySearch.xml' 7 | amaseDirectory = '../../../OpenAMASE/OpenAMASE' 8 | 9 | cmd = 'java -Xmx2048m -splash:./data/amase_splash.png -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase --scenario "{0}/{1}"'.format(os.getcwd(),scenarioFile) 10 | 11 | os.chdir(amaseDirectory) 12 | call(cmd,shell=True) 13 | 14 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_execute.sd: -------------------------------------------------------------------------------- 1 | CI:Actor[pr] "CtrlInt" 2 | WM01:WaypointManager[pr] "WayMan" 3 | RA:RteAggregator[pr] "RteAg" 4 | PR:Planner[pr] "Plan" 5 | AS:Assign[pr] "Assign" 6 | PB:PlanBuilder[pr] "PlanBuild" 7 | TM:TaskMan[pr] "TaskMan" 8 | TK01:Task01[pr] "LineSearch" 9 | 10 | [c Execution] 11 | CI:={TK01,WM01}.(19) AVSte[400]& 12 | WM01:=CI.(20) MsnCmd& 13 | CI:={TK01,WM01}.(21) AVSte[400]& 14 | TK01:=CI.(22) VActCmd& 15 | [/c] 16 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/runAmase_DistributedCooperation.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | 6 | scenarioFile = 'Scenario_DistributedCooperation.xml' 7 | amaseDirectory = '../../../OpenAMASE/OpenAMASE' 8 | 9 | cmd = 'java -Xmx2048m -splash:./data/amase_splash.png -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase --scenario "{0}/{1}"'.format(os.getcwd(),scenarioFile) 10 | 11 | os.chdir(amaseDirectory) 12 | call(cmd,shell=True) 13 | 14 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/EntityConfiguration_Id_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 2 3 | Unknown 4 | 5 | 12 | -------------------------------------------------------------------------------- /examples/01_HelloWorld/runUxAS_HelloWorld.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | import platform 6 | 7 | osType = platform.system() 8 | print('** osType[{}] **'.format(osType)) 9 | 10 | bin = '../../build/uxas' 11 | cfgFile = 'cfg_HelloWorld.xml' 12 | if osType =='Linux': 13 | pass 14 | elif osType =='Darwin': 15 | pass 16 | elif osType =='Windows': 17 | bin = '..\\..\\build\\uxas.exe' 18 | 19 | cmd = '{0} -cfgPath {1}'.format(bin,cfgFile) 20 | call(cmd,shell=True) 21 | -------------------------------------------------------------------------------- /3rd/.gitignore: -------------------------------------------------------------------------------- 1 | !wrap_patches 2 | 3 | # downloaded 3rd party libraries 4 | *.tar 5 | /boost_1_67_0 6 | /cppzmq-4.2.2 7 | /czmq-4.0.2 8 | /googletest-release-1.8.0 9 | /packagecache 10 | #serial-1.2.1 11 | /sqlite-amalgamation-3120200 12 | /SQLiteCpp-1.3.1 13 | /zeromq-4.2.3 14 | /zlib-1.2.8 15 | /zyre-2.0.0 16 | 17 | # generated .wrap files from .wrap.tmpl 18 | /boost.wrap 19 | /cppzmq.wrap 20 | /czmq.wrap 21 | /gtest.wrap 22 | /serial.wrap 23 | /sqlite3.wrap 24 | /sqlitecpp.wrap 25 | /zeromq.wrap 26 | /zlib.wrap 27 | /zyre.wrap 28 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/EntityConfiguration_Id_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | Unknown 4 | 5 | 6 | 11.0 7 | 0.0 8 | AGL 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Utilities/localcoords/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup, Extension 2 | 3 | module1 = Extension('LocalCoords',sources=['LocalCoordsModule.cpp', 4 | '../UnitConversions.cpp'], 5 | extra_compile_args=['-std=c++11','-DLINUX'], 6 | include_dirs=['.', '../../Includes']) 7 | 8 | setup (name = 'LocalCoords', 9 | version = '1.0', 10 | description = 'This package converts between Lat Lon and meters from an origin', 11 | ext_modules = [module1]) 12 | -------------------------------------------------------------------------------- /docker/99_construct_uxas-build.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | 4 | import os 5 | from subprocess import call 6 | import time 7 | 8 | timeStartAll = time.time() 9 | 10 | print("\n##### STARTING- to construct BUILD image #####\n") 11 | cmd = 'docker build -t uxas/uxas-build:x86_64 -f ContainerScriptsAndFiles/Dockerfile_uxas-build .' 12 | returned_value = call(cmd,shell=True); print('returned value:{0}'.format(returned_value)) 13 | print('\n##### FINISHED-constructing BUILD image Time [{0}] #####\n\n\n'.format(time.time() - timeStartAll)) 14 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/PointOfInterest_Id_133.xml: -------------------------------------------------------------------------------- 1 | 2 | 133 3 | 4 | 5 | 25.329151760019545 6 | -80.52222036521432 7 | 0.0 8 | MSL 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/PointOfInterest_Id_134.xml: -------------------------------------------------------------------------------- 1 | 2 | 134 3 | 4 | 5 | 25.31450166483915 6 | -80.56869848012519 7 | 0.0 8 | MSL 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/PointOfInterest_Id_137.xml: -------------------------------------------------------------------------------- 1 | 2 | 137 3 | 4 | 5 | 25.274438265258787 6 | -80.50058730550906 7 | 0.0 8 | MSL 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/PointOfInterest_Id_138.xml: -------------------------------------------------------------------------------- 1 | 2 | 138 3 | 4 | 5 | 25.239556113062154 6 | -80.48308192367797 7 | 0.0 8 | MSL 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/MessagesToSend/RadioTowerState_V21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 21 7 | 8 | 9 | 30.529723268898915 10 | -87.20788664886517 11 | 0.0 12 | MSL 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_implement.sd: -------------------------------------------------------------------------------- 1 | CI:Actor[pr] "CtrlInt" 2 | WM01:WaypointManager[pr] "WayMan" 3 | RA:RteAggregator[pr] "RteAg" 4 | PR:Planner[pr] "Plan" 5 | AS:Assign[pr] "Assign" 6 | PB:PlanBuilder[pr] "PlanBuild" 7 | TM:TaskMan[pr] "TaskMan" 8 | TK01:Task01[pr] "LineSearch" 9 | 10 | [c Implementation] 11 | PB:TK01.(14) TskImplRq& 12 | TK01:=PR.(15) RtePlnRq& 13 | PR:=TK01.(16 )RtePlnRsp& 14 | TK01:PB.(17) TskImplRsp& 15 | PB:{CI,WM01}.(18) AtmnRsp& 16 | [/c] 17 | 18 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/OperatingRegion_Id_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 3 | 4 | 11 5 | 12 6 | 13 7 | 8 | 9 | 14 10 | 15 11 | 16 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/99_Tasks/CordonTask/runUxAS_CordonTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_CordonTask.xml"] 8 | 9 | runFolder = "RUNDIR_CordonTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/runUxAS_EscortTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_EscortTask.xml"] 8 | 9 | runFolder = "RUNDIR_EscortTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/LoiterTask/runUxAS_LoiterTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_LoiterTask.xml"] 8 | 9 | runFolder = "RUNDIR_LoiterTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/WatchTask/runUxAS_WatchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_WatchTask.xml"] 8 | 9 | runFolder = "RUNDIR_WatchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /src/Plans/meson.build: -------------------------------------------------------------------------------- 1 | lib_plans = static_library( 2 | 'plans', 3 | [ 4 | 'CGrid.cpp', 5 | 'Edge.cpp', 6 | 'Polygon.cpp', 7 | 'Position.cpp', 8 | 'Trajectory.cpp', 9 | 'VisibilityGraph.cpp', 10 | 'Waypoint.cpp', 11 | ], 12 | dependencies: [ 13 | dep_boost, 14 | dep_pugixml, 15 | ], 16 | cpp_args: cpp_args, 17 | include_directories: [ 18 | include_directories( 19 | '../../src/Includes', 20 | '../../src/Utilities', 21 | '../../src/VisilibityLib', 22 | ), 23 | incs_lmcp, 24 | ], 25 | ) 26 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/meson.build: -------------------------------------------------------------------------------- 1 | subdir('Test_AngledAreaSearchTask') 2 | subdir('Test_BlockadeTask') 3 | subdir('Test_CmasiAreaSearchTask') 4 | subdir('Test_CmasiLineSearchTask') 5 | subdir('Test_CmasiPointSearchTask') 6 | subdir('Test_EscortTask') 7 | subdir('Test_ImpactLineSearchTask') 8 | subdir('Test_ImpactPointSearchTask') 9 | subdir('Test_LoiterTask') 10 | subdir('Test_MultiVehicleWatchTask') 11 | subdir('Test_MustFlyTask') 12 | subdir('Test_PatternSearchTask') 13 | subdir('Test_RendezvousTask') 14 | subdir('Test_WatchTask') 15 | -------------------------------------------------------------------------------- /examples/99_Tasks/MustFlyTask/runUxAS_MustFlyTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_MustFlyTask.xml"] 8 | 9 | runFolder = "RUNDIR_MustFlyTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /docker/05_RemoveBuildFiles.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | 6 | hostOpenUxAS_Dir = '{0}/..'.format(os.getcwd()) 7 | 8 | print("\n##### START removing build files #####\n") 9 | cmd = ('docker run --rm -d ' + 10 | '--name uxas_build -w="/UxASDev/OpenUxAS" ' + 11 | '--mount type=bind,source={0}/..,target="/UxASDev" '.format(hostOpenUxAS_Dir) + 12 | '--mount source=UxAS_Build_Vol,target="/tmp_build" ' + 13 | 'uxas/uxas-build:x86_64 ' + 14 | 'rm -rf /tmp_build/build') 15 | call(cmd,shell=True) 16 | -------------------------------------------------------------------------------- /examples/99_Tasks/BlockadeTask/runUxAS_BlockadeTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_BlockadeTask.xml"] 8 | 9 | runFolder = "RUNDIR_BlockadeTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/runUxAS_CommRelayTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_CommRelayTask.xml"] 8 | 9 | runFolder = "RUNDIR_CommRelayTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /tests/Test_Utilities/EligibleEntitiesTests/MessagesToSend/AutomationRequest_Points.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 7 | 8 | 11 9 | 10 | 12 11 | 12 | .(p10 p12 p11) 13 | 100 14 | true 15 | 16 | -------------------------------------------------------------------------------- /3rd/wrap_patches/zlib-1.2.8/meson.build: -------------------------------------------------------------------------------- 1 | project('zlib', 'c') 2 | 3 | lib = static_library( 4 | 'zlib', 5 | [ 6 | 'adler32.c', 7 | 'compress.c', 8 | 'crc32.c', 9 | 'deflate.c', 10 | 'gzclose.c', 11 | 'gzlib.c', 12 | 'gzread.c', 13 | 'gzwrite.c', 14 | 'infback.c', 15 | 'inffast.c', 16 | 'inflate.c', 17 | 'inftrees.c', 18 | 'trees.c', 19 | 'uncompr.c', 20 | 'zutil.c', 21 | ], 22 | ) 23 | 24 | dep = declare_dependency( 25 | link_with: lib, 26 | include_directories: include_directories( 27 | '.', 28 | ), 29 | ) 30 | -------------------------------------------------------------------------------- /docker/08_RemoveDebugBuildFiles.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | 6 | hostOpenUxAS_Dir = '{0}/..'.format(os.getcwd()) 7 | 8 | print("\n##### START removing build files #####\n") 9 | cmd = ('docker run --rm -d ' + 10 | '--name uxas_build -w="/UxASDev/OpenUxAS" ' + 11 | '--mount type=bind,source={0}/..,target="/UxASDev" '.format(hostOpenUxAS_Dir) + 12 | '--mount source=UxAS_Build_Vol,target="/tmp_build" ' + 13 | 'uxas/uxas-build:x86_64 ' + 14 | 'rm -rf /tmp_build/build_debug') 15 | call(cmd,shell=True) 16 | -------------------------------------------------------------------------------- /examples/99_Tasks/RendezvousTask/runUxAS_RendezvousTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_RendezvousTask.xml"] 8 | 9 | runFolder = "RUNDIR_RendezvousTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiLineSearchTask/runUxAS_LineSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_LineSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_LineSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiPointSearchTask/runUxAS_PointSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_PointSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_PointSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactLineSearchTask/runUxAS_LineSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_LineSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_LineSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/PatternSearchTask/MessagesToSend/PointOfInterest_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 12 | 13 | Pattern Search Point 14 | false 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/WatchTask_Id_39.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 0 5 | 0.0 6 | 39 7 | 8 | 9 | 0.0 10 | 11 | 0 12 | true 13 | 14 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactPointSearchTask/runUxAS_PointSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_PointSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_PointSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/PatternSearchTask/runUxAS_PatternSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_PatternSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_PatternSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_init.sd: -------------------------------------------------------------------------------- 1 | CI:Actor[pr] "CtrlInt" 2 | WM01:WaypointManager[pr] "WayMan" 3 | RA:RteAggregator[pr] "RteAg" 4 | PR:Planner[pr] "Plan" 5 | AS:Assign[pr] "Assign" 6 | PB:PlanBuilder[pr] "PlanBuild" 7 | TM:TaskMan[pr] "TaskMan" 8 | /TK01:Task01[tvar] "LineSearch" 9 | 10 | [c Initialization] 11 | CI:={PR,RA,TM}.(1) AVCfg[400] 12 | CI:={PR,RA,TM}.(2) AVCfg[500] 13 | CI:={PR,WM01,PB,TM}.(3) AVSt[400] 14 | CI:={PR,WM01,PB,TM}.(4) AVSt[500] 15 | CI:=TM.(5) LnSrch 16 | TM:=TK01.new() 17 | [/c] 18 | 19 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/WatchTask_Id_40.xml: -------------------------------------------------------------------------------- 1 | 2 | 2 3 | 4 | 0 5 | 0.0 6 | 40 7 | 14 | 15 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Circle/runUxAS_AreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_AreaSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_AreaSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Polygon/runUxAS_AreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_AreaSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_AreaSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Rectangle/runUxAS_AreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_AreaSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_AreaSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /src/Utilities/Permute.cpp: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #include "Permute.h" 11 | -------------------------------------------------------------------------------- /examples/99_Tasks/AngledAreaSearchTask/runUxAS_AngledAreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_AngledAreaSearchTask.xml"] 8 | 9 | runFolder = "RUNDIR_AngledAreaSearchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/MultiVehicleWatchTask/runUxAS_MultiVehicleWatchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | uxasPath = '../../../../build/uxas' 7 | args = ["-cfgPath", "../cfg_MultiVehicleWatchTask.xml"] 8 | 9 | runFolder = "RUNDIR_MultiVehicleWatchTask" 10 | 11 | currentDir = os.path.dirname(os.path.realpath(__file__)) 12 | currentDir = os.getcwd() 13 | runPath = os.path.join(currentDir,runFolder) 14 | 15 | if(os.path.isdir(runPath)): 16 | shutil.rmtree(runPath) 17 | 18 | os.mkdir(runPath) 19 | os.chdir(runPath) 20 | subprocess.call([uxasPath] + args) 21 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_PatternSearchTask/MessagesToSend/PointOfInterest_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 12 | 13 | Pattern Search Point 14 | false 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/MessagesToSend/AutomationRequest_All.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 4 | 2 5 | 6 | 7 | 1 8 | 2 9 | 3 10 | 4 11 | 5 12 | 6 13 | 14 | |(.(p1 +(p3 p5)) .(p2 p4 p6)) 15 | 10 16 | false 17 | 18 | -------------------------------------------------------------------------------- /examples/99_Tasks/BlockadeTask/MessagesToSend/BlockadeTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 103 5 | 6 | 2 7 | 8 | 9 | 10 | 100 11 | 22 | 23 | -------------------------------------------------------------------------------- /3rd/PugiXML/meson.build: -------------------------------------------------------------------------------- 1 | project('PugiXML', 'cpp') 2 | 3 | os = target_machine.system() 4 | if os.startswith('linux') 5 | add_project_arguments('-DLINUX', language: ['c', 'cpp']) 6 | endif 7 | 8 | if meson.get_compiler('cpp').get_id() == 'msvc' 9 | cpp_args_pugixml = [ 10 | '/std:c++14', 11 | ] 12 | else 13 | cpp_args_pugixml = [ 14 | '-std=c++11', 15 | ] 16 | endif 17 | 18 | lib = static_library( 19 | 'pugixml', 20 | 'src/pugixml.cpp', 21 | cpp_args: cpp_args_pugixml, 22 | ) 23 | 24 | dep = declare_dependency( 25 | link_with: lib, 26 | include_directories: include_directories( 27 | 'src', 28 | ), 29 | ) 30 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/ext_logger/Makefile: -------------------------------------------------------------------------------- 1 | SRCFILES=main.cpp 2 | 3 | CC=g++ 4 | 5 | CFLAGS=-DLINUX -std=c++11 -Wall 6 | 7 | LDFLAGS=-static 8 | 9 | SRC=$(SRCFILES) 10 | 11 | LIBS=-L../../../build/src/LMCP 12 | LIBS+=-llmcp 13 | 14 | INCS=-I../../../src/LMCP 15 | 16 | OBJ=$(SRC:.cpp=.o) 17 | 18 | EXE=ext_logger 19 | 20 | RM=rm -f 21 | 22 | .PHONY: all 23 | .PHONY: clean 24 | .PHONY: invoker 25 | 26 | all: $(LIB) $(EXE) 27 | 28 | exe: $(EXE) 29 | 30 | %.o: %.cpp 31 | $(CC) $(CFLAGS) $(INCS) -o $@ -c $< 32 | 33 | $(EXE): $(OBJ) 34 | $(CC) $(OBJ) -o $@ $(LDFLAGS) $(LIBS) 35 | 36 | clean: 37 | -$(RM) $(OBJ) $(EXE) 38 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/MessagesToSend/EscortTask_Ahead_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 1 5 | 100 6 | 7 | 8 | 9 | AllAny 10 | 11 | 12 | 13 | 200 14 | 15 | 16 | 0 17 | 100 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/MessagesToSend/EscortTask_Behind_300.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 1 5 | 100 6 | 7 | 8 | 9 | AllAny 10 | 11 | 12 | 13 | 300 14 | 15 | 16 | 0 17 | 99 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CordonTask/MessagesToSend/CordonTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 30.4508 5 | -87.1894 6 | 0 7 | MSL 8 | 9 | 10 | 100 11 | 100 12 | 13 | 14 | 15 | 0 16 | 17 | 18 | 0 19 | true 20 | 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/MessagesToSend/RadioTowerConfiguration_V21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 30.529723268898915 7 | -87.20788664886517 8 | 0.0 9 | AGL 10 | 11 | 12 | 3000 13 | true 14 | 15 | 21 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/meson.build: -------------------------------------------------------------------------------- 1 | dep_gtest = dependency( 2 | 'gtest', 3 | fallback: ['gtest', 'dep'] 4 | ) 5 | 6 | deps_test = deps + [ 7 | dep_gtest 8 | ] 9 | 10 | cpp_args_test = cpp_args 11 | 12 | inc_test = [ 13 | include_directories( 14 | 'Test_Services', 15 | 'Test_Utilities', 16 | 'Test_Units', 17 | '../src/Utilities', 18 | '../src/Communications', 19 | '../src/Includes', 20 | '../src/Services', 21 | '../src/VisilibityLib', 22 | ), 23 | incs_lmcp, 24 | ] 25 | 26 | 27 | libs_test = libs 28 | link_args_test = link_args 29 | 30 | subdir('Test_Services') 31 | subdir('Test_Utilities') 32 | subdir('Test_Units') 33 | 34 | -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/MessagesToSend/ImpactLineSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 5 | false 6 | 7 | 8 | 1 9 | 0.5 10 | 100 11 | 12 | 13 | 14 | 0 15 | 16 | 17 | 0 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/WatchTask/MessagesToSend/WatchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 103 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 100 13 | 23 | 24 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option( 2 | 'force_dep_download', 3 | description: 'do not link os installed dependencies', 4 | type: 'boolean', 5 | value: false, 6 | ) 7 | option( 8 | 'afrl_internal', 9 | description: 'build with internal AFRL modules', 10 | type: 'boolean', 11 | value: false, 12 | ) 13 | option( 14 | 'geo_libs', 15 | description: 'build with extra ground height fidelity (requires gdal and GeographicLib)', 16 | type: 'boolean', 17 | value: false, 18 | ) 19 | option( 20 | 'video_steam_detector', 21 | description: 'include video stream detector service (requires additional libraries)', 22 | type: 'boolean', 23 | value: false, 24 | ) 25 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_BlockadeTask/MessagesToSend/BlockadeTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 103 5 | 6 | 2 7 | 8 | 9 | 10 | 100 11 | 22 | 23 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | dist: trusty 2 | 3 | matrix: 4 | include: 5 | - services: docker 6 | os: linux 7 | env: BUILD_FLAVOR=linux_docker 8 | sudo: required 9 | - os: linux 10 | env: BUILD_FLAVOR=linux_native 11 | sudo: false 12 | addons: 13 | apt: 14 | sources: 15 | - deadsnakes 16 | packages: 17 | - uuid-dev 18 | - libgtest-dev 19 | - ant 20 | - oracle-java8-set-default 21 | - python3.6 22 | - os: osx 23 | env: BUILD_FLAVOR=osx_native 24 | sudo: false 25 | 26 | language: cpp 27 | 28 | script: 29 | - bash ci/travis.sh 30 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/figures/WaterwaySearch_MessageFLow_Fig_assign.sd: -------------------------------------------------------------------------------- 1 | CI:Actor[pr] "CtrlInt" 2 | WM01:WaypointManager[pr] "WayMan" 3 | RA:RteAggregator[pr] "RteAg" 4 | PR:Planner[pr] "Plan" 5 | AS:Assign[pr] "Assign" 6 | PB:PlanBuilder[pr] "PlanBuild" 7 | TM:TaskMan[pr] "TaskMan" 8 | TK01:Task01[pr] "LineSearch" 9 | 10 | [c Assignment] 11 | CI:{TM,AS,TK01,RA,PB}.(6) AmtnRq& 12 | TK01:={RA,AS}.(7) TskPlnOpt& 13 | RA:=PR.(8) RtPlnRq(400)[co]& 14 | RA:=PR.(9) RtPlnRq(500)[co]& 15 | PR:=RA.(10) RtPlnRsp(400)[co]& 16 | PR:=RA.(11) RtPlnRsp(500)[co]& 17 | RA:AS.(12) AsgnCstMtrx& 18 | AS:PB.(13) TskAsgnSum& 19 | [/c] 20 | 21 | -------------------------------------------------------------------------------- /docker/06_RemoveSourceFilesInVolume.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from subprocess import call 5 | 6 | hostOpenUxAS_Dir = '{0}/..'.format(os.getcwd()) 7 | 8 | print("\n##### START removing source files #####\n") 9 | cmd = ('docker run --rm -d ' + 10 | '--name uxas_build -w="/UxASDev/OpenUxAS" ' + 11 | '--mount type=bind,source={0}/..,target="/UxASDev" '.format(hostOpenUxAS_Dir) + 12 | '--mount source=UxAS_Build_Vol,target="/tmp_build" ' + 13 | 'uxas/uxas-build:x86_64 ' + 14 | 'rm -rf /tmp_build/3rd /tmp_build/resources /tmp_build/src /tmp_build/tests /tmp_build/UxAS-afrl_internal' 15 | ) 16 | call(cmd,shell=True) 17 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactLineSearchTask/MessagesToSend/ImpactLineSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 5 | false 6 | 7 | 8 | 1 9 | 0.5 10 | 100 11 | 12 | 13 | 14 | 0 15 | 16 | 17 | 0 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/01_Test_HelloWorld/cfg_HelloWorld.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/DPSS/meson.build: -------------------------------------------------------------------------------- 1 | cpp_args_dpss = cpp_args 2 | 3 | if cpp.get_id() == 'msvc' 4 | cpp_args_dpss += [ 5 | '-DDPSS_STATIC', 6 | ] 7 | endif 8 | 9 | lib_dpss = static_library( 10 | 'dpss', 11 | [ 12 | 'CoordinateConversions.cpp', 13 | 'DRand.cpp', 14 | 'Dpss.cpp', 15 | 'DpssApi.cpp', 16 | 'DpssDataTypes.cpp', 17 | 'DpssUtilities.cpp', 18 | 'PlanOffset.cpp', 19 | 'PlanQuickly.cpp', 20 | 'PlanPrecisely.cpp', 21 | 'SegmentMap.cpp', 22 | 'SensorSteering.cpp', 23 | ], 24 | cpp_args: cpp_args_dpss, 25 | include_directories: include_directories( 26 | '../../src/Includes', 27 | '../../src/Utilities', 28 | ), 29 | ) 30 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/MessagesToSend/EscortTask_Ahead_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 1 5 | 100 6 | 7 | 8 | 9 | AllAny 10 | 11 | 12 | 13 | 200 14 | 15 | 16 | 0 17 | 100 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/MessagesToSend/EscortTask_Behind_300.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 1 5 | 100 6 | 7 | 8 | 9 | AllAny 10 | 11 | 12 | 13 | 300 14 | 15 | 16 | 0 17 | 99 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/CameraConfiguration_WavelengthEo_FovContinuous_PayloadID-10001.xml: -------------------------------------------------------------------------------- 1 | 2 | 10001 3 | 4 | 5 | EO 6 | Continuous 7 | 5.0 8 | 50.0 9 | 10 | 1024 11 | 768 12 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_WatchTask/MessagesToSend/WatchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 103 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 100 13 | 23 | 24 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/AngledAreaSearchTask_Id_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 124 3 | 30.0 4 | 5 | 6 | 0 7 | 0.0 8 | 24 9 | 10 | 11 | 0.0 12 | 13 | 0 14 | true 15 | 16 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_EscortTask/MessagesToSend/ImpactLineSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 5 | false 6 | 7 | 8 | 1 9 | 0.5 10 | 100 11 | 12 | 13 | 14 | 0 15 | 16 | 17 | 0 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_ImpactLineSearchTask/MessagesToSend/ImpactLineSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | 5 | false 6 | 7 | 8 | 1 9 | 0.5 10 | 100 11 | 12 | 13 | 14 | 0 15 | 16 | 17 | 0 18 | true 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/99_Tasks/WatchTask/runAMASE_WatchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/WatchTask/Scenario_WatchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /docker/VSCodeFiles/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": { 3 | "**/.git*": true, 4 | "**/.svn": true, 5 | "**/.hg": true, 6 | "**/CVS": true, 7 | "**/.DS_Store": true, 8 | "**/examples": false, 9 | "**/mdms": true, 10 | "**/build*": true, 11 | "**/doc*": true, 12 | "**/ci*": true, 13 | "**/3rd*": false, 14 | "**/tests*": false, 15 | "**/resources*": false, 16 | "**/meson*": false, 17 | "**/*.md": true, 18 | "**/.*": true, 19 | "**/*.txt": true, 20 | "**/*.py": true, 21 | "**/*.sh": true, 22 | "**/prepare": true, 23 | "**/rm-external": true, 24 | } 25 | } -------------------------------------------------------------------------------- /examples/99_Tasks/EscortTask/runAMASE_EscortTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/EscortTask/Scenario_EscortTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/LoiterTask/runAMASE_LoiterTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/LoiterTask/Scenario_LoiterTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/MustFlyTask/runAMASE_MustFlyTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/MustFlyTask/Scenario_MustFlyTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/AutomationRequest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1000 4 | 5 | 6 | 7 | 21 8 | 9 | 20 10 | 11 | 30 12 | 13 | 50 14 | 15 | 51 16 | 17 | 18 | 100 19 | true 20 | 21 | -------------------------------------------------------------------------------- /docker/04_Run_UxAS-Tests.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from pathlib import Path 5 | from subprocess import call 6 | 7 | uxasDir = Path(Path.cwd()).parent.name 8 | hostOpenUxAS_Dir = '{0}/..'.format(os.getcwd()) 9 | 10 | print("\n##### START uxas_build container #####\n") 11 | cmd = ('docker run -i --rm ' + 12 | '--name uxas_run_tests -w="/UxASDev/{0}" '.format(uxasDir) + 13 | '--mount type=bind,source={0}/..,target="/UxASDev" '.format(hostOpenUxAS_Dir) + 14 | '--mount source=UxAS_Build_Vol,target="/tmp_build" ' + 15 | 'uxas/uxas-build:x86_64 ' + 16 | '/usr/bin/python3 /UxASDev/{0}/docker/ContainerScriptsAndFiles/runUxAS_tests.py'.format(uxasDir)) 17 | call(cmd,shell=True) 18 | -------------------------------------------------------------------------------- /examples/99_Tasks/BlockadeTask/runAMASE_BlockadeTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/BlockadeTask/Scenario_BlockadeTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/runAMASE_CommRelayTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/CommRelayTask/Scenario_CommRelayTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/RendezvousTask/runAMASE_RendezvousTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/RendezvousTask/Scenario_RendezvousTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/PatternSearchTask_Id_37.xml: -------------------------------------------------------------------------------- 1 | 2 | 137 3 | 4 | Sector 5 | 500.0 6 | 7 | 0 8 | 0.0 9 | 37 10 | 11 | 12 | 0.0 13 | 14 | 0 15 | true 16 | 17 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiLineSearchTask/runAMASE_LineSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/CmasiLineSearchTask/Scenario_LineSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactLineSearchTask/runAMASE_LineSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/ImpactLineSearchTask/Scenario_LineSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/PatternSearchTask/runAMASE_PatternSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/PatternSearchTask/Scenario_PatternSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiPointSearchTask/runAMASE_PointSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/CmasiPointSearchTask/Scenario_PointSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/ImpactPointSearchTask/runAMASE_PointSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/ImpactPointSearchTask/Scenario_PointSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/MultiVehicleWatchTask/MessagesToSend/MultiVehicleWatchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 103 5 | 2 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 100 14 | 25 | 26 | -------------------------------------------------------------------------------- /src/DPSS/VehicleValue.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API VehicleValue 15 | { 16 | unsigned int vehicleId; 17 | double value; 18 | }; 19 | } -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/ImpactLineSearchTask_Id_30.xml: -------------------------------------------------------------------------------- 1 | 2 | 130 3 | 4 | true 5 | 6 | 0 7 | 0.0 8 | 30 9 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /examples/99_Tasks/AngledAreaSearchTask/runAMASE_AngledAreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/AngledAreaSearchTask/Scenario_AngledAreaSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/MultiVehicleWatchTask/runAMASE_MultiVehicleWatchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/MultiVehicleWatchTask/Scenario_MultiVehicleWatchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/PatternSearchTask/MessagesToSend/PatternSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1 5 | Spiral 6 | 0 7 | 8 | 9 | 10 | AllAny 11 | 12 | 0 13 | 0 14 | 15 | 16 | 100 17 | 18 | 0.0 19 | 20 | 0 21 | true 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/AssignmentCoordination_2000.xml: -------------------------------------------------------------------------------- 1 | 2 | 100000 3 | 4 | 5 | 1000 6 | 7 | 8 | 2500 9 | -22.7285171253276 10 | 150.644304882855 11 | MSL 12 | 13 | 14 | 0 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Circle/runAMASE_AreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/CmasiAreaSearchTask/Circle/Scenario_AreaSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Polygon/runAMASE_AreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/CmasiAreaSearchTask/Polygon/Scenario_AreaSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/AssignmentCoordination_3000.xml: -------------------------------------------------------------------------------- 1 | 2 | 100000 3 | 4 | 5 | 1000 6 | 7 | 8 | -22.7485171253276 9 | 150.644304882855 10 | 2500 11 | MSL 12 | 13 | 14 | 0 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Rectangle/runAMASE_AreaSearchTask.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import shutil 4 | import subprocess 5 | 6 | app = "java" 7 | scenarioPath = "../../OpenUxAS/examples/99_Tasks/CmasiAreaSearchTask/Rectangle/Scenario_AreaSearchTask.xml" 8 | runAmaseArgs = ["java", "-Xmx2048m", "-splash:./data/amase_splash.png", "-classpath", "./dist/*:./lib/*", "avtas.app.Application", "--config", "config/amase", "--scenario", scenarioPath] 9 | 10 | currentDir = os.path.dirname(os.path.realpath(__file__)) 11 | amaseRelativePath = os.path.join("..","..","..","..","..","OpenAMASE","OpenAMASE") 12 | amasePath = os.path.join(currentDir,amaseRelativePath) 13 | 14 | os.chdir(amasePath); 15 | 16 | subprocess.call(runAmaseArgs) 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/DPSS/VehicleGoToPoint.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API VehicleGoToPoint 15 | { 16 | unsigned short waypointNumber; 17 | int vehicleId; 18 | }; 19 | 20 | } -------------------------------------------------------------------------------- /examples/99_Tasks/MustFlyTask/MessagesToSend/MustFlyTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 30.525723268898915 7 | -87.20688664886517 8 | 0.0 9 | MSL 10 | 11 | 12 | false 13 | 14 | 100 15 | 24 | 25 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_MultiVehicleWatchTask/MessagesToSend/MultiVehicleWatchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 103 5 | 2 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 100 14 | 25 | 26 | -------------------------------------------------------------------------------- /3rd/serial-1.2.1/meson.build: -------------------------------------------------------------------------------- 1 | project('serial', 'cpp') 2 | 3 | os = target_machine.system() 4 | if os == 'linux' 5 | add_project_arguments('-DLINUX', language: ['c', 'cpp']) 6 | endif 7 | 8 | if meson.get_compiler('cpp').get_id() == 'msvc' 9 | cpp_args_serial = [ 10 | '/std:c++14', 11 | ] 12 | else 13 | cpp_args_serial = [ 14 | '-std=c++11', 15 | ] 16 | endif 17 | 18 | lib = static_library( 19 | 'serial', 20 | [ 21 | 'src/impl/unix.cc', 22 | 'src/impl/win.cc', 23 | 'src/serial.cc' 24 | ], 25 | cpp_args: cpp_args_serial, 26 | include_directories: include_directories( 27 | 'include', 28 | ), 29 | ) 30 | 31 | dep = declare_dependency( 32 | link_with: lib, 33 | include_directories: include_directories( 34 | 'include', 35 | ), 36 | ) 37 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/AreaOfInterest_Id_126.xml: -------------------------------------------------------------------------------- 1 | 2 | 126 3 | 4 | 5 | 6 | 7 | 25.327030961247587 8 | -80.46205425610944 9 | 0.0 10 | MSL 11 | 12 | 13 | 926.22406 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_PatternSearchTask/MessagesToSend/PatternSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1 5 | Spiral 6 | 0 7 | 8 | 9 | 10 | AllAny 11 | 12 | 0 13 | 0 14 | 15 | 16 | 100 17 | 18 | 0.0 19 | 20 | 0 21 | true 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/AutomationRequest_BadTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1000 4 | 5 | 6 | 7 | 10 8 | 9 | 21 10 | 11 | 20 12 | 13 | 30 14 | 15 | 50 16 | 17 | 51 18 | 19 | 20 | 100 21 | true 22 | 23 | -------------------------------------------------------------------------------- /examples/01_HelloWorld/runUxAS_HelloWorld_Docker.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | import os 3 | from subprocess import call 4 | import platform 5 | 6 | containerName = 'uxas_helloworld' 7 | cfgFile = 'cfg_HelloWorld.xml' 8 | 9 | osType = platform.system() 10 | print('** osType[{}] **'.format(osType)) 11 | if osType =='Linux': 12 | pass 13 | elif osType =='Darwin': 14 | pass 15 | elif osType =='Windows': 16 | pass 17 | 18 | print('\n** Starting Container[{0}] **\n'.format(containerName)) 19 | cmd = 'docker run -i --rm --name {0} -w="/working" --mount type=bind,source={1},target="/working" uxas/uxas-deploy:x86_64 -cfgPath {2}'.format(containerName,os.getcwd(),cfgFile) 20 | call(cmd,shell=True) 21 | print('\n** Container[{0}] Stopped and Removed **'.format(containerName)) 22 | 23 | 24 | -------------------------------------------------------------------------------- /examples/02_Example_WaterwaySearch/runHeadless.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | here=$PWD; 4 | 5 | RM_DATAWORK="rm -R ./datawork" 6 | RM_LOG="rm -R ./log" 7 | 8 | BIN="../../../build/uxas" 9 | 10 | echo "Cleaning RUNDIR ..." 11 | mkdir -p RUNDIR_WaterwaySearch 12 | cd RUNDIR_WaterwaySearch 13 | $RM_DATAWORK 14 | $RM_LOG 15 | 16 | echo "Starting UxAS ..." 17 | mkdir -p log 18 | $BIN -runUntil 43 -cfgPath ../cfg_WaterwaySearch.xml > log/consoleout.txt & 19 | cd "$here"; 20 | 21 | sleep 3 22 | 23 | echo "Starting AMASE ..." 24 | cd ../../../OpenAMASE/OpenAMASE; 25 | java -Xmx2048m -classpath ./dist/*:./lib/* avtas.app.Application --config config/amase_headless --sim_rate 20.0 --scenario "../../OpenUxAS/examples/02_Example_WaterwaySearch/Scenario_WaterwaySearch.xml"; 26 | cd "$here"; 27 | 28 | echo "Completed." 29 | 30 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_MustFlyTask/MessagesToSend/MustFlyTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 30.525723268898915 7 | -87.20688664886517 8 | 0.0 9 | MSL 10 | 11 | 12 | false 13 | 14 | 100 15 | 24 | 25 | -------------------------------------------------------------------------------- /src/DPSS/VehiclePoint.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API VehiclePoint 15 | { 16 | int vehicleId; 17 | double latitudeInRadians; 18 | double longitudeInRadians; 19 | double altitudeInMeters; 20 | }; 21 | } -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_WaterwaySearch/messages/22.VehicleActionCommand.400: -------------------------------------------------------------------------------- 1 | 2 | 0 3 | 400 4 | 5 | 6 | 7 | 8 | 45.310124047208 9 | -121.007811962157 10 | 0 11 | MSL 12 | 13 | 14 | 0 15 | 1 16 | 17 | 1000 18 | 19 | 20 | 21 | Pending 22 | 23 | -------------------------------------------------------------------------------- /examples/99_Tasks/BlockadeTask/MessagesToSend/PointSearchTask_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 0.0 12 | 13 | 14 | 0 15 | 0.0 16 | 200 17 | 24 | 25 | -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/MessagesToSend/PointSearchTask_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 0.0 12 | 13 | 14 | 0 15 | 0.0 16 | 200 17 | 24 | 25 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiPointSearchTask/MessagesToSend/PointSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 0.0 12 | 13 | 14 | 0 15 | 0.0 16 | 100 17 | 24 | 25 | -------------------------------------------------------------------------------- /tests/Test_Services/CommonFilesImpactPlays/0025_lmcp_IMPACT_RadioTowerConfiguration_48.255443.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 30.471585 5 | -87.181458 6 | 200 7 | MSL 8 | 9 | 10 | 2500 11 | true 12 | 21 13 | Unknown 14 | 15 | 16 | 0 17 | 0 18 | AGL 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /docker/ContainerScriptsAndFiles/Dockerfile_uxas-deploy: -------------------------------------------------------------------------------- 1 | FROM uxas/uxas-build:x86_64 as intermediate 2 | 3 | USER root 4 | WORKDIR /UxAS 5 | 6 | COPY ./ContainerScriptsAndFiles/getDependencies.sh /UxAS/Installation/ 7 | COPY ./tmp/uxas /UxAS/Installation/ 8 | 9 | 10 | RUN cd /UxAS/Installation/ \ 11 | && tr -d '\15\32' < getDependencies.sh > getDependencies01.sh \ 12 | && mv getDependencies01.sh getDependencies.sh \ 13 | && chmod +x getDependencies.sh \ 14 | && ./getDependencies.sh uxas /UxAS/Installation/RunTimeFiles 15 | 16 | FROM scratch 17 | COPY --from=intermediate /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 / 18 | COPY --from=intermediate /UxAS/Installation/RunTimeFiles / 19 | ENV LD_LIBRARY_PATH=/usr/local/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib64 20 | ENV PATH=/ 21 | ENTRYPOINT ["uxas"] 22 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/GimbalConfiguration_ClampedTrue_PayloadID-1001.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -160.0 4 | 160.0 5 | true 6 | -130.0 7 | 40.0 8 | true 9 | -90.0 10 | 90.0 11 | true 12 | 30.0 13 | 30.0 14 | 30.0 15 | 16 | 1001 17 | 18 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/GimbalConfiguration_ClampedFalse_PayloadID-1001.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -180.0 4 | 180.0 5 | false 6 | -180.0 7 | 180.0 8 | false 9 | -180.0 10 | 180.0 11 | false 12 | 30.0 13 | 30.0 14 | 30.0 15 | 16 | 1001 17 | 18 | -------------------------------------------------------------------------------- /src/DPSS/DpssWaypoint.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API DpssWaypoint 15 | { 16 | unsigned short waypointNumber; 17 | double latitudeInRadians; 18 | double longitudeInRadians; 19 | double altitudeInMeters; 20 | } ; 21 | 22 | } -------------------------------------------------------------------------------- /tests/Test_Utilities/EligibleEntitiesTests/MessagesToSend/ImpactLineSearchTask_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | false 6 | 7 | 21 8 | 9 | 10 | 1000 11 | 12 | 0 13 | 14 | 0 15 | true 16 | 17 | AllAny 18 | 0 19 | 152.399993896484 20 | 21 | 22 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_BlockadeTask/MessagesToSend/PointSearchTask_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 0.0 12 | 13 | 14 | 0 15 | 0.0 16 | 200 17 | 24 | 25 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/MessagesToSend/PointSearchTask_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 25.533507526969014 5 | -80.85624126824806 6 | 0.0 7 | MSL 8 | 9 | 10 | 0.0 11 | 12 | 13 | 0 14 | 0.0 15 | 1 16 | 23 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/MessagesToSend/PointSearchTask_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 25.330369830330564 5 | -80.54224359715526 6 | 0.0 7 | MSL 8 | 9 | 10 | 0.0 11 | 12 | 13 | 0 14 | 0.0 15 | 2 16 | 23 | -------------------------------------------------------------------------------- /examples/99_Tasks/AngledAreaSearchTask/MessagesToSend/AngledAreaSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 0 4 | 5 | 6 | 30.3575 7 | -87.1466 8 | 0 9 | MSL 10 | 11 | 12 | 13 | 14 | 0 15 | 0.5 16 | 100 17 | 26 | 27 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiPointSearchTask/MessagesToSend/PointSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 30.525723268898915 6 | -87.20688664886517 7 | 0.0 8 | MSL 9 | 10 | 11 | 0.0 12 | 13 | 14 | 0 15 | 0.0 16 | 100 17 | 24 | 25 | -------------------------------------------------------------------------------- /resources/AutomationDiagramDataService/PythonToC++SourceForPrintout.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | def Convert(baseFile): 4 | pythonFile = baseFile + '.py' 5 | cppFile = open(baseFile + '.code','w') 6 | with open(pythonFile) as pFile: 7 | for line in pFile: 8 | replaceLine = line.replace('\n','') 9 | replaceLine = replaceLine.replace('\"','\'') 10 | replaceLine = replaceLine.replace('\t','\\t') 11 | replaceLine = replaceLine.replace('\\d+','\\\\d+') 12 | 13 | newLine = 'file << \"' + replaceLine + '\" << std::endl;\n' 14 | cppFile.write(newLine) 15 | cppFile.close() 16 | 17 | def main(): 18 | 19 | Convert('PlotAutomationDiagram') 20 | Convert('ProcessTasks') 21 | Convert('ProcessUniqueAutomationResponse') 22 | Convert('ProcessEntityStates') 23 | Convert('ProcessZones') 24 | 25 | if __name__ == '__main__': 26 | main() 27 | -------------------------------------------------------------------------------- /src/DPSS/DRand.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include 12 | 13 | // return a uniformly distributed random value in (0,1) 14 | double randu(); 15 | 16 | // return a zero-mean normally distributed random value with variance 1 17 | double randn(); 18 | 19 | // returns mean 1 exponentially distributed random variable 20 | double rande(); 21 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/AreaOfInterest_Id_125.xml: -------------------------------------------------------------------------------- 1 | 2 | 125 3 | 4 | 5 | 6 | 7 | 25.23733953451899 8 | -80.56869848012519 9 | 0.0 10 | MSL 11 | 12 | 13 | 1566.6202 14 | 1322.2699 15 | 0.0 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Communications/AddressedAttributedMessage.cpp: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #include "AddressedAttributedMessage.h" 11 | 12 | namespace uxas 13 | { 14 | namespace communications 15 | { 16 | namespace data 17 | { 18 | 19 | std::string AddressedAttributedMessage::s_emptyString{""}; 20 | 21 | }; //namespace data 22 | }; //namespace communications 23 | }; //namespace uxas 24 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_AngledAreaSearchTask/MessagesToSend/AngledAreaSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 0 4 | 5 | 6 | 30.3575 7 | -87.1466 8 | 0 9 | MSL 10 | 11 | 12 | 13 | 14 | 0 15 | 0.5 16 | 100 17 | 26 | 27 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/MessagesToSend/ImpactLineSearchTask_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | false 6 | 7 | 21 8 | 9 | 10 | 1000 11 | 2000 12 | 3000 13 | 14 | 0 15 | 16 | 0 17 | true 18 | 19 | AllAny 20 | 0 21 | 152.399993896484 22 | 23 | 24 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/ImpactLineSearchTask_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | false 6 | 7 | 21 8 | 9 | 10 | 1000 11 | 2000 12 | 3000 13 | 14 | 0 15 | 16 | 0 17 | true 18 | 19 | AllAny 20 | 0 21 | 152.399993896484 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/DPSS/DpssDefs.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | 12 | #ifndef _WIN32 13 | #define DPSS_API 14 | 15 | #else//_WIN32 16 | #ifndef DPSS_STATIC 17 | #ifdef DPSS_EXPORTS 18 | #define DPSS_API __declspec(dllexport) 19 | #else 20 | #define DPSS_API __declspec(dllimport) 21 | #endif//DPSS_EXPORTS 22 | #else 23 | #define DPSS_API 24 | #endif//DPSS_STATIC 25 | #endif//_WIN32 26 | -------------------------------------------------------------------------------- /3rd/TinyGPS/meson.build: -------------------------------------------------------------------------------- 1 | project('TinyGPS', 'cpp') 2 | 3 | os = target_machine.system() 4 | if os.startswith('linux') 5 | add_project_arguments('-DLINUX', language: ['c', 'cpp']) 6 | endif 7 | 8 | if meson.get_compiler('cpp').get_id() == 'msvc' 9 | cpp_args_tinygps = [ 10 | '/std:c++14', 11 | ] 12 | else 13 | cpp_args_tinygps = [ 14 | '-std=c++11', 15 | ] 16 | endif 17 | 18 | dep_boost = dependency( 19 | 'boost', 20 | modules: ['date_time'], 21 | fallback: ['boost', 'dep'], 22 | ) 23 | 24 | lib = static_library( 25 | 'tinygps', 26 | 'TinyGPS.cpp', 27 | cpp_args: cpp_args_tinygps, 28 | dependencies: dep_boost, 29 | include_directories: include_directories( 30 | '../../src/Includes', 31 | '../../src/Utilities', 32 | ), 33 | ) 34 | 35 | dep = declare_dependency( 36 | link_with: lib, 37 | include_directories: include_directories( 38 | '.', 39 | ), 40 | ) 41 | -------------------------------------------------------------------------------- /ci/travis_osx.sh: -------------------------------------------------------------------------------- 1 | mkdir -p ~/.local/bin 2 | export PATH=~/.local/bin:$PATH 3 | 4 | # Homebrew deps for Mac 5 | brew bundle --file=./.Brewfile 6 | export BOOST_ROOT=/usr/local 7 | 8 | # install verion of Meson that is compatible with UxAS build 9 | curl -L -s https://github.com/mesonbuild/meson/archive/0.45.0.zip -o meson.zip 10 | unzip -q meson.zip 11 | export PATH=~/Library/Python/3.6/bin:$PATH 12 | pushd meson-0.45.0; python3 setup.py install; popd; 13 | meson --version 14 | 15 | # clone, build, and run LmcpGen 16 | git clone https://github.com/afrl-rq/LmcpGen.git ../LmcpGen 17 | pushd ../LmcpGen; ant jar; popd 18 | sh RunLmcpGen.sh 19 | 20 | # process the wraps and their patches 21 | ./prepare 22 | 23 | # build with -j2; Travis has 2 "cores" 24 | meson build 25 | ninja -C build -j2 26 | # run test suite with *2 timeout multiplier, because Travis can be slow 27 | meson test --print-errorlogs -C build -t 2 28 | -------------------------------------------------------------------------------- /tests/Test_Services/ImpactPlayAirExpandSqPointTest01/datain/1238_lmcp_IMPACT_PatternSearchTask_53.237531.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 3 | 4 | 5 | 0 6 | 0 7 | 0 8 | MSL 9 | 10 | 11 | Spiral 12 | 2000 13 | 14 | 15 | 0 16 | 0 17 | 1111 18 | 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | true 26 | 27 | 28 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/messages/03.ImpactLineSearchTask.21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | false 6 | 7 | 21 8 | 9 | 10 | 1000 11 | 1001 12 | 1002 13 | 14 | 0 15 | 16 | 0 17 | true 18 | 19 | AllAny 20 | 0 21 | 152.399993896484 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/DPSS/DpssLoiterPoint.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API DpssLoiterPoint 15 | { 16 | unsigned int waypointId; 17 | double latitudeInRadians; 18 | double longitudeInRadians; 19 | double altitudeInMeters; 20 | double loiterTimeInSeconds; 21 | double loiterRadiusInMeters; 22 | } ; 23 | 24 | } -------------------------------------------------------------------------------- /examples/99_Tasks/CommRelayTask/MessagesToSend/CommRelayTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 101 5 | 6 | 7 | 30.525723268898915 8 | -87.20688664886517 9 | 0.0 10 | MSL 11 | 12 | 13 | 21 14 | 15 | 16 | 100 17 | 27 | 28 | -------------------------------------------------------------------------------- /src/DPSS/DpssState.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API DpssState 15 | { 16 | unsigned int sensorPathChanged; 17 | unsigned int planChanged; 18 | unsigned int nominalGroundSpeedChanged; 19 | unsigned int maxCommRangeChanged; 20 | unsigned int vehiclesChanged; 21 | unsigned int updateRateChanged; 22 | }; 23 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build directories 2 | build 3 | build_debug 4 | build_odroid 5 | build_open 6 | 7 | # afrl internal directories 8 | UxAS-afrl_internal 9 | 10 | # generated documentation 11 | doc/LMCP 12 | doc/doxygen/html 13 | doc/doxygen/latex 14 | doc/reference/UserManual/UxAS_UserManual.aux 15 | doc/reference/UserManual/UxAS_UserManual.lof 16 | doc/reference/UserManual/UxAS_UserManual.log 17 | doc/reference/UserManual/UxAS_UserManual.out 18 | doc/reference/UserManual/UxAS_UserManual.pdf 19 | doc/reference/UserManual/UxAS_UserManual.toc 20 | 21 | # generated LMCP source code 22 | src/LMCP 23 | 24 | # test output 25 | tests/**/output/** 26 | 27 | # example output 28 | examples/**/log/** 29 | examples/**/datawork/** 30 | 31 | # Mac OS X file system 32 | **.DS_Store 33 | /UxAS-afrl_internal/ 34 | 35 | # Visual Studio 36 | /.vs 37 | /regen-temp 38 | .vscode/c_cpp_properties.json 39 | .vscode/launch.json 40 | .vscode/settings.json 41 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Circle/MessagesToSend/AreaSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 30.494586985042933 8 | -87.13374913217626 9 | 0.0 10 | MSL 11 | 12 | 13 | 2000.00 14 | 15 | 16 | 17 | 18 | 0 19 | 0.0 20 | 100 21 | 28 | 29 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/ImpactLineSearchTask_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 101 4 | 5 | false 6 | 7 | 21 8 | 9 | 10 | 1000 11 | 1001 12 | 1002 13 | 14 | 0 15 | 16 | 0 17 | true 18 | 19 | AllAny 20 | 0 21 | 152.399993896484 22 | 23 | 24 | -------------------------------------------------------------------------------- /examples/07_PythonWithAmase/MessageLibrary/CameraConfiguration_WavelengthAnyAll_FovDiscrete_PayloadID-10001.xml: -------------------------------------------------------------------------------- 1 | 2 | 10001 3 | 4 | 5 | AllAny 6 | Discrete 7 | 0.11 8 | 45.0 9 | 10 | 45.0 11 | 22.0 12 | 7.6 13 | 3.7 14 | 0.63 15 | 0.11 16 | 17 | 1024 18 | 768 19 | -------------------------------------------------------------------------------- /docker/00a_README_QuickStart.md: -------------------------------------------------------------------------------- 1 | # UxAS/ Docker Quickstart 2 | 3 | * Updated - `7/16/2018` 4 | 5 | ## Prerequisites 6 | 7 | * `Docker` - [https://docs.docker.com](https://docs.docker.com) 8 | 9 | * `Python` 10 | 11 | * `Internet Connection` 12 | 13 | ## Before Building UxAS 14 | 15 | LmcpGen must be cloned into the same directory as this repository 16 | (OpenUxAS). OpenAMASE can also be cloned as a sibling of OpenUxAS and 17 | LmcpGen, but is optional. The directory structure should look like this: 18 | 19 | ``` 20 | | 21 | |- `LmcpGen/` 22 | |- `OpenAMASE/` (optional) 23 | |- `OpenUxAS/` 24 | 25 | ## Build and Run UxAS 26 | 27 | 1) `prepare` the `3rd` libraries, build and run LMCPGen: 28 | `python 01_PrepareAndBuildLmcp.py` 29 | 2) build UxAS and construct the `uxas-deploy` image: 30 | `python 02_BuildDeploy_UxAS.py` 31 | 3) the directory `03_test` contains a script and configuration file to test run the containerized UxAS 32 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/PointSearchTask_Id_32.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 25.311507401848488 5 | -80.45183768569947 6 | 0.0 7 | MSL 8 | 9 | 10 | 0.0 11 | 12 | 13 | 0 14 | 0.0 15 | 32 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiAreaSearchTask/MessagesToSend/CircleAreaSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 30.494586985042933 8 | -87.13374913217626 9 | 0.0 10 | MSL 11 | 12 | 13 | 2000.00 14 | 15 | 16 | 17 | 18 | 0 19 | 0.0 20 | 100 21 | 28 | 29 | -------------------------------------------------------------------------------- /examples/03_Example_DistributedCooperation/MessagesToSend/AngledAreaSearchTask_51.xml: -------------------------------------------------------------------------------- 1 | 2 | 51 3 | 4 | 5 | 1000 6 | 2000 7 | 3000 8 | 9 | 100 10 | 45 11 | 12 | 13 | -22.70 14 | 150.64 15 | 16 | 17 | 18 | 0 19 | 20 | 0 21 | true 22 | 23 | EO 24 | 0 25 | 5.0 26 | 27 | 28 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/AngledAreaSearchTask_51.xml: -------------------------------------------------------------------------------- 1 | 2 | 51 3 | 4 | 5 | 1000 6 | 2000 7 | 3000 8 | 9 | 100 10 | 45 11 | 12 | 13 | -22.70 14 | 150.64 15 | 16 | 17 | 18 | 0 19 | 20 | 0 21 | true 22 | 23 | EO 24 | 0 25 | 5.0 26 | 27 | 28 | -------------------------------------------------------------------------------- /tests/Test_Utilities/Functional_Utilities/meson.build: -------------------------------------------------------------------------------- 1 | #srcs_functional_utilities = [ 2 | #] 3 | 4 | #incs_functional_utilities = [ 5 | # include_directories( 6 | # '../../../src/Utilities', 7 | # '../../../resources/AutomationDiagramDataService', 8 | # '../../../src/Communications', 9 | # '../../../src/Includes', 10 | # '../../../src/Services', 11 | # '../../../src/VisilibityLib', 12 | # '../../../src/Plans', 13 | # '../../../src/DPSS', 14 | # '../../../src/Tasks', 15 | # ), 16 | # incs_lmcp, 17 | #] 18 | 19 | #deps_functional_tests = [ 20 | # dep_boost, 21 | # dep_cppzmq, 22 | # dep_pugixml, 23 | # dep_sqlite3, 24 | # dep_sqlitecpp, 25 | # dep_zeromq, 26 | # dep_gtest, 27 | #] 28 | 29 | #lib_functional_tests = static_library( 30 | # 'funcitonal_test_utilities', 31 | # srcs_functional_utilities, 32 | # dependencies: deps_functional_tests, 33 | # cpp_args: cpp_args, 34 | # include_directories: incs_functional_utilities, 35 | #) 36 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/MessagesToSend/AreaSearchTask_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 25.377082929346578 7 | -80.83489701568129 8 | 0.0 9 | MSL 10 | 11 | 12 | 3374.1794 13 | 14 | 15 | 16 | 17 | 0 18 | 0.0 19 | 6 20 | -------------------------------------------------------------------------------- /doc/reference/UserManual/Examples/doc_DistributedCooperation/messages/03.AngledAreaSearchTask.51.xml: -------------------------------------------------------------------------------- 1 | 2 | 51 3 | 4 | 5 | 1000 6 | 1001 7 | 1002 8 | 9 | 100 10 | 45 11 | 12 | 13 | -22.70 14 | 150.64 15 | 16 | 17 | 18 | 0 19 | 20 | 0 21 | true 22 | 23 | EO 24 | 0 25 | 5.0 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/Includes/stdUniquePtr.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #ifndef UXAS_STDUXAS_H 11 | #define UXAS_STDUXAS_H 12 | 13 | #include 14 | 15 | namespace uxas 16 | { 17 | namespace stduxas 18 | { 19 | template 20 | std::unique_ptr make_unique(Args&&... args) 21 | { 22 | return std::unique_ptr(new T(std::forward(args)...)); 23 | } 24 | }; //namespace stduxas 25 | }; //namespace uxas 26 | 27 | #endif /* UXAS_STDUXAS_H */ 28 | -------------------------------------------------------------------------------- /docker/01_PrepareAndBuildLmcp.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import os 4 | from pathlib import Path 5 | from subprocess import call 6 | 7 | docker_Dir = Path(Path.cwd()).parent.name 8 | hostOpenUxAS_Dir = '{0}/..'.format(os.getcwd()) 9 | 10 | print("\n##### START uxas_build container #####\n") 11 | cmd = ('docker run -i --rm -d ' + 12 | '--name uxas_build ' + 13 | '--mount type=bind,source={0}/..,target="/UxASDev" '.format(hostOpenUxAS_Dir) + 14 | '--mount source=UxAS_Build_Vol,target="/tmp_build" ' + 15 | '-w="/UxASDev/{}" '.format(docker_Dir) + 16 | 'uxas/uxas-build:x86_64 ') 17 | call(cmd,shell=True) 18 | 19 | cmd = "docker exec -i uxas_build bash -c _UXAS_DIR={0}/".format(docker_Dir) 20 | call(cmd,shell=True) 21 | cmd = 'docker exec -i uxas_build /usr/bin/python3 /UxASDev/{0}/docker/ContainerScriptsAndFiles/runPrepare_RunLmcpGen.py {0}'.format(docker_Dir) 22 | call(cmd,shell=True) 23 | 24 | cmd = 'docker kill uxas_build' 25 | call(cmd,shell=True) 26 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_RendezvousTask/MessagesToSend/RendezvousTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 6 | 7 | 30.525723268898915 8 | -87.20688664886517 9 | 0.0 10 | MSL 11 | 12 | 13 | 14 | 0 15 | false 16 | 17 | 18 | 100 19 | 30 | 31 | -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/03_Test_Example_DistributedCooperation/MessagesToSend/AngledAreaSearchTask_51.xml: -------------------------------------------------------------------------------- 1 | 2 | 51 3 | 4 | 5 | 1000 6 | 1001 7 | 1002 8 | 9 | 100 10 | 45 11 | 12 | 13 | -22.70 14 | 150.64 15 | 16 | 17 | 18 | 0 19 | 20 | 0 21 | true 22 | 23 | EO 24 | 0 25 | 5.0 26 | 27 | 28 | -------------------------------------------------------------------------------- /ci/travis_linux.sh: -------------------------------------------------------------------------------- 1 | mkdir -p ~/.local/bin 2 | export PATH=~/.local/bin:$PATH 3 | 4 | # install verion of Meson that is compatible with UxAS build 5 | curl -L -s https://github.com/mesonbuild/meson/archive/0.45.0.zip -o meson.zip 6 | unzip -q meson.zip 7 | pushd meson-0.45.0; python3.6 setup.py install --user; popd 8 | meson --version 9 | 10 | # download newer Ninja than is packaged in repos 11 | curl -L -s https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip -o ninja.zip 12 | unzip -q ninja.zip 13 | mv ninja ~/.local/bin 14 | ninja --version 15 | 16 | # clone, build, and run LmcpGen 17 | git clone https://github.com/afrl-rq/LmcpGen.git ../LmcpGen 18 | pushd ../LmcpGen; ant jar; popd 19 | sh RunLmcpGen.sh 20 | 21 | # process the wraps and their patches 22 | ./prepare 23 | 24 | # build with -j2; Travis has 2 "cores" 25 | meson build 26 | ninja -C build -j2 27 | # run test suite with *2 timeout multiplier, because Travis can be slow 28 | meson test --print-errorlogs -C build -t 2 29 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/AutomationRequest_a.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 3 4 | 4 5 | 5 6 | 6 7 | 8 | 9 | 21 10 | 22 11 | 23 12 | 24 13 | 25 14 | 26 15 | 27 16 | 28 17 | 29 18 | 30 19 | 31 20 | 32 21 | 33 22 | 34 23 | 35 24 | 36 25 | 37 26 | 38 27 | 39 28 | 40 29 | 30 | 31 | 17 32 | false 33 | 34 | 35 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/ImpactPointSearchTask_Id_33.xml: -------------------------------------------------------------------------------- 1 | 2 | 133 3 | 4 | 0.0 5 | 6 | 7 | 0 8 | 0.0 9 | 33 10 | 11 | 12 | 0.0 13 | 14 | 0 15 | true 16 | 17 | 18 | 19 | 25.329151760019545 20 | -80.52222036521432 21 | 0.0 22 | MSL 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /examples/99_Tasks/CmasiAreaSearchTask/Rectangle/MessagesToSend/AreaSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 30.515660933262527 8 | -87.16525113484647 9 | 0.0 10 | MSL 11 | 12 | 13 | 7654.3354 14 | 2064.247 15 | 0.0 16 | 17 | 18 | 19 | 20 | 0 21 | 0.0 22 | 100 23 | 30 | 31 | -------------------------------------------------------------------------------- /examples/05_AssignTasks/MessagesToSend/KeepInZone_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 3 | 0.0 4 | AGL 5 | 5000.0 6 | MSL 7 | 8 | 0 9 | 0 10 | 0.0 11 | -------------------------------------------------------------------------------- /examples/06_AutomationDiagram/MessagesToSend/AngledAreaSearchTask_Id_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 125 3 | 70.0 4 | 5 | 6 | 25.24966464365606 7 | -80.58218715788415 8 | 0.0 9 | MSL 10 | 11 | 12 | 13 | 0 14 | 0.2 15 | 25 16 | 17 | 18 | 0.0 19 | 20 | 0 21 | true 22 | 23 | -------------------------------------------------------------------------------- /src/DPSS/ObjectiveParameters.h: -------------------------------------------------------------------------------- 1 | // =============================================================================== 2 | // Authors: AFRL/RQQA 3 | // Organization: Air Force Research Laboratory, Aerospace Systems Directorate, Power and Control Division 4 | // 5 | // Copyright (c) 2017 Government of the United State of America, as represented by 6 | // the Secretary of the Air Force. No copyright is claimed in the United States under 7 | // Title 17, U.S. Code. All Other Rights Reserved. 8 | // =============================================================================== 9 | 10 | #pragma once 11 | #include "DpssDefs.h" 12 | extern "C" 13 | { 14 | struct DPSS_API ObjectiveParameters 15 | { 16 | unsigned int sameSide; 17 | double nominalAzimuthInRadians; 18 | double nominalElevationInRadians; 19 | double lreLatitudeInRadians; 20 | double lreLongitudeInRadians; 21 | double nearWaypointThresholdDistanceInMeters; 22 | double reverseManeuverDistanceInMeters; 23 | double rendezvousDistanceInMeters; 24 | }; 25 | 26 | } -------------------------------------------------------------------------------- /tests/Test_Services/00_ExampleTests/99_Test_Tasks/Test_CmasiAreaSearchTask/MessagesToSend/RectangleAreaSearchTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 30.515660933262527 8 | -87.16525113484647 9 | 0.0 10 | MSL 11 | 12 | 13 | 7654.3354 14 | 2064.247 15 | 0.0 16 | 17 | 18 | 19 | 20 | 0 21 | 0.0 22 | 100 23 | 30 | 31 | -------------------------------------------------------------------------------- /tests/Test_Utilities/AutomationRequestTests/MessagesToSend/BadPointSearchTask_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 5 | -22.712 6 | 150.64 7 | 8 | 9 | 10 | 3000 11 | 12 | 13 | 14 | 15 | 16 | 180.0 17 | 18 | 19 | 20 | AllAny 21 | 22 | 5 23 | 152.399993896484 24 | 10 25 | 26 | 0 27 | 28 | 29 | 0 30 | true 31 | 32 | 33 | -------------------------------------------------------------------------------- /examples/99_Tasks/LoiterTask/MessagesToSend/LoiterTask_100.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 100 4 | 33 | 34 | -------------------------------------------------------------------------------- /src/Utilities/UxAS_ZeroMQ.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: UxAS_ZeroMQ.h 3 | * Author: steve 4 | * 5 | * Created on December 13, 2013, 9:04 PM 6 | */ 7 | 8 | #ifndef UXAS_ZERO_MQ_H 9 | #define UXAS_ZERO_MQ_H 10 | 11 | #include "zmq.hpp" 12 | 13 | namespace n_ZMQ 14 | { 15 | 16 | //TAKEN FROM zhelpers.cpp 17 | 18 | // Receive 0MQ string from socket and convert into string 19 | std::string 20 | s_recv(zmq::socket_t & socket); 21 | 22 | // Receive 0MQ string from socket save to a buffer 23 | size_t 24 | s_recv(zmq::socket_t & socket, void *buf_, size_t len_, int flags_ = 0); 25 | 26 | // Convert string to 0MQ string and send to socket 27 | bool 28 | s_send(zmq::socket_t & socket, const std::string & string); 29 | 30 | // Sends string as 0MQ string, as multipart non-terminal 31 | bool 32 | s_sendmore(zmq::socket_t & socket, const std::string & string); 33 | 34 | // Sleep for a number of milliseconds 35 | void 36 | s_sleep(int msecs); 37 | 38 | } //namespace n_ZMQ 39 | 40 | #endif /* UXAS_ZERO_MQ_H */ 41 | --------------------------------------------------------------------------------