पहले एक लिफ्ट क्लास है। इसमें एक दिशा (ऊपर, नीचे, स्टैंड, रखरखाव), एक वर्तमान मंजिल और दिशा में क्रमबद्ध फर्श अनुरोधों की एक सूची है। यह इस लिफ्ट से अनुरोध प्राप्त करता है।
फिर एक बैंक है। इसमें लिफ्ट हैं और फर्श से अनुरोध प्राप्त करता है। ये सभी सक्रिय लिफ्टों के लिए निर्धारित हैं (रखरखाव में नहीं)।
शेड्यूलिंग इस प्रकार होगी:
- यदि उपलब्ध हो तो इस मंजिल के लिए एक खड़ा लिफ्ट चुनें।
- इस मंजिल पर जाने के लिए एक लिफ्ट चुनें।
- वरना दूसरी मंजिल पर खड़े लिफ्ट को चुनें।
- और लिफ्ट को सबसे कम भार के साथ चुनें।
प्रत्येक लिफ्ट में राज्यों का एक सेट है।
- रखरखाव: लिफ्ट बाहरी संकेतों (केवल अपने स्वयं के संकेतों) पर प्रतिक्रिया नहीं करती है।
- स्टैंड: लिफ्ट एक मंजिल पर तय की गई है। यदि यह एक कॉल प्राप्त करता है। और लिफ्ट उस मंजिल पर है, जिसके दरवाजे खुले हैं। यदि यह दूसरे तल पर है, तो यह उसी दिशा में चलता है।
- ऊपर: लिफ्ट ऊपर चलती है। हर बार जब यह एक मंजिल तक पहुंचता है, तो यह जांचता है कि क्या इसे बंद करना है। यदि ऐसा है तो यह बंद हो जाता है और दरवाजे खोलता है। यह एक निश्चित समय के लिए प्रतीक्षा करता है और दरवाजा बंद कर देता है (जब तक कि कुछ उनके माध्यम से आगे नहीं बढ़ रहा है। तब यह अनुरोध सूची से फर्श को हटा देता है और यदि कोई अन्य अनुरोध हो तो जांच करता है। यदि लिफ्ट फिर से चलना शुरू करती है। यदि यह प्रवेश नहीं करती है। राज्य का रुख।
- नीचे: ऊपर की तरह लेकिन उल्टी दिशा में।
अतिरिक्त संकेत हैं:
- अलार्म। लिफ्ट रुक जाती है। और अगर यह एक मंजिल पर है, तो दरवाजे खुलते हैं, अनुरोध सूची को मंजूरी दे दी जाती है, अनुरोध बैंक में वापस चले जाते हैं।
- द्वार खुला है। यदि लिफ्ट किसी मंजिल पर है और चलती नहीं है तो दरवाजे खोलती है।
- दरवाजा बंद हो जाता है। यदि वे खुले हैं तो दरवाजा बंद कर दिया।
संपादित करें: कुछ लिफ्ट नीचे / first_floor esp पर शुरू नहीं होती हैं। गगनचुंबी इमारतों के मामले में।
min_floor और max_floor लिफ्ट के लिए दो अतिरिक्त विशेषताएँ हैं।