آلة الحالة المحدودة الافتراضية
آلة الحالة المحدودة الافتراضية ( VFSM ) هي آلة حالة محدودة (FSM) مُعرَّفة في بيئة افتراضية . يوفر مفهوم VFSM طريقة لتحديد مواصفات البرمجيات لوصف سلوك نظام التحكم باستخدام أسماء مُخصصة لخصائص التحكم في المدخلات وإجراءات المخرجات .
تُقدّم طريقة VFSM نموذج تنفيذ وتُسهّل فكرة المواصفات القابلة للتنفيذ. تُستخدم هذه التقنية بشكل أساسي في تطبيقات التحكم الآلي المعقدة ، وأجهزة القياس ، والاتصالات .
لماذا
يتطلب تنفيذ آلة الحالة توليد شروط منطقية (شروط انتقال الحالة وشروط الفعل). في بيئة الأجهزة، حيث وُجد استخدام آلات الحالة الأصلي، يكون هذا الأمر بسيطًا: فجميع الإشارات منطقية ( Boolean ). في المقابل، تتطلب آلات الحالة المُحددة والمُنفذة برمجياً شروطًا منطقية متعددة القيم بطبيعتها .
- قد تكون درجة الحرارة منخفضة، أو متوسطة، أو مرتفعة
- قد تحتوي الأوامر على عدة قيم: تهيئة، بدء، إيقاف، فاصل، استمرار
- في نظام التحكم الهرمي، يمكن أن تحتوي آلات الحالة التابعة على العديد من الحالات التي تُستخدم كشروط لآلة الحالة العليا.
بالإضافة إلى ذلك، يمكن أن تكون إشارات الإدخال غير معروفة بسبب الأخطاء أو الأعطال، مما يعني أن إشارات الإدخال الرقمية (التي تعتبر قيمًا منطقية كلاسيكية) هي في الواقع 3 قيم: منخفض، مرتفع، غير معروف.
يقوم الجبر المنطقي الإيجابي بحل هذه المشكلة من خلال المحاكاة الافتراضية ، وذلك عن طريق إنشاء بيئة افتراضية تسمح بتحديد آلات الحالة للبرامج باستخدام متغيرات متعددة القيم.
خصائص التحكم
قد يمتلك متغير الحالة في بيئة آلة الحالة المحدودة الافتراضية (VFSM) قيمة واحدة أو أكثر ذات صلة بالتحكم ، وفي هذه الحالة يُعتبر متغير إدخال. تُعرف هذه القيم بخصائص التحكم لهذا المتغير. لا تُمثل خصائص التحكم بالضرورة قيم بيانات محددة، بل هي حالات معينة للمتغير. على سبيل المثال، يمكن لمتغير رقمي أن يوفر ثلاث خصائص تحكم: صحيح، خطأ، وغير معروف، وذلك وفقًا لقيمه المنطقية المحتملة. أما متغير الإدخال العددي (التناظري) فيمتلك خصائص تحكم مثل: منخفض، مرتفع، مقبول، غير مقبول، وغير معروف، وذلك وفقًا لنطاق القيم المطلوبة. يمكن أن تكون حالة المؤقت "انتهى" (انتهت المهلة) هي أهم قيمة تحكم له؛ بينما قد تكون القيم الأخرى "متوقف" أو "قيد التشغيل".
الإجراءات
قد يتم تفعيل متغيرات الحالة الأخرى في بيئة آلة الحالة المحدودة المتغيرة (VFSM) بواسطة إجراءات معينة، وفي هذه الحالة تُعتبر متغيرًا مُخرَجًا. على سبيل المثال، للمُخرَج الرقمي إجراءان: صحيح وخطأ. أما مُتغير المُخرَج العددي (التناظري) فله إجراء واحد: ضبط. ويمكن تشغيل المؤقت، الذي يُعد مُتغيرًا مُدخلًا ومُخرَجًا في آنٍ واحد، بواسطة إجراءات مثل: بدء، إيقاف، أو إعادة ضبط.
بيئة افتراضية

