Skip to content

Repository with notes and resources of my diploma work

Notifications You must be signed in to change notification settings

e1turin/bachelor-thesis

Repository files navigation

Бакалаврский Π΄ΠΈΠΏΠ»ΠΎΠΌ

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° рСпозитория

  • thesis - Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π’ΠšΠ , слайды ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ ΠΏΡ€Π΅Π΄Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.
  • circulator-kt - ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π’ΠšΠ .
  • project-documentation - ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠΎ курсу ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ производствСнной ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.
  • hw2ctls-kt - ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ экспСримСнтами для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Circulator.kt.

Ρ‚Π΅ΠΌΠ°: «РСализация модуля модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ для SCADA-систСм»

Бсылки

Controls.kt:

Π¦Π΅Π½Ρ‚Ρ€ Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ программирования МЀВИ

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Π’ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π’Π˜Π’Π¨ ИВМО ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚:

  • Modelsim
  • ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ: Xilinx, Intel, Amd, Gowin, Lattice
  • Matlab Simulink

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅: COMPARISON_TABLE.md

AnyLogic

LabView

MathWorks: Mathlab & Simulink

Amesim

Remex Simtera

ЦИВМ ЭкспонСнта

CIRCT

CIRCT β€” Circuit IR Compilers and Tools

Основан Π½Π° MLIR ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ свои Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ для описания Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ‚Ρ‹: https://circt.llvm.org/docs/Dialects/

Arcilator

Arcilator β€” симулятор ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π°Ρ… CIRCT (MLIR) (компилятор Π² llvm ΠΈ/ΠΈΠ»ΠΈ исполнСниС этого ΠΊΠΎΠ΄Π°)

video 2023 LLVM Dev Mtg - Arcilator: Fast and cycle-accurate hardware simulation in CIRCT

video 2024 EuroLLVM - Arcilator for ages five and up: flexible self-contained hardware simulation made..

  • slides
    • Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ устарСл ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ИПКН ΒΆ

slides: Circuit IR for Compilers and Tools, Creating hardware for ML

issues

ВСсты

State file (--state-file) contains observable model statesβ€”attributes of object such as registers, wires, memory, etc in program:

ИПКН DevTools ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ИБП РАН

CHISEL

CHISEL β€”

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π°

FIRRTL β€” ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдставлСниС для Chisel, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ CIRCT

Kotlin/Native

Достаточно статичСски ΡΠ»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ. НуТно ΠΈΠΌΠ΅Ρ‚ΡŒ C-header Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Konan .def Ρ„Π°ΠΉΠ».

Kotlin/JVM

Project Panama FFM API

Project Panama β€” https://openjdk.org/projects/panama/

Π’ свой Ρ‡Π΅Ρ€Π΅Π΄, ΠΌΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π²ΠΎ врСмя компиляции с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‰Π΅Π³ΠΎ Kotlin Poet.

JNI

JNI - Java Native Interface

  • Π’Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Π½Π° C/C++ - Π½ΡƒΠΆΠ½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π° этих языках,
  • тСхнология старая, начиная с Ρ€Π°Π½Π½ΠΈΡ… вСрсий Java,
  • ΠΈ Π½Π΅ поддаСтся JIT ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ FFM API.

Different samples of native interop

Knee -- seamlessly interop

ΠŸΡ€ΠΎΡ‡Π΅Π΅

ПИШ ИВМО: https://pish.itmo.ru/

Π’Π˜Π’Π¨ ИВМО: https://itmo.ru/ru/viewfaculty/115/

БообщСство FPGA Systems: https://t.me/fpgasystems

Venus rv32i β€” Kotlin RISC-V emulator:

MiL/SiL/PiL/HiL

Model-Driven Engineering

Quokka:

Verik:

FPGA Twitch 03 - Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² высокоуровнСвый синтСз - High Level Synthesis (Ρ‡Π°ΡΡ‚ΡŒ 1 ΠΈΠ· 2):

