Custom essay service toronto
The effects that mention no-work-in-progress, current-hour, and time-since-last-day are used to support the modeling of the passage of time and will be discussed under the next subhead. Finally, the effect that increases total-cost is used for cost optimization, which I will describe later in this section. The most difficult part of representing this scenario in PDDL was capturing its temporal aspects. In particular, this scenario (like many evolution problems) is steeped in references to real-world time—that is, clock time, or calendar time.
PDDL is ill suited to representing such considerations.
This simplifies the specification because we do not need to model the empty nighttimes.
If we want to keep track of time, then, we must do it ourselves. To do so, we define a nullary function, current-hour, and we add to each action an effect to set its value: 18 (at end (increase current-hour? Unfortunately PDDL does not have a modulo operator. Instead we must further complicate the specification with a time-since-last-day function. We also create a special action, waitTillNextDay, that waits until the next multiple of 8 and resets the value of time-since-last-day to 0.
Since PDDL lacks a modulo operator, we must again complicate the domain description, this time by defining a Day type (with values Monday, Tuesday, etc. We then modify the waitTillNextDay action to set this predicate. This will permit us to express constraints pertaining to days of the week. A final temporal rule that we enforced was to forbid concurrency. We have already seen the representation of some of the constraints in this scenario.
The requirement that a firewall must be installed custom essay service toronto before any services are migrated is similarly simple to model via a has-firewall predicate that is set by the installFirewall action and appears write my english paper for me as a precondition for all the migration actions. The availability constraints were more challenging to model. As we just saw, a substantial infrastructure is required to model days of the week in a way that can support the expression of these constraints. With this infrastructure in place, we can specify which services may be moved on which days by defining a predicate, ok-to- move-on, over services and days, and setting its values in the problem description (e. Then, we set on each migration action a condition that the given service may be moved on the current day. To do so, ls Again, due to planner limitations we actually hard-code the duration. We use a similar strategy to define the constraints governing how different services may be migrated. For example, to define which services can be manually migrated over the network, we define a can-be-migrated-individually predicate over services, which is a condition of custom essay service toronto the manuallyMigrateService action. The value of this function is incremented by the actions, and the function is defined as the goal metric in the problem description. The main complication is that the costs of actions are not fixed.
Actions are more expensive on weekends than during normal working hours. The straightforward way to model this would be with conditional effects.
Unfortunately they are not well supported (by now a familiar refrain). Instead we introduce a cost-multiplier function over days, which we value at 1 for weekdays and 3 for weekends.
We used two different planners to demonstrate a key advantage of PDDL: its status as a lingua franca supported by many planners. Both planners work by first attempting to generate a correct (but possibly low- quality) plan, then progressively refining the plan to improve its quality.
Figure 19 shows an optimal plan generated by OPTIC.
Observe that services are always moved by the cheapest means permissible—cloning is preferred, with manual migration and physical host transfer used only when required. Output from OPTIC showing ait optimal evolution plan.
In bold are action names, which are followed by the action parameter assignments. At the beginning of each line is the time at which the action is executed. In all ten runs, OPTIC was able to hnd a correct plan within 8 seconds and an optimal one (i. LPG-td was much slower at finding an optimal plan (unsurprisingly, since it is a much older planner than OPTIC), but it did succeed consistently within a few minutes, and it always found a correct, nonoptimal solution very quickly. We also ran a modihed version of the problem in which we asked the planners to minimize plan duration and ignore cost.
Times for these runs appear in the lower part of table 12.
All figures are in seconds and are calculated over ten runs. PDDL is expressive enough to capture the significant concerns of an evolution problem. Despite some challenges, we were able to capture the evolution scenario in its entirety. We did have to contend with some limitations of PDDL.
Modeling constraints about which actions could occur on which days of the week, for example, posed significant challenges. However, PDDL is far more widely supported than any other planning language. Automated custom essay service toronto planners can essay help sites effectively and efficiently generate evolution paths. Both automated planners we tried were able to quickly generate high-quality solutions to a moderately complex architecture evolution problem.
This kind of automated path generation has the potential to ameliorate one of the most significant burdens of a path-based approach to software architecture evolution: the need for the architect to manually specify the evolution graph in full detail before beginning analysis. By taking advantage of automated planners, we are able to capitalize on decades of research in artificial intelligence, which allows paths to be generated quickly and intelligendy. Some architecture evolution problems may be more amenable to solution by automated planners than others. More work is needed to evaluate the scalability and applicability of this approach. Current off-the-shelf planners have limited feature sets. Although PDDL provides a powerful array of features for specifying complex and intricate planning problems, few (if any) existing planners support the language fully.