ماشه ورود یا خروج؟

ساخت وبلاگ

اطمینان در بحران کرونا و پس از آن ما شرکت شما را به صورت کارآمد و پایدار دیجیتالی می کنیم

راهنمای کاربر

واکنش ها پیوند را به کلیپ بورد کپی کنید

واکنش ها یکی از مهم ترین ویژگی های زبان آیتم CREATE است. اساساً هر چیزی که در یک نمودار وضعیت اتفاق می افتد در یک واکنش اتفاق می افتد.

واکنش ها را می توان به حالت ها و همچنین به انتقال ها متصل کرد. در حالی که حالت ها می توانند به تعداد دلخواه واکنش داشته باشند، انتقال ها فقط می توانند یک واکنش داشته باشند.

نحو از استانداردهای تئوری اتوماتا پیروی می کند، جایی که خروجی با استفاده از نماد زیر در ارتباط با ورودی خودکار قرار می گیرد (مخصوصاً Mealy automata):

itemis CREATE از دستور زیر برای همه واکنش ها استفاده می کند:

مقادیر ممکنی که می توانند به عنوان یک ماشه مشخص شوند به زمینه بستگی دارد که یا حالت یا انتقال است.

هر سه جزء از نظر گرامری اختیاری هستند، اگرچه واکنشی که نه ماشه ای داشته باشد و نه محافظی هرگز اتفاق نمی افتد. واکنش های بدون اثر برای انتقال مفید هستند، اسلش / را نیز می توان حذف کرد.

مشخصات ماشه کپی پیوند به کلیپ بورد

واکنش ها می توانند محرکی را تعریف کنند که باید برای فعال کردن واکنش رخ دهد. رویدادها محرک های احتمالی هستند، و همچنین کلمات کلیدی خاصی که در زبان statechart تعریف شده اند.

ماشه ها را می توان با محافظ ها ترکیب کرد تا شرایط اجرای واکنش را بیشتر مشخص کند. در آن صورت، واکنش تنها در صورتی اجرا می شود که هم ماشه رخ دهد و هم شرط گارد درست باشد.

شما می توانید چندین محرک برای یک واکنش تعریف کنید که با کاما از هم جدا شده اند: trigger1، trigger2. برای شلیک ماشه ترکیبی، کافی است که یکی از محرک های منفرد رخ دهد.

چند محرک خاص توسط زبان statechart تعریف شده است:

  • after : بعد از یک زمان معین اجرا کنید
  • every : بعد از یک زمان معین به صورت دوره ای اجرا شود
  • همیشه : همیشه اجرا شود
  • oncycle : مثل همیشه
  • else : برای حالت های انتخاب مفید است
  • پیش فرض: مانند موارد دیگر
  • ورود: با ورود به حالت اجرا می شود
  • exit: هنگام خروج از حالت اجرا می شود
  • اگر رویدادی به نام ev1 اتفاق بیفتد یک واکنش رخ می دهد: ev1 / effect
  • اگر ev1 یا ev2 اتفاق بیفتد یک واکنش رخ می دهد: ev1، ev2 / اثر
  • اگر ev1 اتفاق بیفتد یا سه ثانیه بگذرد، یک واکنش رخ می دهد: ev1، پس از 3 ثانیه / اثر

شکل "مشخصات رویداد نمای کلی" نشان می دهد که مشخصات رویداد را در یک ماشه واکنش و نحوه تعریف نحو آنها قرار می دهد.

Event specifications syntax overview

مشخصات رویداد نمای کلی نحو

واکنش "پس از" پیوند کپی به کلیپ بورد

After Trigger یک رویداد زمانی یک شات را مشخص می کند.

پس از مدت زمان مشخص ، واکنش ایجاد می شود. یک ماشه پس از آن می تواند در انتقال حالت ها و همچنین در واکنش های محلی ایالت ها و Statecharts استفاده شود. مدت زمان مشخص شده هنگامی که دولت یا StateChart وارد می شود شروع می شود.

خلاصه داستان: واحد بعد از زمان

مقدار زمان یک تحت اللفظی عدد صحیح یا عبارتی با مقدار عدد صحیح است.

واحد زمان یکی از:

  • S: ثانیه
  • MS: میلی ثانیه
  • ایالات متحده: میکرو ثانیه
  • NS: نانو ثانیه

واکنش واکنش "هر" کپی به کلیپ بورد

هر محرک رویدادهای زمانی دوره ای را مشخص می کند.

واکنش به طور مکرر پس از گذشت از مدت زمان مشخص انجام می شود. از هر محرک می توان در انتقال و همچنین در واکنش های محلی حالتها و استاتچارت ها استفاده کرد. مدت زمان مشخص شده هنگامی شروع می شود که دولت یا Statechart وارد می شود و به صورت دوره ای تکرار می شود.

خلاصه داستان: هر واحد

مقدار زمان یک تحت اللفظی عدد صحیح یا عبارتی با مقدار عدد صحیح است.

واحد زمان یکی از:

  • S: ثانیه
  • MS: میلی ثانیه
  • ایالات متحده: میکرو ثانیه
  • NS: نانو ثانیه

واکنش "همیشه" پیوند را به کلیپ بورد کپی کنید

همیشه ماشه همیشه درست است و باعث می شود واکنشی در هر مرحله اجرا به تدوین (RTC) اجرا شود. این ماشه معادل ماشه OnCycle است.

واکنش کپی "OnCycle" واکنش به کلیپ بورد

ماشه OnCycle همیشه درست است و باعث می شود واکنشی در هر مرحله اجرا به عملکرد (RTC) اجرا شود. این ماشه معادل همیشه ماشه است.

پیوند واکنش "دیگری" پیوند کپی به کلیپ بورد

ماشه دیگر در نظر گرفته شده است که برای انتقال خروجی از حالت های شبه انتخابی مورد استفاده قرار گیرد تا اطمینان حاصل شود که همیشه یک انتقال خروجی وجود دارد که می تواند انجام شود. این فقط در انتقال قابل استفاده است و به معنای کمترین اولویت ارزیابی برای آن انتقال است. ماشه پیش فرض معادل ماشه دیگر است.

پیوند واکنش "پیش فرض" کپی به کلیپ بورد

ماشه پیش فرض در نظر گرفته شده است تا برای انتقال خروجی از حالت های شبه انتخابی مورد استفاده قرار گیرد تا اطمینان حاصل شود که همیشه یک انتقال خروجی وجود دارد که می تواند انجام شود. این فقط در انتقال قابل استفاده است و به معنای کمترین اولویت ارزیابی برای آن انتقال است. ماشه پیش فرض معادل ماشه دیگر است.

پیوند واکنش "ورود" کپی به کلیپ بورد

یک محرک ورودی بلافاصله قبل از فعال کردن آن ، اقداماتی را که هنگام ورود به یک دستگاه یا دستگاه دولتی انجام می شود ، نشان می دهد.

لطفاً توجه داشته باشید: یک انتقال خود ، که از یک کشور به خود باز می گردد ، در واقع ابتدا ترک می شود و سپس دوباره وارد دولت می شود. این بدان معناست که اثرات خروج آن و همچنین اثرات ورود آن اجرا می شود. این برخلاف یک واکنش محلی است که بدون ترک وضعیت فعال اجرا می شود. بنابراین اثرات خروج و ورود در مورد دوم اجرا نمی شود.

پیوند واکنش "خروج" پیوند کپی به کلیپ بورد

یک محرک خروجی بلافاصله پس از غیرفعال کردن ، اقداماتی را که هنگام خروج از یک دستگاه یا دستگاه دولتی انجام می شود ، نشان می دهد.

لطفاً توجه داشته باشید: یک انتقال خود ، که از یک کشور به خود باز می گردد ، در واقع ابتدا ترک می شود و سپس دوباره وارد دولت می شود. این بدان معناست که اثرات خروج آن و همچنین اثرات ورود آن اجرا می شود. این برخلاف یک واکنش محلی است که بدون ترک وضعیت فعال اجرا می شود. بنابراین اثرات خروج و ورود در مورد دوم اجرا نمی شود.

شرایط نگهبان پیوند کپی به کلیپ بورد

