Size: a a a

2020 September 08

IC

Ilya L Che in F# Chat
Может быть это были одни и те же корейцы даже.
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Один и тот же кореец
источник

AK

Andrey Kurdyumov in F# Chat
Добрый день. Такой вопрос:
У меня есть два компонента (Raspbry + система управления питанием), которые между собой взаимодействуют как конечные автоматы.
Я бы хотел чтобы в комплексе эти две вещи работали максимально "правильно".
У меня есть
1. цепочки переходов состояний  заданные мной, которые приводят к "хорошим" состояниям.
2. цепочки переходов состояний  заданные мной, которые приводят к "плохим" состояниям. но они известны и я готов с ними жить.
Я подумал что я могу использовать FsCheck для того чтобы найти хитрые комбинации событий в системе, которые я не жду и которые приведут к нежелательному дя меня результату.

Пока у меня не получается придумать разумные инварианты. Как я понимаю в терминологии FsCheck это Property. Потому я решил начать с простого и задать вопросы
1. FsCheck это разумный выбор для подобной задачи?
2. Есть ли какие то рекомендации как формировать инварианты для конечных автоматов?
источник

VS

Vasily Shapenko in F# Chat
Ну у тебя есть карта переходов из состояния в состояние, как я понимаю
источник

AK

Andrey Kurdyumov in F# Chat
могу сделать в принципе.
источник

VS

Vasily Shapenko in F# Chat
Далее , тебе надо составить список правил
источник

VS

Vasily Shapenko in F# Chat
Что считать невалидным в результате цепочки преобразований
источник

VS

Vasily Shapenko in F# Chat
Например, что ты не можешь попасть из состояния А в состояние Б за н шагов
источник

I

IdiocyAcceptance in F# Chat
Ilya L Che
А я вспомнил выступление на какой-то фшарпной конференции недавней. Там как раз парочка корейцев рассказывала об использовании фшарпа.
Я тоже помню. Пионеры F# в Корее
источник

VS

Vasily Shapenko in F# Chat
Или состояние С не должно встречаться в цепочке больше одного раза
источник

VS

Vasily Shapenko in F# Chat
Потом пилишь генератор и наслаждаешься
источник

I

IdiocyAcceptance in F# Chat
Andrey Kurdyumov
Добрый день. Такой вопрос:
У меня есть два компонента (Raspbry + система управления питанием), которые между собой взаимодействуют как конечные автоматы.
Я бы хотел чтобы в комплексе эти две вещи работали максимально "правильно".
У меня есть
1. цепочки переходов состояний  заданные мной, которые приводят к "хорошим" состояниям.
2. цепочки переходов состояний  заданные мной, которые приводят к "плохим" состояниям. но они известны и я готов с ними жить.
Я подумал что я могу использовать FsCheck для того чтобы найти хитрые комбинации событий в системе, которые я не жду и которые приведут к нежелательному дя меня результату.

Пока у меня не получается придумать разумные инварианты. Как я понимаю в терминологии FsCheck это Property. Потому я решил начать с простого и задать вопросы
1. FsCheck это разумный выбор для подобной задачи?
2. Есть ли какие то рекомендации как формировать инварианты для конечных автоматов?
Если автоматы асинхронные, то Microsoft Coyote может подойти
источник

AK

Andrey Kurdyumov in F# Chat
Vasily Shapenko
Или состояние С не должно встречаться в цепочке больше одного раза
правильно ли я понимаю что в качестве модели проверяющей реализацию, будет набор
- сколько шагов прошло с момента А
- сколько раз я попал в состояние С
такого рода утверждения будут для меня проверяющими свойствами, так?
источник

AK

Andrey Kurdyumov in F# Chat
IdiocyAcceptance
Если автоматы асинхронные, то Microsoft Coyote может подойти
спасибо за наводку, посмотрю.
источник

MS

Michael Snytko in F# Chat
простите еще раз, а что за кавычка в конце имени функции? plistoffloats'
источник

MS

Michael Snytko in F# Chat
говорит Plistoffloats prime, что за prime
источник

MS

Michael Snytko in F# Chat
или это просто название такое
источник

VS

Vasily Shapenko in F# Chat
Andrey Kurdyumov
правильно ли я понимаю что в качестве модели проверяющей реализацию, будет набор
- сколько шагов прошло с момента А
- сколько раз я попал в состояние С
такого рода утверждения будут для меня проверяющими свойствами, так?
Ну я хз, какие у тебя условия валидности
источник

VS

Vasily Shapenko in F# Chat
Michael Snytko
простите еще раз, а что за кавычка в конце имени функции? plistoffloats'
Это генерик
источник

VS

Vasily Shapenko in F# Chat
Типа type<T> в сишарпе
источник