{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/10228","repository_url":"https://api.github.com/repos/RobotLocomotion/drake","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/10228/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/10228/comments","events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/10228/events","html_url":"https://github.com/RobotLocomotion/drake/issues/10228","id":391155602,"node_id":"MDU6SXNzdWUzOTExNTU2MDI=","number":10228,"title":"SignalLogger maintains state","user":{"login":"edrumwri","id":2224335,"node_id":"MDQ6VXNlcjIyMjQzMzU=","avatar_url":"https://avatars0.githubusercontent.com/u/2224335?v=4","gravatar_id":"","url":"https://api.github.com/users/edrumwri","html_url":"https://github.com/edrumwri","followers_url":"https://api.github.com/users/edrumwri/followers","following_url":"https://api.github.com/users/edrumwri/following{/other_user}","gists_url":"https://api.github.com/users/edrumwri/gists{/gist_id}","starred_url":"https://api.github.com/users/edrumwri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edrumwri/subscriptions","organizations_url":"https://api.github.com/users/edrumwri/orgs","repos_url":"https://api.github.com/users/edrumwri/repos","events_url":"https://api.github.com/users/edrumwri/events{/privacy}","received_events_url":"https://api.github.com/users/edrumwri/received_events","type":"User","site_admin":false},"labels":[{"id":366762542,"node_id":"MDU6TGFiZWwzNjY3NjI1NDI=","url":"https://api.github.com/repos/RobotLocomotion/drake/labels/priority:%20medium","name":"priority: medium","color":"e99695","default":false},{"id":351649295,"node_id":"MDU6TGFiZWwzNTE2NDkyOTU=","url":"https://api.github.com/repos/RobotLocomotion/drake/labels/team:%20dynamics","name":"team: dynamics","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":{"login":"sherm1","id":4088016,"node_id":"MDQ6VXNlcjQwODgwMTY=","avatar_url":"https://avatars1.githubusercontent.com/u/4088016?v=4","gravatar_id":"","url":"https://api.github.com/users/sherm1","html_url":"https://github.com/sherm1","followers_url":"https://api.github.com/users/sherm1/followers","following_url":"https://api.github.com/users/sherm1/following{/other_user}","gists_url":"https://api.github.com/users/sherm1/gists{/gist_id}","starred_url":"https://api.github.com/users/sherm1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sherm1/subscriptions","organizations_url":"https://api.github.com/users/sherm1/orgs","repos_url":"https://api.github.com/users/sherm1/repos","events_url":"https://api.github.com/users/sherm1/events{/privacy}","received_events_url":"https://api.github.com/users/sherm1/received_events","type":"User","site_admin":false},"assignees":[{"login":"sherm1","id":4088016,"node_id":"MDQ6VXNlcjQwODgwMTY=","avatar_url":"https://avatars1.githubusercontent.com/u/4088016?v=4","gravatar_id":"","url":"https://api.github.com/users/sherm1","html_url":"https://github.com/sherm1","followers_url":"https://api.github.com/users/sherm1/followers","following_url":"https://api.github.com/users/sherm1/following{/other_user}","gists_url":"https://api.github.com/users/sherm1/gists{/gist_id}","starred_url":"https://api.github.com/users/sherm1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sherm1/subscriptions","organizations_url":"https://api.github.com/users/sherm1/orgs","repos_url":"https://api.github.com/users/sherm1/repos","events_url":"https://api.github.com/users/sherm1/events{/privacy}","received_events_url":"https://api.github.com/users/sherm1/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-12-14T15:29:50Z","updated_at":"2018-12-14T15:56:13Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Per discussion with @sherm1 the other day, SIgnalLogger is maintaining state (the log is mutable and maintained within the system). This violates our contract that Systems do not maintain state.\r\n"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments/447367096","html_url":"https://github.com/RobotLocomotion/drake/issues/10228#issuecomment-447367096","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/10228","id":447367096,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NzM2NzA5Ng==","user":{"login":"edrumwri","id":2224335,"node_id":"MDQ6VXNlcjIyMjQzMzU=","avatar_url":"https://avatars0.githubusercontent.com/u/2224335?v=4","gravatar_id":"","url":"https://api.github.com/users/edrumwri","html_url":"https://github.com/edrumwri","followers_url":"https://api.github.com/users/edrumwri/followers","following_url":"https://api.github.com/users/edrumwri/following{/other_user}","gists_url":"https://api.github.com/users/edrumwri/gists{/gist_id}","starred_url":"https://api.github.com/users/edrumwri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edrumwri/subscriptions","organizations_url":"https://api.github.com/users/edrumwri/orgs","repos_url":"https://api.github.com/users/edrumwri/repos","events_url":"https://api.github.com/users/edrumwri/events{/privacy}","received_events_url":"https://api.github.com/users/edrumwri/received_events","type":"User","site_admin":false},"created_at":"2018-12-14T15:56:13Z","updated_at":"2018-12-14T15:56:13Z","author_association":"CONTRIBUTOR","body":"It's a commonly expressed use case where people want to simulate (or otherwise evaluate) diagrams across multiple threads. While it might not be a rule that every System is implemented in a thread safe way, segregating the code and data is a straightforward way to facilitate that. If that wasn't the rationale for introducing the segregation, I don't know what was.\r\n\r\nWhen you say that \"derivatives, updates, outputs, etc. from a System should be deterministically based on the Context\", you're pointing out that SignalLogger's log is state: there is no way to look at the (current) context and generate the log data."}}
{"actor":{"display_login":"edrumwri"}}