{"action":"created","issue":{"url":"https://api.github.com/repos/TorXakis/TorXakis/issues/146","repository_url":"https://api.github.com/repos/TorXakis/TorXakis","labels_url":"https://api.github.com/repos/TorXakis/TorXakis/issues/146/labels{/name}","comments_url":"https://api.github.com/repos/TorXakis/TorXakis/issues/146/comments","events_url":"https://api.github.com/repos/TorXakis/TorXakis/issues/146/events","html_url":"https://github.com/TorXakis/TorXakis/issues/146","id":251965104,"number":146,"title":"Multiple channels on one socket","user":{"login":"ramon-janssen","id":30470550,"avatar_url":"https://avatars3.githubusercontent.com/u/30470550?v=4","gravatar_id":"","url":"https://api.github.com/users/ramon-janssen","html_url":"https://github.com/ramon-janssen","followers_url":"https://api.github.com/users/ramon-janssen/followers","following_url":"https://api.github.com/users/ramon-janssen/following{/other_user}","gists_url":"https://api.github.com/users/ramon-janssen/gists{/gist_id}","starred_url":"https://api.github.com/users/ramon-janssen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramon-janssen/subscriptions","organizations_url":"https://api.github.com/users/ramon-janssen/orgs","repos_url":"https://api.github.com/users/ramon-janssen/repos","events_url":"https://api.github.com/users/ramon-janssen/events{/privacy}","received_events_url":"https://api.github.com/users/ramon-janssen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-08-22T13:53:25Z","updated_at":"2017-08-22T15:05:27Z","closed_at":null,"body":"Many models are most natural if they have multiple input channels, now only one is allowed (1 channel per socket). Work-arounds which currently work, have a 'unifiying' datatype to unify actual modelled data types A, B, C, ...\r\nUnified ::= Atype{a :: A} | Btype{b :: B} | Ctype{c :: C} | ...\r\nWe can then use it in two ways:\r\n- Give all channels in the model the same type. In every PROCDEF we need to explicitly unpack this unified datatype to the modelled data type.\r\n- Create an extra demultiplexing process which does nothing more than receiving such a unified datatype, and (synchronously) outputting the corresponding modelled data type. The model can then have multiple channels as you would like, which are hidden and are put in parallel with this demultiplexer.\r\n\r\nIn both cases, a lot of extra boilerplate code is needed in a TorXakis model, and the model becomes less readable and unexplainable."},"comment":{"url":"https://api.github.com/repos/TorXakis/TorXakis/issues/comments/324055544","html_url":"https://github.com/TorXakis/TorXakis/issues/146#issuecomment-324055544","issue_url":"https://api.github.com/repos/TorXakis/TorXakis/issues/146","id":324055544,"user":{"login":"ramon-janssen","id":30470550,"avatar_url":"https://avatars3.githubusercontent.com/u/30470550?v=4","gravatar_id":"","url":"https://api.github.com/users/ramon-janssen","html_url":"https://github.com/ramon-janssen","followers_url":"https://api.github.com/users/ramon-janssen/followers","following_url":"https://api.github.com/users/ramon-janssen/following{/other_user}","gists_url":"https://api.github.com/users/ramon-janssen/gists{/gist_id}","starred_url":"https://api.github.com/users/ramon-janssen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramon-janssen/subscriptions","organizations_url":"https://api.github.com/users/ramon-janssen/orgs","repos_url":"https://api.github.com/users/ramon-janssen/repos","events_url":"https://api.github.com/users/ramon-janssen/events{/privacy}","received_events_url":"https://api.github.com/users/ramon-janssen/received_events","type":"User","site_admin":false},"created_at":"2017-08-22T15:05:27Z","updated_at":"2017-08-22T15:05:27Z","body":"Inputs (for the SUT, outputs for TorXakis) could be encoded per channel: in CNECTDEF, you can then list them individually, and map them to strings individually. For Outputs (for the SUT, inputs for TorXakis) this indeed seems more difficult, at least for sockets. This could be solved with a higher-level encoding than raw strings, e.g. XML, in which you could simply specify for which channel an output action is intended. \r\n\r\nIf I'm not mistaken, this was in an old version of TorXakis already. I guess it did not do this by generating boilerplate code but by natively mapping channels to sockets in an n-to-1 manner, which should be more efficient than generating the code as I described."}}
{"actor":{"display_login":"ramon-janssen"}}