-- =============================================================================================================== -- AllocatorOneTray in tray allocation for a sortation system -- By José Antonio Esparza and Kim Bjerge - spring 2010 -- (strategy pattern) -- ===============================================================================================================
class AllocatorOneTray issubclassof AllocatorStrategy
-- Allocates tray if empty at induction offset public AllocateTray: nat ==> setof Tray
AllocateTray (icid) == def posTray = InductionOffset(trayAllocator.trayAtCardReader, icid) in if trayAllocator.sorterRing(posTray).IsTrayEmpty() thenreturn {trayAllocator.sorterRing(posTray)} elsereturn {} pre icid insetinds trayAllocator.inductionGroup;
-- Returns true if higher priority inductions in induction group public InductionsWithHigherPriority: InductionController ==> bool
InductionsWithHigherPriority(ic) == returnexists i insetelems trayAllocator.inductionGroup(1,...,len trayAllocator.inductionGroup)
& i.GetId() <> ic.GetId() and i.GetPriority() > ic.GetPriority() -- Looking at induction infront this ic causes starvation of the first induction in group -- return exists i in set elems inductionGroup(ic.GetId()+1,...,len inductionGroup) & i.GetPriority() > ic.GetPriority() pre ic insetelems trayAllocator.inductionGroup;
end AllocatorOneTray
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.35Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.