هل هناك فرق واضح بين الحدث والدولة
-
21-12-2019 - |
سؤال
هذا السؤال فلسفي بعض الشيء ويشبه "البيانات والرمز هما نفس الشيء أم لا".
هل هناك فرق واضح بين الحدث (الإشارة) والحالة؟
مثال:
على سبيل المثال، هناك سيارة تمر على الطريق.عندما تنطلق السيارة، يأتي رجل (man_A
) عبور الطريق يتوقف فجأة.القرن هو الإشارة "man_A
يتوقف فجأة" هي حالة man_A
.
رجل آخر (man_B
) كان يعبر الطريق أيضًا في نفس الوقت وفي نفس المكان.
دعونا نفكر في ذلك man_B
كان أصم، لذلك لا يستطيع سماع البوق.ولكن إدراك "man_A
توقف فجأة" ستكون إشارة له.كان يتوقف فجأة كما لو أنه سمع صوت البوق.
لذلك أود أن أقول "إن الدولة يمكن أن تكون إشارة لعملية أخرى.إشارة تضع العملية في حالة أخرى.ولهذا السبب هما نفس الشيء تمامًا"
هل أنا مخطئ، هل هناك فرق واضح بينهما؟
الإشارة هي تغيير الحالة.يمكننا تعريف أي إشارة بحالتين.
المحلول
حسنًا، الحالة ليست إشارة لأن الإشارة تأتي في وقت محدد معين.
الدولة-يتغير هو نتيجة لإشارة ويمكن اعتباره إشارة في حد ذاته.لكنها ليست الدولة نفسها.وتستمر الحالة على حالها بعد زوال الإشارة بزمن طويل.
كيف ستكون الحالة الأولية إشارة، على سبيل المثال.
نصائح أخرى
إنهم مختلفون جدًا جدًا:
قد يتسبب نفس الحدث في حدوث انتقالات إلى حالات مختلفة، اعتمادًا على الحالة الحالية:
في SCXML يمكنك الحصول على
<parallel>
الدول التي تحدد المناطق المتعامدة.في هذه الحالة، قد يؤدي حدث واحد إلى تشغيل عدة انتقالات متزامنة إلى حالات مختلفة:
وعلاوة على ذلك، وذلك بسبب احتمال وجود
cond="…"
السمات، والانتقال إلى حالة أخرى قد أو قد يكون لا تحدث عندما يتم تشغيلها بواسطة حدث ما.إذن لدينا الآن حدث قد لا يغير حالته.وعلاوة على ذلك، فمن الممكن أن يكون هناك انتقال مع لا
event
السمة، مما يتسبب في تغيير الحالة بمجرد أن تكون قيمة نموذج البيانات أو نتيجة البرنامج النصي صحيحة.إذن لدينا الآن تغيير في الحالة يمكن أن يحدث دون أي حدث مثير.