diff --git a/docs/scheduling-and-constraints/procedural/getting-started.mdx b/docs/scheduling-and-constraints/procedural/getting-started.mdx index 4cae359..3fd3e16 100644 --- a/docs/scheduling-and-constraints/procedural/getting-started.mdx +++ b/docs/scheduling-and-constraints/procedural/getting-started.mdx @@ -24,4 +24,4 @@ There should now be one jar for each scheduling procedure, at `scheduling/build/ ## Creating a Goal -See the examples in the mission model template repo, or see [the scheduling page](../scheduling) in this section. +See the examples in the mission model template repo, or see [the scheduling page](../scheduling/introduction/) in this section. diff --git a/docs/scheduling-and-constraints/procedural/parameters-and-invocations.mdx b/docs/scheduling-and-constraints/procedural/parameters-and-invocations.mdx index 002180e..284d047 100644 --- a/docs/scheduling-and-constraints/procedural/parameters-and-invocations.mdx +++ b/docs/scheduling-and-constraints/procedural/parameters-and-invocations.mdx @@ -15,7 +15,7 @@ For now, only Java records are supported for parameterization. ::: -For example, we can take the example from the [scheduling](../scheduling) page, and parameterize it so that it doesn't +For example, we can take the example from the [scheduling](../scheduling/introduction/) page, and parameterize it so that it doesn't unconditionally recur every hour, and instead takes the period as input: diff --git a/docs/scheduling-and-constraints/procedural/scheduling/examples.mdx b/docs/scheduling-and-constraints/procedural/scheduling/examples.mdx index ae6c5da..dc9814b 100644 --- a/docs/scheduling-and-constraints/procedural/scheduling/examples.mdx +++ b/docs/scheduling-and-constraints/procedural/scheduling/examples.mdx @@ -17,7 +17,7 @@ In this section, we will explore how to implement recurrence goals and in the ne This section should illustrate how much more flexible the procedural system is over its declarative predecessor. A recurrence goal specifies that a certain activity should occur repeatedly throughout the plan at some given interval. -An example of this can be seen in the description of [Activity Recurrence Goal](../../declarative/scheduling/goals/#activity-recurrence-goal). +An example of this can be seen in the description of [Activity Recurrence Goal](../../../declarative/scheduling/goals/#activity-recurrence-goal). We will replicate the second, more intricate goal. This places an activity of type `GrowBanana` every two hours, unless in one of the intervals an activity is found of the same type and duration: @@ -76,7 +76,7 @@ public record ActivityRecurrenceGoal() implements Goal { Cardinality goals are different - they specify that a certain activity should occur in the plan either a certain number of times, or for a certain total duration. -An example of this can be seen in the description of [Cardinality Goal](../../declarative/scheduling/goals/#cardinality-goal). +An example of this can be seen in the description of [Cardinality Goal](../../../declarative/scheduling/goals/#cardinality-goal). We will rewrite the fourth, and most intricate goal. This places an activity of type `GrowBanana` at least 10 times in the plan, and for a duration of 10 total seconds. It checks to make sure it doesn't place an activity at the same time as @@ -190,7 +190,7 @@ Finally, we can talk about coexistence goals. These involve scheduling activitie such as the presence of certain activities, the presence of certain resources, or external events. We discuss how to schedule off of resource condition satisfaction here, and discuss activities and external events (which are functionally similar to activities) next. -The goal we seek to replicate is one provided in the description of [Coexistence Goal](../../declarative/scheduling/goals/#coexistence-goal). +The goal we seek to replicate is one provided in the description of [Coexistence Goal](../../../declarative/scheduling/goals/#coexistence-goal). Specifically, it was the following: ```ts @@ -276,7 +276,7 @@ public record ExternalProfileGoal() implements Goal { ## Scheduling From Activities -Scheduling from activities is relatively straightforward. Replicating a basic example from [Coexistence Goal](../../declarative/scheduling/goals/#coexistence-goal) +Scheduling from activities is relatively straightforward. Replicating a basic example from [Coexistence Goal](../../../declarative/scheduling/goals/#coexistence-goal) where for each instance of `GrowBanana` we place a `PeelBanana` starting in the interval [end of "A", end of "A" + 5 minutes] and ending in the interval [end of "A", end of "A" + 6 minutes]: diff --git a/docs/scheduling-and-constraints/procedural/scheduling/introduction.mdx b/docs/scheduling-and-constraints/procedural/scheduling/introduction.mdx index f4a9990..16fc4d0 100644 --- a/docs/scheduling-and-constraints/procedural/scheduling/introduction.mdx +++ b/docs/scheduling-and-constraints/procedural/scheduling/introduction.mdx @@ -8,7 +8,7 @@ goals fix them. You do that by implement the `Goal` interface and interacting wi ## `EditablePlan` -The `EditablePlan` gives you the same interface as [`Plan`](../plan-and-sim-results), but also allows you to add new +The `EditablePlan` gives you the same interface as [`Plan`](../../plan-and-sim-results), but also allows you to add new activities. You do this with `plan.create(...)`. You can either provide the minimal amount of information (type, arguments, and start time), or provide a `NewDirective` object that is a little more configurable. diff --git a/docs/scheduling-and-constraints/procedural/timelines/basics/external-events.mdx b/docs/scheduling-and-constraints/procedural/timelines/basics/external-events.mdx index 5924046..1624ff1 100644 --- a/docs/scheduling-and-constraints/procedural/timelines/basics/external-events.mdx +++ b/docs/scheduling-and-constraints/procedural/timelines/basics/external-events.mdx @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; External Events timelines are analogous to activity `Instances` timelines. They represent intervals with various properties that are allowed to overlap in time and often do, even if of the same type. It is possible to access the events associated with a plan (specifically, the events that are members of derivation groups that are associated with a plan - see -[Associating Derivation Groups](../../../../tutorials/external-events/associating-derivation-groups)). +[Associating Derivation Groups](../../../../../tutorials/external-events/associating-derivation-groups)). A timeline of External Events is represented by the `ExternalEvents` class, which contains objects of the `ExternalEvent` type. `ExternalEvent` objects have associated with them 4 attributes which can be accessed by a user: