Кавоварка: логічний рівень¶
Вступ¶
На логічному рівні ми визначимо технологічно агностичне рішення. Це середній рівень абстракції, де система описується з точки зору її структури та поведінки. На цьому рівні основна увага приділяється тому, як організовані компоненти системи та як вони взаємодіють один з одним.
Функціональна гранична поведінка¶
Діаграма функціональної межі — це тип діаграми активності SysML, який використовується для відображення взаємодії між різними логічними блоками. Доріжки для плавання поділяють діаграму на різні області, кожна з яких представляє окремий функціональний блок або компонент.
У цьому випадку діаграма включає доріжки для HMI, контролера, водяного насоса, водонагрівача, головки групи та портафільтра. HMI отримує натискання кнопки від бариста, а потім надсилає команду контролеру. Потім контролер дає команду на запуск водонагрівача, і коли вода досягне потрібної температури, контролер дає команду на запуск насоса. Потім вода прокачується через головку групи в портафільтр, заварюючи каву. Діаграма показує потік інформації та дії між різними логічними блоками та допомагає переконатися, що поведінка, яку забезпечує кожен блок, належним чином пов’язана та інтегрована в систему.
У пакеті Logical розгорніть пакет Behavior у браузері моделей і двічі клацніть діаграму з назвою Functional Boundary Behavior. Додаткові доріжки можна додати, натиснувши на доріжки та додавши додаткові розділи в редакторі властивостей. Ім’я розділу перед двокрапкою також можна змінити в редакторі властивостей. Назви блоків можна змінити в пакеті Structure, як пояснювалося в розділі діаграми домену.
Додаткові потоки об’єктів, закріплення (зверніть увагу на входи та виходи) і дії можна створити за допомогою панелі інструментів. Вузли параметрів, які приєднані до активності ліворуч і праворуч від діаграми, створюються та перейменовуються шляхом натискання на дію та зміни їх у редакторі властивостей.
Логічний кінцевий автомат¶
Машина логічного стану для кавомашини – це діаграма, яка показує різні стани та переходи, через які проходить машина для приготування кави. У цьому випадку є два основних стани: увімкнено та вимкнено.
Коли кавова машина вмикається, вона переходить у стан On. Усередині стану «Ввімкнуто» є кілька підстанів, починаючи зі стану тепла, води. Машина перейде зі стану нагріву води в стан готовності, коли температура досягне заданої точки.
Коли машина перебуває в стані готовності, користувач може вибрати режим однієї або двох чашок. Залежно від вибраного режиму машина перейде в режим однієї або двох чашок.
Відкрийте діаграму логічних станів і за допомогою редактора властивостей додайте область у стан «Увімкнено». Далі використовуйте Toolbox, щоб додати додаткові підстани та перехід. Захисники для переходів, показані в дужках, додаються шляхом вибору переходу та додавання обмежувача в редакторі властивостей.
Схема логічного автомата стану для кавомашини показує ці стани та різні умови, які викликають переходи. Це допомагає мурахам, які розробляють машину, зрозуміти, як працює кавоварка, і переконатися, що вона працює належним чином.
Логічна структура¶
Логічна структура показує, з яких логічних блоків складається еспресо-машина. Оскільки ми знаходимося на логічному рівні, ці блоки повинні бути агностиками щодо технічного вибору.
До складу еспресо-машини входять такі логічні блоки:
Резервуар для води
Водяний насос
Водонагрівач
Портафільтр
Контролер
Керівник групи
HMI
Кожен блок представляє ключову частину еспресо-машини, а зв’язок утримання використовується між еспресо-машиною та її логічними частинами.
Резервуар для води: резервуар для води – це ємність, у якій зберігається вода, яка використовується в еспресо-машині. Зазвичай він має певну місткість і призначений для легкого наповнення та очищення. Резервуар для води подає воду до водяного насоса, коли це необхідно.
Водяний насос: водяний насос відповідає за забір води з резервуара для води та створення необхідного тиску, щоб проштовхнути воду через кавову гущу в портафільтрі. Він відіграє вирішальну роль у процесі екстракції еспресо, забезпечуючи постійний потік води.
Водонагрівач: водонагрівач, також відомий як бойлер або нагрівальний елемент, відповідає за нагрівання води до оптимальної температури для приготування еспресо. Він підтримує бажану температуру води, щоб забезпечити правильний віджим і смак.
Портафільтр: портафільтр – це знімний пристрій, схожий на ручку, який утримує кавову гущу. Він кріпиться до еспресо-машини і виконує роль тримача фільтра. Вода з насоса проходить через кавову гущу в портафільтрі, щоб отримати аромати та створити еспресо.
Контролер: Контролер, часто мікроконтролер або спеціальна друкована плата, є мозком кавоварки еспресо. Він керує та координує роботу різних компонентів, таких як водяний насос, водонагрівач і HMI, щоб забезпечити правильний процес пивоваріння. Він відстежує та контролює температуру, тиск та інші параметри для підтримки стабільності та досягнення бажаних результатів.
Групова головка: групова головка є частиною еспресо-машини, до якої кріпиться портафільтр. Він забезпечує надійне з’єднання між портафільтром і машиною, дозволяючи звареному еспресо витікати з портафільтра в чашку. Голова групи також допомагає підтримувати належну температуру та тиск під час процесу пивоваріння.
HMI (людина-машинний інтерфейс): HMI — це інтерфейс користувача кавоварки для приготування еспресо. Він надає користувачеві засоби для взаємодії з машиною, зазвичай за допомогою кнопок, перемикачів або сенсорного екрана. HMI дозволяє користувачеві вибирати різні параметри заварювання, регулювати параметри та контролювати стан машини. Він забезпечує зворотній зв’язок і відображає інформацію, пов’язану з процесом заварювання, наприклад час заварювання, температуру та вибір розміру чашки.
Наразі ми не робили жодного технічного вибору, наприклад, ми не вказали тип контролера, потужність насоса чи модель головки групи. Ці деталі будуть визначені, коли ми перейдемо до рівня технологій.
Мурахам потрібна більше вашої допомоги, щоб оновити схему логічної структури, щоб вона відповідала наведеній вище.
Логічна межа¶
Логічна границя — це тип внутрішньої блок-схеми, яка представляє внутрішню структуру системи, ілюструючи зв’язки між її внутрішніми компонентами або блоками. Це допомагає візуалізувати, як ці блоки взаємодіють і обмінюються інформацією в системі. Термін «межа», який використовується тут, означає чіткий вигляд коробки всередині еспресо-машини на логічній межі. Він використовує властивості частин блоків, які були на схемі логічної структури вище.
Взаємодія між властивостями частин всередині еспресо-машини показано як ItemFlows на конекторах.
Вода: відображає потік води з резервуара для води до водяного насоса.
Увімк./Вимк.: представляє команду або сигнал для ввімкнення або вимкнення еспресо-машини.
Volume Adjustment (Регулювання гучності): являє собою вибране користувачем регулювання гучності для випуску кави.
Вода під тиском: являє собою потік води під тиском для видобутку кави.
Команда нагріву: представляє команду або сигнал для активації водонагрівача та початку процесу нагрівання.
Температура: являє собою сигнал зворотного зв’язку, що вказує на поточну температуру води.
Гаряча вода під тиском: гаряча вода під тиском для заварювання кави.
Суміш кави з водою: являє собою суміш гарячої води та кавової гущі під час процесу заварювання.
Увага
Зверніть увагу, що ми не показуємо нічого, що входить або виходить за межі еспресо-машини, наприклад, вхідні дані від бариста або отриману каву. Наразі Gaphor не підтримує додавання портів до межі внутрішньої блок-схеми, але ми сподіваємося, що скоро зможемо додати підтримку!
Ці потоки елементів відображають основні взаємодії та обміни всередині еспресо-машини. Вони представляють потік води, сигнали керування, зворотний зв’язок по температурі та отриману кавово-водяну суміш. Потоки елементів ілюструють послідовність і зв’язки між різними компонентами, що дає змогу краще зрозуміти, як функціонує кавомашина в цілому.
Знову допоможіть мурахам, оновивши схему логічної межі так, щоб вона відповідала наведеній вище.
Логічні вимоги¶
Логічні вимоги - це високорівневі специфікації та функціональні можливості, які описують, що повинна виконувати система або продукт, не вказуючи, як це буде реалізовано. Ці вимоги зосереджені на бажаних результатах і поведінці системи, а не на конкретних технічних деталях.
Ми також уже визначили поведінку та структуру еспресо-машини на логічному рівні, тому зараз головним завданням є переклад цієї інформації словами у вигляді вимог.
Порада
Якщо вам потрібна допомога у написанні хороших вимог, рекомендуємо скористатися [INCOSE Guide to Needs and Requirements] (https://portal.incose.org/commerce/store?productId=INCOSE-GUIDENEEDSREQ) та [Easy Approach to Requirements Syntax] (https://alistairmavin.com/ears/).
Ми використовуємо зв’язок «Похідна вимога» від Логічної вимоги до Концептуальної вимоги, який ми створили раніше. Напрямок цього зв’язку є похідним від напрямку, який може бути протилежним тому, до якого ви звикли, коли вимога вищого рівня вказує на вимогу нижчого рівня.
Тут ми виводимо дві вимоги:
Команди контролера нагріваються
Тиск води 900 кПа
Оновіть діаграму «Логічні вимоги» цими вимогами. Якщо ви хочете, ви також можете розробити додаткові вимоги для всієї логічної поведінки та структури, які ми визначили на інших діаграмах.