Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify NetworkChannel interface #147

Closed
wants to merge 34 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
8d308c4
Migrate runtime and coap channel
LasseRosenow Nov 29, 2024
8c368c4
Remove complicated LF_RETURN_TYPES from TcpIpChannel
LasseRosenow Dec 2, 2024
9f2fc98
Fix examples and add ctor asserts
LasseRosenow Dec 2, 2024
4d3dce6
Remove network_channel_state_changed callback
LasseRosenow Dec 3, 2024
c6eba25
Simplify NetworkChannel
LasseRosenow Dec 2, 2024
878a945
Migrate TcpIpChannel
LasseRosenow Dec 3, 2024
32963f2
Make a pass over the README
erlingrj Dec 3, 2024
abf025c
Merge branch 'main' of github.com:lf-lang/reactor-uc
erlingrj Dec 3, 2024
e401ced
Migrate runtime and coap channel
LasseRosenow Nov 29, 2024
65e239d
Remove complicated LF_RETURN_TYPES from TcpIpChannel
LasseRosenow Dec 2, 2024
04fdbc1
Fix examples and add ctor asserts
LasseRosenow Dec 2, 2024
6e163d5
Remove network_channel_state_changed callback
LasseRosenow Dec 3, 2024
c45a551
Implement naming convention
LasseRosenow Dec 4, 2024
9092780
Remove duplicated NetworkChannel return codes / state (#143)
LasseRosenow Dec 4, 2024
df958a7
Simplify NetworkChannel
LasseRosenow Dec 2, 2024
1413c11
Migrate TcpIpChannel
LasseRosenow Dec 3, 2024
60ce2e1
Merge branch 'simplify-network-channel-interface' of github.com:lf-la…
LasseRosenow Dec 4, 2024
71d2d79
Migrate runtime and coap channel
LasseRosenow Nov 29, 2024
ee2ede4
Remove complicated LF_RETURN_TYPES from TcpIpChannel
LasseRosenow Dec 2, 2024
0981feb
Fix examples and add ctor asserts
LasseRosenow Dec 2, 2024
8cb333a
Remove network_channel_state_changed callback
LasseRosenow Dec 3, 2024
70a742f
Implement naming convention
LasseRosenow Dec 4, 2024
702d250
Simplify NetworkChannel
LasseRosenow Dec 2, 2024
1e5e3c5
Migrate TcpIpChannel
LasseRosenow Dec 3, 2024
8650542
Migrate runtime and coap channel
LasseRosenow Nov 29, 2024
41a89e5
Remove complicated LF_RETURN_TYPES from TcpIpChannel
LasseRosenow Dec 2, 2024
c13acf7
Fix examples and add ctor asserts
LasseRosenow Dec 2, 2024
6e348eb
Remove network_channel_state_changed callback
LasseRosenow Dec 3, 2024
284c296
Simplify NetworkChannel
LasseRosenow Dec 2, 2024
95c4c2c
Migrate TcpIpChannel
LasseRosenow Dec 3, 2024
ab203d4
Merge branch 'simplify-network-channel-interface' of github.com:lf-la…
LasseRosenow Dec 4, 2024
a6fc923
Migrate
LasseRosenow Dec 4, 2024
68b2f82
Migrate
LasseRosenow Dec 4, 2024
b02d653
Merge branch 'simplify-network-channel-interface' of github.com:lf-la…
LasseRosenow Dec 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions examples/posix/federated/receiver.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ typedef struct {
REACTION_INSTANCE(Receiver, r);
PORT_INSTANCE(Receiver, in, 1);
int cnt;
REACTOR_BOOKKEEPING_INSTANCES(1,1,0);
REACTOR_BOOKKEEPING_INSTANCES(1, 1, 0);
} Receiver;

DEFINE_REACTION_BODY(Receiver, r) {
Expand All @@ -56,12 +56,12 @@ typedef struct {
FederatedConnectionBundle super;
TcpIpChannel channel;
FEDERATED_INPUT_CONNECTION_INSTANCE(Receiver, in);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(1,0)
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(1, 0)
} FEDERATED_CONNECTION_BUNDLE_NAME(Receiver, Sender);

FEDERATED_CONNECTION_BUNDLE_CTOR_SIGNATURE(Receiver, Sender) {
FEDERATED_CONNECTION_BUNDLE_CTOR_PREAMBLE();
TcpIpChannel_ctor(&self->channel, "127.0.0.1", PORT_NUM, AF_INET, false);
TcpIpChannel_ctor(&self->channel, parent->env, "127.0.0.1", PORT_NUM, AF_INET, false);
FEDERATED_CONNECTION_BUNDLE_CALL_CTOR();
INITIALIZE_FEDERATED_INPUT_CONNECTION(Receiver, in, deserialize_msg_t);
}
Expand All @@ -71,14 +71,14 @@ typedef struct {
CHILD_REACTOR_INSTANCE(Receiver, receiver, 1);
FEDERATED_CONNECTION_BUNDLE_INSTANCE(Receiver, Sender);
FEDERATE_BOOKKEEPING_INSTANCES(1);
CHILD_INPUT_SOURCES(receiver, in,1,1, 0);
CHILD_INPUT_SOURCES(receiver, in, 1, 1, 0);
} MainRecv;

REACTOR_CTOR_SIGNATURE(MainRecv) {
FEDERATE_CTOR_PREAMBLE();
REACTOR_CTOR(MainRecv);
DEFINE_CHILD_INPUT_ARGS(receiver, in, 1, 1);
INITIALIZE_CHILD_REACTOR_WITH_PARAMETERS(Receiver, receiver,1, _receiver_in_args[i]);
INITIALIZE_CHILD_REACTOR_WITH_PARAMETERS(Receiver, receiver, 1, _receiver_in_args[i]);
INITIALIZE_FEDERATED_CONNECTION_BUNDLE(Receiver, Sender);
BUNDLE_REGISTER_DOWNSTREAM(Receiver, Sender, receiver, in);
}
Expand Down
21 changes: 10 additions & 11 deletions examples/posix/federated/sender.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ DEFINE_TIMER_CTOR(Sender, t, 1, 0)
DEFINE_REACTION_STRUCT(Sender, r, 1)
DEFINE_REACTION_CTOR(Sender, r, 0)
DEFINE_OUTPUT_STRUCT(Sender, out, 1, msg_t)
DEFINE_OUTPUT_CTOR(Sender, out, 1)
DEFINE_OUTPUT_CTOR(Sender, out, 1)

typedef struct {
Reactor super;
TIMER_INSTANCE(Sender, t);
REACTION_INSTANCE(Sender, r);
PORT_INSTANCE(Sender, out, 1);
REACTOR_BOOKKEEPING_INSTANCES(1,2,0);
REACTOR_BOOKKEEPING_INSTANCES(1, 2, 0);
} Sender;

DEFINE_REACTION_BODY(Sender, r) {
Expand Down Expand Up @@ -65,15 +65,15 @@ typedef struct {
FederatedConnectionBundle super;
TcpIpChannel channel;
FEDERATED_OUTPUT_CONNECTION_INSTANCE(Sender, out);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(0,1);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(0, 1);
} FEDERATED_CONNECTION_BUNDLE_NAME(Sender, Receiver);

FEDERATED_CONNECTION_BUNDLE_CTOR_SIGNATURE(Sender, Receiver) {
FEDERATED_CONNECTION_BUNDLE_CTOR_PREAMBLE();
TcpIpChannel_ctor(&self->channel, "127.0.0.1", PORT_NUM, AF_INET, true);
TcpIpChannel_ctor(&self->channel, parent->env, "127.0.0.1", PORT_NUM, AF_INET, true);

FEDERATED_CONNECTION_BUNDLE_CALL_CTOR();

INITIALIZE_FEDERATED_OUTPUT_CONNECTION(Sender, out, serialize_msg_t);
}

Expand All @@ -82,17 +82,16 @@ typedef struct {
Reactor super;
CHILD_REACTOR_INSTANCE(Sender, sender, 1);
FEDERATED_CONNECTION_BUNDLE_INSTANCE(Sender, Receiver);
TcpIpChannel channel;
FEDERATE_BOOKKEEPING_INSTANCES(1);
CHILD_OUTPUT_CONNECTIONS(sender, out, 1,1, 1);
CHILD_OUTPUT_EFFECTS(sender, out, 1,1, 0);
CHILD_OUTPUT_OBSERVERS(sender, out, 1,1,0);
CHILD_OUTPUT_CONNECTIONS(sender, out, 1, 1, 1);
CHILD_OUTPUT_EFFECTS(sender, out, 1, 1, 0);
CHILD_OUTPUT_OBSERVERS(sender, out, 1, 1, 0);
} MainSender;

REACTOR_CTOR_SIGNATURE(MainSender) {
FEDERATE_CTOR_PREAMBLE();
DEFINE_CHILD_OUTPUT_ARGS(sender, out,1,1);
INITIALIZE_CHILD_REACTOR_WITH_PARAMETERS(Sender, sender,1, _sender_out_args[i]);
DEFINE_CHILD_OUTPUT_ARGS(sender, out, 1, 1);
INITIALIZE_CHILD_REACTOR_WITH_PARAMETERS(Sender, sender, 1, _sender_out_args[i]);
INITIALIZE_FEDERATED_CONNECTION_BUNDLE(Sender, Receiver);
BUNDLE_REGISTER_UPSTREAM(Sender, Receiver, sender, out);
REACTOR_CTOR(MainSender);
Expand Down
18 changes: 8 additions & 10 deletions examples/zephyr/basic_federated/common/receiver.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ typedef struct {
char msg[32];
} msg_t;

DEFINE_REACTION_STRUCT(Receiver, r, 0);
DEFINE_REACTION_STRUCT(Receiver, r, 0);
DEFINE_REACTION_CTOR(Receiver, r, 0)

DEFINE_INPUT_STRUCT(Receiver, in, 1, 0, msg_t, 0)
Expand All @@ -42,7 +42,7 @@ typedef struct {
Reactor super;
REACTION_INSTANCE(Receiver, r);
PORT_INSTANCE(Receiver, in, 1);
REACTOR_BOOKKEEPING_INSTANCES(1,1,0);
REACTOR_BOOKKEEPING_INSTANCES(1, 1, 0);
int cnt;
} Receiver;

Expand All @@ -59,25 +59,23 @@ REACTOR_CTOR_SIGNATURE_WITH_PARAMETERS(Receiver, InputExternalCtorArgs *in_exter
REACTOR_CTOR(Receiver);
INITIALIZE_REACTION(Receiver, r);
INITIALIZE_INPUT(Receiver, in, 1, in_external);

// Register reaction as an effect of in
PORT_REGISTER_EFFECT(self->in, self->r, 1);
}


DEFINE_FEDERATED_INPUT_CONNECTION(Receiver, in, msg_t, 5, MSEC(100), false);

typedef struct {
FederatedConnectionBundle super;
TcpIpChannel channel;
FEDERATED_INPUT_CONNECTION_INSTANCE(Receiver, in);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(1,0)
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(1, 0)
} FEDERATED_CONNECTION_BUNDLE_NAME(Receiver, Sender);


FEDERATED_CONNECTION_BUNDLE_CTOR_SIGNATURE(Receiver, Sender) {
FEDERATED_CONNECTION_BUNDLE_CTOR_PREAMBLE();
TcpIpChannel_ctor(&self->channel, IP_ADDR, PORT_NUM, AF_INET, false);
TcpIpChannel_ctor(&self->channel, parent->env, IP_ADDR, PORT_NUM, AF_INET, false);
FEDERATED_CONNECTION_BUNDLE_CALL_CTOR();
INITIALIZE_FEDERATED_INPUT_CONNECTION(Receiver, in, deserialize_payload_default);
}
Expand All @@ -87,14 +85,14 @@ typedef struct {
CHILD_REACTOR_INSTANCE(Receiver, receiver, 1);
FEDERATED_CONNECTION_BUNDLE_INSTANCE(Receiver, Sender);
FEDERATE_BOOKKEEPING_INSTANCES(1);
CHILD_INPUT_SOURCES(receiver, in, 1,1, 0);
CHILD_INPUT_SOURCES(receiver, in, 1, 1, 0);
} MainRecv;

REACTOR_CTOR_SIGNATURE(MainRecv) {
FEDERATE_CTOR_PREAMBLE();
REACTOR_CTOR(MainRecv);
DEFINE_CHILD_INPUT_ARGS(receiver, in,1,1);
INITIALIZE_CHILD_REACTOR_WITH_PARAMETERS(Receiver, receiver,1, _receiver_in_args[i]);
DEFINE_CHILD_INPUT_ARGS(receiver, in, 1, 1);
INITIALIZE_CHILD_REACTOR_WITH_PARAMETERS(Receiver, receiver, 1, _receiver_in_args[i]);
INITIALIZE_FEDERATED_CONNECTION_BUNDLE(Receiver, Sender);
BUNDLE_REGISTER_DOWNSTREAM(Receiver, Sender, receiver, in);
}
Expand Down
21 changes: 10 additions & 11 deletions examples/zephyr/basic_federated/federated_sender/src/sender.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,12 @@ void setup_led() {
gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
}


typedef struct {
Reactor super;
REACTION_INSTANCE(Sender, r);
ACTION_INSTANCE(Sender, act);
PORT_INSTANCE(Sender, out, 1);
REACTOR_BOOKKEEPING_INSTANCES(1,2,0);
REACTOR_BOOKKEEPING_INSTANCES(1, 2, 0);
} Sender;

DEFINE_REACTION_BODY(Sender, r) {
Expand Down Expand Up @@ -104,31 +103,31 @@ typedef struct {
FederatedConnectionBundle super;
TcpIpChannel channel;
FEDERATED_OUTPUT_CONNECTION_INSTANCE(Sender, out);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(0,1);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(0, 1);
} FEDERATED_CONNECTION_BUNDLE_NAME(Sender, Receiver1);

typedef struct {
FederatedConnectionBundle super;
TcpIpChannel channel;
FEDERATED_OUTPUT_CONNECTION_INSTANCE(Sender, out);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(0,1);
FEDERATED_CONNECTION_BUNDLE_BOOKKEEPING_INSTANCES(0, 1);
} FEDERATED_CONNECTION_BUNDLE_NAME(Sender, Receiver2);

FEDERATED_CONNECTION_BUNDLE_CTOR_SIGNATURE(Sender, Receiver1) {
FEDERATED_CONNECTION_BUNDLE_CTOR_PREAMBLE();
TcpIpChannel_ctor(&self->channel, "192.168.1.100", PORT_CONN_1, AF_INET, true);
TcpIpChannel_ctor(&self->channel, parent->env, "192.168.1.100", PORT_CONN_1, AF_INET, true);

FEDERATED_CONNECTION_BUNDLE_CALL_CTOR();

INITIALIZE_FEDERATED_OUTPUT_CONNECTION(Sender, out, serialize_payload_default);
}

FEDERATED_CONNECTION_BUNDLE_CTOR_SIGNATURE(Sender, Receiver2) {
FEDERATED_CONNECTION_BUNDLE_CTOR_PREAMBLE();
TcpIpChannel_ctor(&self->channel, "192.168.1.100", PORT_CONN_2, AF_INET, true);
TcpIpChannel_ctor(&self->channel, parent->env, "192.168.1.100", PORT_CONN_2, AF_INET, true);

FEDERATED_CONNECTION_BUNDLE_CALL_CTOR();

INITIALIZE_FEDERATED_OUTPUT_CONNECTION(Sender, out, serialize_payload_default);
}

Expand All @@ -138,9 +137,9 @@ typedef struct {
CHILD_REACTOR_INSTANCE(Sender, sender, 1);
FEDERATED_CONNECTION_BUNDLE_INSTANCE(Sender, Receiver1);
FEDERATED_CONNECTION_BUNDLE_INSTANCE(Sender, Receiver2);
CHILD_OUTPUT_CONNECTIONS(sender, out, 1,1, 2);
CHILD_OUTPUT_EFFECTS(sender, out, 1,1,0);
CHILD_OUTPUT_OBSERVERS(sender, out,1,1, 0);
CHILD_OUTPUT_CONNECTIONS(sender, out, 1, 1, 2);
CHILD_OUTPUT_EFFECTS(sender, out, 1, 1, 0);
CHILD_OUTPUT_OBSERVERS(sender, out, 1, 1, 0);
FEDERATE_BOOKKEEPING_INSTANCES(2);
} MainSender;

Expand Down
6 changes: 0 additions & 6 deletions include/reactor-uc/error.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,6 @@ typedef enum {
LF_INVALID_VALUE,
LF_OUT_OF_BOUNDS,
LF_NO_MEM,
LF_COULD_NOT_CONNECT,
LF_NETWORK_SETUP_FAILED,
LF_CONNECTION_CLOSED,
LF_TIMEOUT,
LF_TRY_AGAIN,
LF_IN_PROGRESS
} lf_ret_t;

/**
Expand Down
1 change: 0 additions & 1 deletion include/reactor-uc/federated.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ struct FederatedConnectionBundle {
serialize_hook *serialize_hooks;
size_t outputs_size;
bool server; // Does this federate work as server or client
void (*network_channel_state_changed)(FederatedConnectionBundle *self);
};

void FederatedConnectionBundle_ctor(FederatedConnectionBundle *self, Reactor *parent, NetworkChannel *net_channel,
Expand Down
20 changes: 3 additions & 17 deletions include/reactor-uc/network_channel.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,26 +51,12 @@ struct NetworkChannel {

/**
* @brief Opens the connection to the corresponding NetworkChannel on another federate (non-blocking).
* For client-server channels this usually is implemented as the "bind" call on the server side.
* @return LF_OK if connection is opened, LF_INVALID_VALUE if the channel is configured incorrectly,
* LF_NETWORK_SETUP_FAILED if the connection open operation fails.
* The channel is not connected unless @p get_connection_state returns with NETWORK_CHANNEL_STATE_CONNECTED.
* @return LF_OK if channel opened without error, LF_ERR if the channel is configured incorrectly or the connection
* open operation fails.
*/
lf_ret_t (*open_connection)(NetworkChannel *self);

/**
* @brief Try to connect to corresponding NetworkChannel on another federate (non-blocking).
* @return LF_OK if connection is established, LF_IN_PROGRESS if connection is in progress, LF_TRY_AGAIN if connection
* failed and should be retried, LF_ERR if connection failed and should not be retried.
*/
lf_ret_t (*try_connect)(NetworkChannel *self);

/**
* @brief Try to reconnect to corresponding NetworkChannel after the connection broke of (non-blocking).
* @return LF_OK if connection is established, LF_IN_PROGRESS if connection is in progress, LF_TRY_AGAIN if connection
* failed and should be retried, LF_ERR if connection failed and should not be retried.
*/
lf_ret_t (*try_reconnect)(NetworkChannel *self);

/**
* @brief Closes the connection to the corresponding NetworkChannel on another federate.
*/
Expand Down
4 changes: 3 additions & 1 deletion include/reactor-uc/platform/posix/tcp_ip_channel.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "proto/message.pb.h"
#include "reactor-uc/error.h"
#include "reactor-uc/network_channel.h"
#include "reactor-uc/environment.h"

#define TCP_IP_CHANNEL_BUFFERSIZE 1024
#define TCP_IP_CHANNEL_NUM_RETRIES 255
Expand Down Expand Up @@ -45,6 +46,7 @@ struct TcpIpChannel {
void (*receive_callback)(FederatedConnectionBundle *conn, const FederateMessage *message);
};

void TcpIpChannel_ctor(TcpIpChannel *self, const char *host, unsigned short port, int protocol_family, bool server);
void TcpIpChannel_ctor(TcpIpChannel *self, Environment *env, const char *host, unsigned short port, int protocol_family,
bool server);

#endif
1 change: 1 addition & 0 deletions include/reactor-uc/platform/riot/coap_udp_ip_channel.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ struct CoapUdpIpChannel {

sock_udp_ep_t remote;

bool send_ack_received;
FederateMessage output;
uint8_t write_buffer[COAP_UDP_IP_CHANNEL_BUFFERSIZE];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ class UcPreambleGenerator(
private val reactor: Reactor,
) {
fun generateReactorPrivatePreamble() = reactor.preambles.joinToString(prefix= "// Private preambles\n", separator = "\n", postfix = "\n") { it.code.toText()}
fun generateReactorPublicPreamble() = resource.model.preambles.joinToString(prefix = "// Public preambles\n", separator = "\n", postfix = "\n") {it.code.toText()}
fun generateReactorPublicPreamble() = resource.model.preambles.joinToString(prefix = "// Public preambles ", separator = "\n", postfix = "\n") {it.code.toText()}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,18 @@ class UcReactionGenerator(private val reactor: Reactor) {
return res
}


private val Reaction.allContainedEffectsTriggersAndSources
get() = run {
val res = mutableMapOf<Instantiation, List<VarRef>>()
for (varRef in allContainedEffects.plus(allContainedSources).plus(allContainedTriggers)) {
val varRef = varRef as VarRef
if (varRef.container!! !in res.keys) {
res[varRef.container] = mutableListOf()
}
res[varRef.container] = res[varRef.container]!!.plus(varRef)
for (effect in allContainedEffects) {
res.getOrPut(effect.container!!) { mutableListOf(effect) }.plus(effect)
}
for (trigger in allContainedTriggers) {
res.getOrPut((trigger as VarRef).container!!) { mutableListOf(trigger) }.plus(trigger)
}
for (source in allContainedSources) {
res.getOrPut((source as VarRef).container!!) { mutableListOf(source) }.plus(source)
}
res
}
Expand Down Expand Up @@ -235,7 +238,7 @@ class UcReactionGenerator(private val reactor: Reactor) {
"""|
|// Generated struct providing access to ports of child reactor `${inst.name}`
|struct _${inst.reactor.codeType}_${inst.name} {
${"| "..triggers.joinToString(separator = "\n") { generateContainedTriggerInScope(it) }}
${"| "..triggers.joinToString { generateContainedTriggerInScope(it) }}
|};
|struct _${inst.reactor.codeType}_${inst.name} ${inst.name};
${"|"..triggers.joinToString(separator = "\n") {generateContainedTriggerFieldInit("${inst.name}", it)}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class UcReactorGenerator(private val reactor: Reactor, fileConfig: UcFileConfig,
private val timers = UcTimerGenerator(reactor)
private val actions = UcActionGenerator(reactor)
private val reactions = UcReactionGenerator(reactor)
private val preambles = UcPreambleGenerator(reactor.eResource(), reactor)
private val preambles = UcPreambleGenerator(fileConfig.resource, reactor)
private val instances =
UcInstanceGenerator(reactor, parameters, ports, connections, reactions, fileConfig, messageReporter)

Expand Down
Loading
Loading