یک شرط نگهبان یا به سادگی نگهبان ، گزینه دیگری است که می تواند برای مشخص کردن واکنش یک واکنش مورد استفاده قرار گیرد. از شرایط نگهبان می توان به تنهایی یا همراه با یک ماشه مشخص استفاده کرد. در حالت دوم ، ماشه باید شلیک شود و نگهبان برای واکنش به آتش سوزی آن باید صادق باشد.

به عنوان یک یادآوری ، نحو واکنش کامل به شرح زیر است:

در براکت های مربع می توانید از هر عبارتی که به یک بولی ارزیابی می کند ، استفاده کنید. متغیرهای بولی ، انواع مقایسه ها و عملیاتی که یک بولی را در این دسته قرار می دهند. علاوه بر این ، وقایع همچنین به عنوان بولی که در هنگام فعال بودن این رویداد صادق است ، رفتار می شوند. این اجازه می دهد تا با هماهنگی آنها با "&&" ، وقایع همزمان چندین رویداد را بررسی کنید.

لطفاً توجه داشته باشید: آیتم های ایجاد شده از مفهوم "حقیقت و غلط" که در C ، JavaScript یا Python دیده می شود ، پشتیبانی نمی کند.[x] یک شرط نگهبان معتبر نیست ، مگر اینکه نوع x بولی باشد.

لطفاً با شکل "نمای کلی نحو شرایط نگهبان" مشورت کنید تا دریابید که چگونه یک وضعیت نگهبان به طور نحوی در یک واکنش قرار می گیرد.

Guard condition syntax overview

بررسی اجمالی نحو وضعیت گارد

اقدامات و اثرات واکنش پیوند کپی به کلیپ بورد

یک مشخصات انتقال ممکن است حاوی صفر، یک یا چند عمل باشد که هنگام انجام انتقال اجرا می شوند. یک عمل می تواند چیزی مانند اختصاص یک مقدار به یک متغیر، فراخوانی یک عملیات یا افزایش یک رویداد باشد. تمام اقدامات انجام شده با هم، اثر واکنش انتقال یا به سادگی اثر نامیده می شود. دستور کامل واکنش ها به شرح زیر است:

این به این معنی است که اثر فقط در صورتی اجرا می شود که ماشه شلیک شود یا وجود نداشته باشد و شرط گارد درست باشد یا وجود نداشته باشد و حداقل یک ماشه یا یک محافظ وجود داشته باشد. بخش های مربوط به ماشه ها و شرایط محافظ را ببینید.

به طور معمول، اقدامات بیانیه هستند. توجه داشته باشید که می توانید از عبارت شرطی نیز برای زیباتر کردن برخی ساختارها استفاده کنید.

اگر یک افکت شامل چندین عمل باشد، باید با یک نقطه ویرگول از هم جدا شوند. این بدان معناست که آخرین اقدام با نقطه ویرگول دنبال نمی شود. نحو عبارت است از:

یک واکنش در یک حالت همیشه حداقل با یک عمل یک اثر واکنشی دارد.

شکل "Syntax اثر واکنش" تعریف نحو را نشان می دهد.

Reaction effect syntax

نحو اثر واکنش

Example: When a transition or local reaction specified as ev1 [x >3] / x += 1; اطلاع رسانی (x); raise ev2 اجرا می شود، متغیر x را 1 افزایش می دهد، عملیات notify را با پارامتر x فراخوانی می کند و رویداد ev2 را افزایش می دهد.

بالا بردن و پردازش یک رویداد پیوند را در کلیپ بورد کپی کنید

برای نحو افزایش رویداد، بخش "افزایش یک رویداد" را ببینید. برای نحو اعلان رویداد، بخش "رویدادها" را ببینید.

انواع مختلفی از معناشناسی پردازش رویداد وجود دارد. این ها را می توان به صورت جداگانه برای هر نمودار وضعیت با استفاده از حاشیه نویسی های مختلف تعریف کرد:

آموزش فارکس برای مبتدی ها...
ما را در سایت آموزش فارکس برای مبتدی ها دنبال می کنید

برچسب : نویسنده : Mihayloo بازدید : <-PostHit-> تاريخ : شنبه 29 بهمن 1401 ساعت: 19:10