SystemC - Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ систСмного модСлирования

  • ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡ΠΊΠ° МИРЭA "SystemC ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСктронных систСм": http://www.toe-mirea.ru/download/file47.pdf

ИРИБ – инструмСнтарий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… схСм Π² срСдС Π‘++:

cocotb - testbench environment in Python

UVM - Universal Verification Methodology

НазваниС инструмСнта

  • Kotlin
  • IR
  • *iL = * in the Loop
  • HardWare
  • CIRCT = Circuit IR Compilers & Tools
  • Controls.kt ~ ctl, ctrl
  • OOC = out-of-controls
  • Arcilator = arc
  • model

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

  • cirkt -- lib

  • Circulator-kt -- wrapper

  • circulator -- ΠΈΠΌΠ΅Π΅Ρ‚ отсылку Π½Π° CIRCT, circuits, *lator-инструмСнты ΠΈ это Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ элСмСнта "циркулятор", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ†ΠΈΠΊΠ»Π΅.

  • Controlator -- Controls-kt adapter

  • Coock -- circuit out of controls-kt

  • cookt -- https://en.wiktionary.org/wiki/cookt

  • catch -- circuits at controls hardware

  • hatch -- hardware at contrlos

  • mocha -- models of controls hardware (ΠΌΠΎΠΊΠΊΠΎ -- ΠΊΠΎΡ„Π΅)

  • cirkus --

  • cikl, cycle

  • cyclatron -- scientific experiments, 'caiklatron', -tor ~ -tron, cycles,

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠΈ "Circulator.kt" для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Kotlin - https://github.com/e1turin/circulator-kt.

Π Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ

Π₯очСтся ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму прямо Π² Kotlin, вмСстС с ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ систСмой, Π½ΠΎ главная Π·Π°Π΄Π°Ρ‡Π° это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ транслятор Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдставлСниС. ΠžΡ‚ΡΡΠ΄Π° вопрос: Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ это *прСдставлСниС? Π’Π΅Π΄ΡŒ Ρƒ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ "Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅" Ρ‚ΠΈΠΏΠ° CIRCT ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅ Π² Π²ΠΈΠ΄Π΅ схСмы Π΄Π°Π½Π½Ρ‹Ρ… Π² Kotlin Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Data-классов, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ.

ΠŸΡ€ΠΈ условии Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ компилятор свой Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ выглядит ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ DSL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ запуска Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ IR ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, Ρ‚.ΠΊ. ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Top-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Gradle получится. ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Π΅Ρ‰Π΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ спСцифику Controls.kt ΠΈ Π΅Π³ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΏΠ΅Ρ€Ρ‚Π΅ΠΉ ΠΈ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ врСмя Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ΅ для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

НавСрноС Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ модуля: трансляция Π² IR ΠΈ симуляция повСдСния.

Π•Ρ‰Π΅ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ это всСгда ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Ρ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· сторонник инструмСнты Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ, условно, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² CIRCT ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ модСль Ρ‡Π΅Ρ€Π΅Π· arcilator, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ модСль ΠΈΠ· Kotlin Ρ‡Π΅Ρ€Π΅Π· Native.

  • Π›ΠΈΠ±ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ дальшС ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ IR, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° выглядит нСцСлСсообразно ΠΈΠ·-Π·Π° слоТности Ρ‚Π°ΠΊΠΎΠ³ΠΎ прСдприятия ΠΈ нСпригодности JVM для Ρ‚Π°ΠΊΠΈΡ… симуляций; ΠΏΠΎ сути придСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ дСкомпилятор ΠΈΠ· IR Π² Kotlin (?).

Π Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°:

  • Π½Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎ симуляции (Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ пСрСдаточная функция) -- всeΠ³Π΄Π° самая свСТая модСль для тСстрования.
  • И Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ RTL-модСль Π½Π΅ такая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΊΠ°ΠΊ модСль ΠΏΡ€ΠΈΠ±ΠΎΡ€Π°, врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΡ€ΠΎΠΆΠ΅ ΠΆΠ΅Π»Π΅Π·Π° Π³ΠΎΠ½ΡΡŽΡ‰Π΅Π³ΠΎ тСсты.
  • МодСль Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ Ρ‚Π°ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ΅ тСстированиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚.Π΅. ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ укладываСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°ΠΌΠΊΠΈ.
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° устройств Π½Π° ΠŸΠ›Π˜Π‘, Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€Π° этих устройств Π² SCADA-систСму: Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ°Π΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ устройств, Π° ΠΌΠΎΠΆΠ½ΠΎ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ описания.

МоТно ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° сСрвСрС ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΊ источнику истины ΠΏΡ€ΠΈ тСстировании.

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ модСль для получСния "ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ", Ρ‚ΠΈΠΏΠ° Π·Π°ΠΌΠΎΠΊΠ°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ящик.

Π’ качСствС Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ энкодСр, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ энкодСр для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° 65ΠΊ отсчСтов, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ простой Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "cycle-accurate", Ρ‡Ρ‚ΠΎ пСрСводится ΠΊΠ°ΠΊ "Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅" ΠΈΠ»ΠΈ "ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ". Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ это называСтся просто "Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Verilog".

МнС нравится 3 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ†Π΅Π»ΠΈ, Π³Π΄Π΅ ΠΌΡ‹ всС Ρ‚Π°ΠΊΠΈ останавливаСмся Π½Π° E2E тСстировании с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм. МоТно Π·Π°Π΄Π°Ρ‚ΡŒΡΡ вопросом, Π° Ρ‚Π°ΠΊ Π»ΠΈ ΠΎΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ. И для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ стоит привСсти ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ систСмы, Π³Π΄Π΅ ошибка проявляСтся ΠΈΠ·-Π·Π° слоТного взаимодСйствия Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ².

  • НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… возмоТностях Π² bluetooth Ρ‡ΠΈΠΏΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π° сообщСния, содСрТащиС Π½Π΅ явныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Π°ΠΊ Π²ΠΎΡ‚, ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π² систСмС Ρ‚Π°ΠΊΠΎΠ΅ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Ρ„Π»ΠΈΠΏΠ°Π΅Ρ‚ Π±ΠΈΡ‚ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сообщСний 0b11111111 (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² эфирС), Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ устройство Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ сигнал.
    • Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ спСцифицированно, Π½ΠΎ для устройств ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ…. А ΠΏΠΎΠΌΠ΅Ρ…ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ устройства Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΅Π³ΠΎ состоянии. И Π²ΠΎΡ‚ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ.
    • ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ доступноС Π½Π°ΠΌ Property-based тСстированиС ΠΈ доступ ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ состяниям.
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ устройства спСцифицированы Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ физичСскиС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΈ Ρ‚Π°ΠΊ получаСтся, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ситуации ΠΎΠ΄Π½ΠΎ устройство ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ физичСский сигнал, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Π³ΠΎΡ€Π°Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ устройства, условно сСрия 1.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

  • Асинхронная ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Controls-kt Π² синхронных модСлях Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
    • => Бинхронизация Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π² ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹.
    • => Π‘ΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° логичСском дискрСтном ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π° асинхронноС ΡƒΠΆΠ΅ зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  • ΠŸΠΎΡ‚Π΅Ρ€Ρ точности модСлирования, Ссли Π½Π΅ модСлируСтся пСрСфСрия ΠΏΡ€ΠΈΠ±ΠΎΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ethernet).
    • => Π‘Ρ‚Ρ‹ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° логичСских Π²Ρ‹Ρ…ΠΎΠ΄Π°Ρ…, Π±Π΅Π· слоТной ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ.
  • Блишком большиС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мощности Π½ΡƒΠΆΠ½Ρ‹ для модСлирования Ρ†Π΅Π»ΠΎΠΉ SCADA-систСмы.
    • => Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ MLIR & LLVM, Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· наблюдСния.
    • => Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ модСль Π½Π° сСрвСрС, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π·Π° ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π°Π΄Π°Π½ΠΈΠ΅...

1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ вопросы, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ для заполнСния Π±Π»ΠΎΠΊΠ° задания:

Π’Π΅Ρ…Π·Π°Π΄Π°Π½ΠΈΠ΅ -- Ρ‡Ρ‚ΠΎ. ЦСль -- Π·Π°Ρ‡Π΅ΠΌ. Π—Π°Π΄Π°Ρ‡ΠΈ -- ΠΊΠ°ΠΊ.

1.1. тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅:

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1 - Π±ΠΎΠ»Π΅Π΅ абстрактный:

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° языкС программирования Kotlin для Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° "Controls.kt", ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройствах Π·Π° счСт автоматичСского построСния исполняСмых ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° основС языка описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2 - Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ:

hidden

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2.5:

hidden

  • Будя ΠΏΠΎ Ρ‡ΡƒΠΆΠΈΠΌ Π²ΠΊΡ€ Ρ‚Π· Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΄ΠΈΠΏΠ»ΠΎΠΌ. ΠΈ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎ Ρ†Π΅Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

1.2. исходныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅:

  1. ДокумСнтация ΠΈ исходныС ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Controls.kt ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ.
  2. ДокумСнтация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Gradle.
  3. ДокумСнтация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚a Chisel.
  • это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

1.3. содСрТаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹:

староС 1:

Выпускная квалификационная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ возмоТности ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм для Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для создания ΠΈ модСлирования SCADA-систСм Controls.kt.

староС 2:

Выпускная квалификационная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Π½Π° языкС программирования Kotlin, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСского построСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ для Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° "Controls.kt" ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° языкС описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Π½ΠΎΠ²ΠΎΠ΅:

Выпускная квалификационная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° языкС программирования Kotlin, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Controls.kt, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ модСлирования Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

  • Π½ΠΎΡ€ΠΌ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π°Π½Π°Π»ΠΈΠ· цСлСсообразности?

  • содСрТаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, Π½Π°Π΄ Π½ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ? - ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚. Π‘ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ характСристика Ρ€Π°Π±ΠΎΡ‚Ρ‹ (ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅), Π½ΠΎ дальшС.

  • ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ: рСализация ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ»ΠΈ автоматизация?

1.4. Ρ†Π΅Π»ΡŒ:

Π’.ΠΊ. Ρ‚Π΅ΠΌΠ° Ρƒ мСня тСхничСски слоТная ΠΈ прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π΅ популярная, поэтому Π² Ρ†Π΅Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ‘ΠΌΠΊΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ свою Π·Π°Π΄ΡƒΠΌΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ комиссии Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ вопросов.

староС 1:

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ возмоТности модСлирования ΠΈ тСстирования систСмы Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм.

  • Π­Ρ‚ΠΎ "рСализация ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ", Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ эта ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°?

староС 2:

Автоматизация процСсса построСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Controls.kt.

Автоматизация процСсса построСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Controls.kt для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ² Π½Π° языкС описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

  • Автоматизация Ρ€Π°Π΄ΠΈ Ρ‡Π΅Π³ΠΎ? Π—Π°Ρ‡Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ часов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ дСлаСтся считанныС сСкунды.

Π½ΠΎΠ²ΠΎΠ΅:

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1:

Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° производство систСм Ρ‚ΠΈΠΏΠ° SCADA Π·Π° счСт ΠΈΡ… сквозного тСстирования с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм.

  • ЗакручСнная Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ°
  • Π² Ρ†Π΅Π»ΠΎΠΌ, сквозноС тСстированиС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ качСства Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ странно ΠΏΡ€ΠΈ Ρ†Π΅Π»ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, Π½ΠΎ примСняя Π½Π°ΡˆΡƒ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2:

Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° сквозноС тСстированиС SCADA систСм, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° "Controls-kt", Π·Π° счСт примСнСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм.

  • А сниТаСм Π»ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° тСстированиС? ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎ сниТаСм Π»ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° тСстированиС. А Ссли Π½Π΅ сниТаСм, Ρ‚ΠΎ ΠΈ Π½Π° производство Π½Π΅ сниТаСтся Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅.
    • А сниТСниС Π·Π°Ρ‚Ρ€Π°Ρ‚ относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Controls-kt с ΠΈΡ… асинхронной модСлью взаимодСйствия ΠΈΠ»ΠΈ Π½Π΅Ρ‚?

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 3:

ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ качСства систСм Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° "Controls.kt" Π·Π° счСт ΠΈΡ… сквозного тСстирования c ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройствах.

  • Π­Ρ‚Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π»ΡŒ. НавСрноС, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ качСства систСмы Π·Π° счСт возмоТности Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ сквозного модСлирования Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ.

  • ΠžΡ†Π΅Π½ΠΊΠ° Π·Π°Ρ‚Ρ€Π°Ρ‚: выбрасываСм ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, сразу тСстируСм Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… HDL модСлях - мСньшС врСмя ΠΈ Π½Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΡ‹ добиваСмся прСимущСства.

  • Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ: Π²Ρ‹ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ систСма отоплСния Π² вашСм Π΄ΠΎΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π±Π΅Π· сбоСв, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π±Ρ‹ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ оказался нСсовмСстим с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ части Π΄ΠΎΠΌΠ°.

1.5. Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • ИсслСдованиС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Π½Π° языкС программирования Kotlin для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с модСлями Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  • ДСмонстрация примСнСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² систСмС Π½Π° Π±Π°Π·Π΅ Controls-kt.
  • Анализ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².
  • ΠΏΠΎΡ…ΠΎΠΆΠ΅ Ρ‡Ρ‚ΠΎ эти Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½Ρ‹. Они скорСС Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΡ€ΠΎ "Ρ€Π°Π±ΠΎΡ‚Ρƒ", Ρ‚.Π΅. Π΅Π΅ смысл Π΄ΠΎ написания Π’ΠšΠ .

1.6. ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вопросов:

Skip.

  • А это Ρ‚ΠΎΡ‡Π½ΠΎ "Вопросы"?? -- Π²ΠΈΠ΄ΠΈΠΌΠΎ Π΄Π°
  • A это Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² Π’ΠšΠ , ΠΈΠ»ΠΈ Π½Π°Π΄ этим ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΠ°Ρ€ΠΈΡ‚ΡŒΡΡ?
    • судя ΠΏΠΎ всСму Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ΠΎ относится ΠΊ процСссу ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π’ΠšΠ .

1.7. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΈ пособия для выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Ρ‚.Π΄.:

  1. ДокумСнтация ΠΈ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Controls-kt - (Π΄Π°Ρ‚Π° обращСния ...)
  2. ДокумСнтация ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Chisel.
  3. ОписаниС ΠΈ докумСнтация FFM API Π² Java ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Panama - https://openjdk.org/projects/panama/ (Π΄Π°Ρ‚Π° обращСния ...)
  • это Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈΠ΄Π΅Ρ‚ Π² Π΄ΠΈΠΏΠ»ΠΎΠΌ, Π½ΠΎ Π½Π°Π΄ΠΎ Π»ΠΈ Ρ‚ΡƒΡ‚ ΠΌΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ?

2. Π€ΠΎΡ€ΠΌΠ° прСдставлСния ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π’ΠšΠ 

староС:

ΠžΡ‚Ρ‡Π΅Ρ‚. ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка с описаниСм исслСдвания ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ задания. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ с основными Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ.

Π½ΠΎΠ²ΠΎΠ΅:

Π€ΠΎΡ€ΠΌΠ° прСдставлСния основных Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π’ΠšΠ : ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка ΠΈ прСзСнтация. Π€ΠΎΡ€ΠΌΠ° прСдставлСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

3. Π”Π°Ρ‚Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ задания

14 октября 2024 Π³ΠΎΠ΄.

14.10.2024

4. Π‘Ρ€ΠΎΠΊ прСдставлСния Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ Π’ΠšΠ 

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ: Π‘Ρ€ΠΎΠΊ сдачи Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π΄Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»Π° Π“Π˜Π (ΠΏΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ процСсса).Β  Π‘Ρ€ΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ вСрсии Π’ΠšΠ  для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² систСмС «Антиплагиат» - Π½Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 10 Π΄Π½Π΅ΠΉ Π΄ΠΎ Π΄Π°Ρ‚Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π’ΠšΠ  (см.ПолоТСнии ΠΎ Π’ΠšΠ )

