| Summary: | [Escape Gen] Rules in main Scape are not being executed | ||
|---|---|---|---|
| Product: | [Modeling] AMP | Reporter: | Jonas Ruttimann <jonas.ruettimann> |
| Component: | AMF | Assignee: | Miles Parker <milesparker> |
| Status: | RESOLVED FIXED | QA Contact: | Miles Parker <milesparker> |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | 0.8.0 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Jonas Ruttimann
Yes, I think that we need to handle this case -- interestingly it rarely comes up for ABM models because we don't typically don't have arbitrary behavior at the top level -- but it will obviously be important for other kinds of models. This is the case because rules are actually executed by the containing scape and if that doesn't exist.. The pattern we use for accomplishing this in plain old Ascape is to create a singleton scape as a proxy, add it to the top-level context and use it to manage that parent context's behavior. Note BTW, that build actions *are* added. Jonas, feel free to bump the priority if this is important behavior for you. For me, this is not a high level bug. It's just confusing if you're not aware of this fact. Why don't agents run rules on their own? (In reply to comment #2) > For me, this is not a high level bug. It's just confusing if you're not aware > of this fact. > > Why don't agents run rules on their own? Hi Jonas, This is actually a big part of the overall Ascape design. See http://www.brookings.edu/es/dynamics/models/ascape/20000301_ascape.pdf page 11 for original justification. To be clear, I don't have any hardcore philosophically bent against agents doing their own thing, ;) but then we have to come up with a rationale for it. The issue isn't really that agents shouldn't be able to run rules on their own, but that there needs to be some mechanism or spatial-temporal context for that to occur in. From a wider perspective in some sense you could say that this is somewhat analogous (or elided with) the issue of containment. The top-level container for a model is not a model, it's the file/artifact itself. That top-level temporal concern isn't the model, it's user/computational time! In the Ascape design, it is the top-level scape (context) that defines that. But I think it does make sense for the top-level scape to be able to execute behaviors on itself at least. Now, aren't you sorry you asked? For the Acore design my plan has been to separate out the temporal from the spatial/topological/hierarchical concerns, so that might clear up these distinctions. Committed to git. Please try it out. |