تُعرّف البيئة الافتراضية بأنها بيئة التشغيل التي تعمل فيها الآلة الافتراضية . ويتم تحديدها من خلال ثلاث مجموعات من الأسماء:
- تمثل أسماء المدخلات خصائص التحكم لجميع المتغيرات المتاحة
- تمثل أسماء المخرجات الإجراءات المتاحة على المتغيرات
- أسماء الولايات ، كما هو محدد لكل ولاية من ولايات آلة الحالة المحدودة.
تُنشئ أسماء المدخلات شروطًا افتراضية لتنفيذ انتقالات الحالة أو إجراءات الإدخال. تُبنى هذه الشروط الافتراضية باستخدام الجبر المنطقي الإيجابي . أما أسماء المخرجات فتُفعّل الإجراءات؛ إجراءات الدخول، وإجراءات الخروج ، وإجراءات الإدخال، أو إجراءات الانتقال.
الجبر المنطقي الإيجابي
قواعد إنشاء حالة افتراضية هي كالتالي:
أسماء المدخلات والمدخلات الافتراضية
يتم وصف حالة المدخلات بواسطة أسماء المدخلات التي تُنشئ مجموعة :
- المدخل أ:
Anames = {A1, A2, A3} - المدخل ب:
Bnames = {B1, B2} - المدخل C:
Cnames = {C1, C2, C3, C4, C5}
إلخ.
المدخلات الافتراضية VIهي مجموعة من عناصر أسماء المدخلات المتنافيةVI . تحتوي المدخلات الافتراضية دائمًا على العنصر always:
VI = { دائماً } VI = { دائماً ، A1 } VI = { دائماً ، A1 ، B2 ، C4 }العمليات المنطقية على أسماء المدخلات
&عملية (AND) هي مجموعة من أسماء المدخلات:
A1 و B3 و C2 =>{A1, B3, C2}
|عملية (أو) هي جدول لمجموعات من أسماء المدخلات:
A1 | B3 | C2 =>
~(المكمل) هو مكمل لمجموعة من أسماء المدخلات:
~ A2 ={A1, A3}
التعبير المنطقي
التعبير المنطقي هو جدول OR لمجموعات AND ( شكل طبيعي منفصل ):
A1 و B3 | A1 و B2 و C4 | C2 =>
تُستخدم التعبيرات المنطقية للتعبير عن أي دالة منطقية.
تقييم التعبير المنطقي
يتم حساب القيمة المنطقية (صواب، خطأ) للتعبير المنطقي عن طريق اختبار ما إذا كانت أي من مجموعات AND في جدول OR هي مجموعة فرعية من VI.
أسماء المخرجات والمخرجات الافتراضية
يتم وصف حالة المخرج بواسطة أسماء المخرجات التي تُشكل مجموعة:
- الناتج X:
Xnames = {X1, X2} - الناتج Y:
Ynames = {Y1, Y2, Y3}
المخرجات الافتراضية VOهي مجموعة من العناصر الحصرية المتبادلة لأسماء المخرجات.
بيئة افتراضية
يُنشئ الاسم الافتراضي والمخرجات الافتراضية، بالإضافة إلى أسماء الحالة، البيئة الافتراضية VEالتي يتم فيها تحديد السلوك.
نموذج تنفيذ VFSM

تُسمى مجموعة فرعية من جميع أسماء المدخلات المُعرَّفة، والتي لا يمكن أن توجد إلا في حالة معينة، بالمدخلات الافتراضية VI. على سبيل المثال، يمكن أن تكون درجة الحرارة إما "منخفضة جدًا" أو "جيدة" أو "مرتفعة جدًا". على الرغم من وجود ثلاثة أسماء مدخلات مُعرَّفة، إلا أنه لا يمكن أن يوجد إلا واحد منها في حالة حقيقية. هذا الاسم هو الذي يُشكِّل المدخل الافتراضي VI.
تُسمى مجموعة فرعية من جميع أسماء المخرجات المُعرّفة، والتي لا يمكن أن توجد إلا في حالة معينة، بالمخرجات الافتراضية VO. ويتم إنشاؤها بواسطة الإجراء (الإجراءات) الحالية لآلة الحالة المحدودة الافتراضية (VFSM).
يتم بناء مواصفات السلوك بواسطة جدول حالة يصف جميع تفاصيل جميع حالات آلة الحالة المحدودة الافتراضية (VFSM).
يتم تشغيل مُنفِّذ VFSM بواسطة VIالحالة الحالية لـ VFSM. ويتم تحديدها بناءً على مواصفات سلوك الحالة الحالية VO.
يوضح الشكل 2 أحد التطبيقات الممكنة لمنفذ آلة الحالة المحدودة الافتراضية (VFSM). وبناءً على هذا التطبيق، يجب مراعاة خصائص السلوك النموذجية.
جدول الدولة
يُحدد جدول الحالة جميع تفاصيل سلوك حالة معينة في آلة الحالة المحدودة الافتراضية (VFSM). ويتكون من ثلاثة أعمدة؛ يُسمي العمود الأول الحالة، ويسرد العمود الثاني الشروط الافتراضية المبنية من أسماء المدخلات باستخدام الجبر المنطقي الموجب، ويحتوي العمود الثالث على أسماء المخرجات.
| اسم الولاية | شروط) | الإجراءات |
|---|---|---|
| الوضع الحالي | إجراء الدخول | اسم (أسماء) المخرجات |
| إجراء الخروج | اسم (أسماء) المخرجات | |
| حالة افتراضية | اسم (أسماء) المخرجات | |
| ... | ... | |
| اسم الولاية التالية | حالة افتراضية | اسم (أسماء) المخرجات |
| اسم الولاية التالية | حالة افتراضية | اسم (أسماء) المخرجات |
| ... | ... | ... |
اقرأ الجدول كما يلي: يُحدد السطران الأولان إجراءات الدخول والخروج من الحالة الحالية. أما الأسطر التالية، التي لا تُحدد الحالة التالية، فتمثل إجراءات الإدخال. وأخيرًا، تُمثل الأسطر التي تُحدد الحالة التالية شروط انتقال الحالة وإجراءات الانتقال. جميع الحقول اختيارية. يُمكن إنشاء آلة حالة محدودة افتراضية (VFSM) توافقية بحتة فقط في الحالات التي تُستخدم فيها إجراءات الإدخال، ولكن دون تحديد انتقالات الحالة. يُمكن استبدال إجراء الانتقال بالاستخدام المناسب لإجراءات أخرى.
أدوات
- StateWORKS : تطبيق لمفهوم آلة الحالة المحدودة الافتراضية
- بلاي ميكر : يطبق مفهوم VFSM كطريقة "للبرمجة المرئية" لمحرك ألعاب Unity
مراجع
- فاغنر، ف.، "آلات الحالة المحدودة الافتراضية: مواصفات تدفق التحكم القابلة للتنفيذ"، دار نشر روزا فيشر-لو، 1994، رقم ISBN 3-929465-04-3
- فاغنر، ف.، "نمذجة البرمجيات باستخدام آلات الحالة المحدودة: منهج عملي"، منشورات أورباخ، 2006، رقم ISBN 0-8493-8086-3
- مواصفات VFSM التنفيذية ، وقائع مؤتمر CompEuro 1992
- سوء فهم آلة الحالة ، مجلة IEE "الهندسة الحاسوبية والتحكمية"، 1997
- نموذج تصميم وتنفيذ آلة الحالة المحدودة الافتراضية ، مجلة بيل لابز التقنية، 1997
- أداة حديثة لتصميم البرمجيات في الوقت الحقيقي: تطبيق الدروس المستفادة من ليو ، مجلة IEE "هندسة الحوسبة والتحكم"، 2003
- نمذجة وبناء برمجيات موثوقة وقابلة لإعادة الاستخدام. ، وقائع مؤتمر هندسة البرمجيات الحاسوبية 2003 (ECBS'03)
- سد الفجوة بين نمذجة البرمجيات والبرمجة ، وقائع مؤتمر هندسة البرمجيات الحاسوبية 2004 (ECBS'04)
- ، فاغنر، ت.، "VFSMML - معيار XML لـ VFSM"، 2004
- نماذج الحوسبة