25 мая 2025 год.

25.05.2025

Аннотация

ЦСль исслСдования:

ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ качСства систСм Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° "Controls.kt" Π·Π° счСт ΠΈΡ… сквозного тСстирования с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройствах.

Π—Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π² Π’ΠšΠ :

  1. ИсслСдованиС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Π½Π° языкС программирования Kotlin для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с модСлями Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  3. ДСмонстрация примСнСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² систСмС Π½Π° Π±Π°Π·Π΅ Controls.kt.
  4. Анализ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ характСристика ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²:

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° основС языка описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с модСлями Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ для Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Controls.kt. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ продСмонстрирована Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈ сквозном тСстировании, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ качСство Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы Π·Π° счСт Ρ€Π°Π½Π½Π΅Π³ΠΎ выявлСния ошибок. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ†Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ достигнута.

Π—Π°Ρ‰ΠΈΡ‚Π°

ΠŸΡ€Π΅Π΄Π·Π°Ρ‰ΠΈΡ‚Π°

google presentation (comments)

Π’Π΅ΠΌΠ° Π’ΠšΠ : РСализация модуля модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ для SCADA-систСм

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚:

Controls.kt β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания лСгковСсных SCADA-систСм Π½Π° языкС программирования Kotlin, основан Π½Π° DataForge-control.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ развиваСтся Π¦Π΅Π½Ρ‚Ρ€ΠΎΠΌ Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ программирования МЀВИ.

ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΌΡ‹:

  • Активно Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ѐокус Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° смСстился Π² сторону встраивания Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ модСлирования с Ρ†Π΅Π»ΡŒΡŽ тСстирования ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌ MiL/SiL/PiL/HiL.
  • Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ процСсс создания SCADA-систСм.

    • Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ инструмСнты Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ сфСру примСнимости Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
    • Π•Π΄ΠΈΠ½Ρ‹ΠΉ язык для описания всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² систСмы.
  • Circuit IR Compilers and Tools

    • Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° для создания ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм Π½Π° Π±Π°Π·Π΅ MLIR (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ LLVM). β†’ Бимуляция Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ синтСз спСциализированных ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ².
  • Controls.kt (former DataForge-control):

Если интСрСсСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ - сСйчас я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ модСлью Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊΡ€ΠΎΠ²ΠΈ [URIT-5360/5380/5381 5-Part-Diff Auto Hematology Analyzer]. Π­Ρ‚ΠΎ достаточно слоТноС устройство ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… составных частСй, со своими особСнностями.

ЦСль ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π’ΠšΠ :

ЦСль:

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ возмоТности модСлирования ΠΈ тСстирования систСмы Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм.

Π—Π°Π΄Π°Ρ‡ΠΈ:

  1. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Controls.kt.
  2. ИсслСдованиС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  3. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля.
  4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля.
  5. ВСстированиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ модуля ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° совмСстимости с систСмой Controls.kt.
  6. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

План Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  1. Анализ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  2. ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.
  3. Анализ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ.
  4. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  5. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля.
  6. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйсов взаимодСйствия с Controls.kt.
  7. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.
  8. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля.
  9. ВСстированиС этого модуля.
  10. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… тСстов.
  11. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС с Controls.kt
  12. Анализ ΠΈ устранСниС выявлСнных Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ².
  13. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ вопросы

  1. А ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ SCADA-систСм? Π—Π°Ρ‡Π΅ΠΌ Controls.kt?
  2. ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΡƒΡ‚ это симуляция ΠΈΠ»ΠΈ эмуляция?
  3. А сниТСниС Π·Π°Ρ‚Ρ€Π°Ρ‚ относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Controls-kt с ΠΈΡ… асинхронной модСлью взаимодСйствия ΠΈΠ»ΠΈ Π½Π΅Ρ‚?

About

Repository with notes and resources of my diploma work

Resources

Stars

Watchers

Forks

Packages

No packages published