You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Menge has been architected, from a very early point in its development, with a configuration-file-centric apporach. Work has been done to make it extensible and streamline the work required to add dynamically defined elements to the XML specification. And it works, but it has done so at the cost of actually building a simulation directly.
This code attempted to recreate the core/headon.xml programmatically. It illustrates many of the issues outlined below.
Items to track
This is a list of observations of pain points that need to be alleviated to better facilitate the workflow.
Simulator owns an FSM, but doesn't instantiate automatically.
Various important components (e.g., States, Transitions, and probably others) are not exported in the shared library. They need to be.
The only way to add an agent to a simulator is via position vector + AgentInitializer. It lacks the very simple "I've created an agent, please take ownership" API.
The values of the AgentInitializer can only be set via parsing XML.
Although the SimulatorBase ultimately owns an FSM, finalizing is a painful, external process. (Initializing agents in the FSM + finalize sim + finalize FSM.)
Ownership of objects is ill-defined; need to use unique_ptr to more definitively declare/manage ownership.
The spatial query needs to be added/initialized explicitly.
Connecting goals, goal sets, and goal selectors is a fragile endeavor.
Awkward mapping from state names to states when constructing and the "finalizing" Transition instances.
The text was updated successfully, but these errors were encountered:
Problem statement
Menge has been architected, from a very early point in its development, with a configuration-file-centric apporach. Work has been done to make it extensible and streamline the work required to add dynamically defined elements to the XML specification. And it works, but it has done so at the cost of actually building a simulation directly.
This code attempted to recreate the
core/headon.xml
programmatically. It illustrates many of the issues outlined below.Items to track
This is a list of observations of pain points that need to be alleviated to better facilitate the workflow.
States
,Transitions
, and probably others) are not exported in the shared library. They need to be.position vector
+AgentInitializer
. It lacks the very simple "I've created an agent, please take ownership" API.AgentInitializer
can only be set via parsing XML.SimulatorBase
ultimately owns anFSM
, finalizing is a painful, external process. (Initializing agents in the FSM + finalize sim + finalize FSM.)unique_ptr
to more definitively declare/manage ownership.Transition
instances.The text was updated successfully, but these errors were encountered: