مخطط حالة الآلة State Machine Diagram

اقرأ في هذا المقال


مخطط حالة الآلة هو احد مخططات لغة النمذجة الموحدة، حيث يقوم المخطط بتصميم سلوك كائن واحد، ويحدد تسلسل الأحداث التي يمر بها الكائن خلال حياته استجابةً للأحداث.

ما هو مخطط الحالة في لغة النمذجة الموحدة

حالة الآلة هي أي جهاز يخزن حالة الكائن في وقت معين، ويستطيع تغيير حالته أو التسبب في إجراءات أخرى بناءً على المدخلات التي يتلقاها. تشير الحالات إلى مجموعات مختلفة من المعلومات التي يمكن أن يحتفظ بها الكائن، وليس إلى كيفية تصرف الكائن. لفهم الحالات المختلفة لكائن ما، قد ترغب في تصور جميع الحالات المحتملة وإظهار كيفية وصول الكائن إلى كل حالة، ويمكنك القيام بذلك باستخدام مخطط حالة.

يبدأ كل مخطط حالة عادةً بدائرة مظلمة تشير إلى الحالة الأولية وتنتهي بدائرة ذات حدود تشير إلى الحالة النهائية. مع ذلك، على الرغم من وجود نقاط بداية ونهاية واضحة، فإن مخطط الحالة ليس بالضرورة أفضل أداة لالتقاط التقدم الشامل للأحداث. بدلاً من ذلك، فهي توضح أنواعًا معينة من السلوك، وعلى وجه الخصوص (التحولات من حالة إلى أخرى).

تصور مخططات الحالة بشكل أساسي الحالات والتحولات، حيث يتم تمثيل الحالات بمستطيلات ذات زوايا دائرية تحمل اسم الحالة، ويتم الإشارة للتحولات من حالة لأخرى بأسهم تتدفق، إذ توضح كيف تتغير الحالات. في الشكل أدناه، يمكنك رؤية هذين العنصرين في العمل على مخطط بسيط للحياة الطلابية.

state_diagram_basic_example-500x281-1

تطبيقات مخطط الحالة

مثل معظم مخططات الـ (UML)، فإن مخطط الحالة لها استخدامات عديدة. التطبيقات الرئيسية هي كما يلي:

  • رسم كائنات مدفوعة بالحدث في نظام تفاعلي.
  • وصف كيف يتحرك الكائن عبر حالات مختلفة خلال حياته.
  • عرض السلوك العام لحالة الآلة أو سلوك مجموعة ذات صلة من حالة آلات.
  • لتحديد الأحداث المسؤولة عن تحولات الحالة.

رموز مخطط حالة الآلة

فيما يلي رموز مخطط حالة الآلة المدرجة أدناه:

uml-state-machine-diagram

  • الحالة الأولية Initial state: تحدد الحالة الأولية البداية للنظام، ويتم تمثيلها بدائرة سوداء مملوءة.
  • مربع الحالة State-box: يصور شروط أو ظروف كائن معين لفئة في نقطة زمنية محددة. يتم استخدام مستطيل بزوايا دائرية لتمثيل مربع الحالة.
  • صندوق القرار Decision box: هو شكل ماسي يمثل القرارات التي يجب اتخاذها على أساس حارس تم تقييمه.
  • الحالة النهائية Final state: تمثل الحالة النهائية النهاية للنظام، يُشار إليه بدائرة مملوءة موجودة داخل دائرة.
  • الانتقال Transition: يُطلق على تغيير التحكم من حالة إلى أخرى بسبب حدوث حدث ما بمثابة انتقال، ويتم تمثيله بسهم مكتوب عليه حدث تبعه التغيير.

أنواع الحالات

تتكون (UML) من ثلاث حالات:

  • الحالة البسيطة: لا تشكل أي بنية فرعية.
  • الحالة المركبة: تتكون من حالات متداخلة (محطات فرعية)، بحيث لا تحتوي على أكثر من حالة أولية واحدة وحالة نهائية. ويمكن أن تتداخل مع أي مستوى.
  • حالة الجهاز الفرعي: حالة الجهاز الفرعي متطابقة لغوياً للحالة المركبة، ولكن يمكن إعادة استخدامها.

كيفية رسم مخطط حالة الآلة

يتم استخدام مخطط آلة الحالة لتصوير حالات مختلفة خضع لها كائن. التغيير في حالة إلى أخرى يرجع إلى وقوع حدث ما، إذ يجب تحديد جميع الحالات المحتملة لكائن معين قبل رسم مخطط آلة الحالة. التركيز الأساسي لمخطط حالة الآلة هو تصوير حالات النظام. هذه الحالات ضرورية أثناء رسم مخطط انتقال الحالة، يجب معرفة الكائنات والحالات والأحداث الناتجة عن انتقال الحالة قبل تنفيذ مخطط آلة الحالة، فيما يلي الخطوات التي يجب دمجها أثناء رسم مخطط آلة الحالة:

1- يجب تعيين اسم فريد ومفهوم لـ “انتقال الحالة” الذي يصف سلوك النظام.

2- من بين كائنات متعددة، يتم تنفيذ الكائنات الأساسية فقط.

3- يجب إعطاء اسم مناسب للأحداث والتحولات.

المصدر: UML State Machine DiagramState Machine Diagram Tutorial?What is State Machine Diagram


شارك المقالة: