SOLA
Loading...
Searching...
No Matches
centralized_participant.h
1// Copyright 2023 The SOLA authors
2//
3// This file is part of DAISI.
4//
5// DAISI is free software: you can redistribute it and/or modify it under the terms of the GNU
6// General Public License as published by the Free Software Foundation; version 2.
7//
8// DAISI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
9// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10// Public License for more details.
11//
12// You should have received a copy of the GNU General Public License along with DAISI. If not, see
13// <https://www.gnu.org/licenses/>.
14//
15// SPDX-License-Identifier: GPL-2.0-only
16
17#ifndef DAISI_CPPS_LOGICAL_ALGORITHMS_ASSIGNMENT_CENTRALIZED_PARTICIPANT_H_
18#define DAISI_CPPS_LOGICAL_ALGORITHMS_ASSIGNMENT_CENTRALIZED_PARTICIPANT_H_
19
20#include "assignment_participant.h"
21#include "cpps/common/cpps_communicator.h"
22#include "cpps/logical/task_management/simple_task_management.h"
23
24namespace daisi::cpps::logical {
25
29public:
30 CentralizedParticipant(daisi::cpps::common::CppsCommunicatorPtr communicator,
31 std::shared_ptr<SimpleTaskManagement> task_management);
32 ~CentralizedParticipant() override = default;
33
35 REGISTER_IMPLEMENTATION(AssignmentNotification)
36
37
38 REGISTER_IMPLEMENTATION(StatusUpdateRequest)
39
40private:
42 std::shared_ptr<SimpleTaskManagement> task_management_;
43};
44} // namespace daisi::cpps::logical
45
46#endif
Notification by a central initiator that a task has been assigned to the receiving participant.
Definition assignment_notification.h:31
Algorithm for assigning tasks from a material flow to fitting AMRs. This algorithm is participating i...
Definition assignment_participant.h:31
Participant of a centralized task assignment strategy. Since the task assignment strategy is defined ...
Definition centralized_participant.h:28
might need some revision / additions in the future
Definition status_update_request.h:30
Modified Round Robin Algorithm that centrally assigns tasks of incoming material flows to the corresp...
Definition algorithm_config.h:22