Fix FactoryGraphManager

This commit is contained in:
2025-10-13 15:29:41 +02:00
parent 3ebf1efe9d
commit e2d1a2da34
14 changed files with 34012 additions and 28854 deletions

View File

@@ -108,6 +108,7 @@
<Option type="1"/>
<Option compiler="gcc"/>
<Compiler>
<Add option="-DWITH_TRACE"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK"/>
<Add directory="/home/lj50/Univ/M2/Modelisation_problemes/simulation/src"/>
@@ -134,6 +135,7 @@
<Option type="1"/>
<Option compiler="gcc"/>
<Compiler>
<Add option="-DWITH_TRACE"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK"/>
<Add directory="/home/lj50/Univ/M2/Modelisation_problemes/simulation/src"/>
@@ -160,6 +162,7 @@
<Option type="1"/>
<Option compiler="gcc"/>
<Compiler>
<Add option="-DWITH_TRACE"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK"/>
<Add directory="/home/lj50/Univ/M2/Modelisation_problemes/simulation/src"/>
@@ -186,6 +189,7 @@
<Option type="1"/>
<Option compiler="gcc"/>
<Compiler>
<Add option="-DWITH_TRACE"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB"/>
<Add option="-DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK"/>
<Add directory="/home/lj50/Univ/M2/Modelisation_problemes/simulation/src"/>

View File

@@ -2,44 +2,9 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="test_simple" />
<File name="src/Router.cpp" open="1" top="1" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="src/Sink.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="src/Processor.hpp" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="1" zoom_2="0">
<Cursor>
<Cursor1 position="1175" topLine="21" />
</Cursor>
</File>
<File name="src/ProductionOrder.hpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="60" />
</Cursor>
</File>
<File name="src/Machine.hpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="6" />
</Cursor>
</File>
<File name="src/Sink.hpp" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1138" topLine="12" />
</Cursor>
</File>
<File name="src/ItemStock.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="24" />
</Cursor>
</File>
<File name="src/PoolRouter.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="116" />
</Cursor>
</File>
<File name="src/Sink.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="853" topLine="12" />
<Cursor1 position="1556" topLine="24" />
</Cursor>
</File>
<File name="src/Processor.cpp" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -47,4 +12,39 @@
<Cursor1 position="1887" topLine="24" />
</Cursor>
</File>
<File name="src/Router.cpp" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="src/ProductionOrder.hpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="60" />
</Cursor>
</File>
<File name="src/Processor.hpp" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="1" zoom_2="0">
<Cursor>
<Cursor1 position="1175" topLine="87" />
</Cursor>
</File>
<File name="src/Machine.hpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="6" />
</Cursor>
</File>
<File name="src/ItemStock.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="24" />
</Cursor>
</File>
<File name="src/Sink.hpp" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1138" topLine="12" />
</Cursor>
</File>
<File name="src/PoolRouter.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="116" />
</Cursor>
</File>
</CodeBlocks_layout_file>

File diff suppressed because it is too large Load Diff

View File

@@ -17,3 +17,4 @@ SET(FACTORY_CORE_CPP Base.cpp Combiner.hpp Conveyor.hpp ItemStock.cpp Machine.cp
ADD_LIBRARY(factory_core ${FACTORY_CORE_HPP} ${FACTORY_CORE_CPP})
TARGET_LINK_LIBRARIES(factory_core ${Boost_LIBRARIES} ${ARTIS_LIBRARIES})

View File

@@ -31,6 +31,7 @@
#include "JsonReader.hpp"
#include "PoolRouter.hpp"
#include "Router.hpp"
#include "Sink.hpp"
#include <artis-star/kernel/pdevs/GraphManager.hpp>
@@ -105,21 +106,20 @@ public:
break;
}
case SINK: {
// Gérer le Sink
auto new_sink = new SinkSimulator(
"M_" + std::to_string(m->pool_id) + "_" + std::to_string(m->machine_id),
SinkParameters{}
);
auto new_sink = new SinkSimulator(
"M_" + std::to_string(m->pool_id) + "_" + std::to_string(m->machine_id),
SinkParameters{}
);
_sinks.push_back(new_sink);
this->add_child(MACHINE + machine_index, new_sink);
_sinks.push_back(new_sink);
this->add_child(MACHINE + machine_index, new_sink);
// PoolRouter -> Sink
out({_pool_routers.back(), artis::factory::PoolRouter::outputs::OUT_M + m->machine_id})
>> in({new_sink, artis::factory::Sink::inputs::IN});
// PoolRouter -> Sink
out({_pool_routers.back(), artis::factory::PoolRouter::outputs::OUT_M + m->machine_id})
>> in({_sinks.back(), artis::factory::Sink::inputs::IN});
++machine_index;
break;
++machine_index;
break;
}
case SEPARATOR: {
// TODO
@@ -146,11 +146,13 @@ private:
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::Router, artis::factory::RouterParameters> RouterSimulator;
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::PoolRouter, artis::factory::PoolRouterParameters> PoolRouterSimulator;
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::Processor, artis::factory::ProcessorParameters> ProcessorSimulator;
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::Sink, artis::factory::SinkParameters> SinkSimulator;
GeneratorSimulator *_generator;
RouterSimulator *_router;
std::vector<PoolRouterSimulator *> _pool_routers;
std::vector<ProcessorSimulator *> _processors;
std::vector<SinkSimulator *> _sinks;
};
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
# compile CXX with /usr/bin/c++
CXX_DEFINES = -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB
CXX_DEFINES = -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB -DWITH_TRACE
CXX_INCLUDES = -I/home/lj50/Univ/M2/Modelisation_problemes/simulation/src -I/usr/local/include/artis-star-1.0

View File

@@ -2,7 +2,7 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
# compile CXX with /usr/bin/c++
CXX_DEFINES = -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB
CXX_DEFINES = -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_NO_LIB -DWITH_TRACE
CXX_INCLUDES = -I/home/lj50/Univ/M2/Modelisation_problemes/simulation/src -I/usr/local/include/artis-star-1.0

View File

@@ -1,3 +1,5 @@
add_definitions(-DWITH_TRACE)
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/src
${ARTIS_INCLUDE_DIRS}
@@ -12,3 +14,5 @@ TARGET_LINK_LIBRARIES(test_simple ${Boost_LIBRARIES} ${ARTIS_LIBRARIES} factory_
ADD_EXECUTABLE(test_json test_json.cpp)
TARGET_LINK_LIBRARIES(test_json ${Boost_LIBRARIES} ${ARTIS_LIBRARIES} factory_core)

Binary file not shown.

Binary file not shown.