动态状态进展的高级模式?

发布于 2024-08-19 20:16:46 字数 1436 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

戈亓 2024-08-26 20:16:46

您可能会考虑

Modelling Office Processes with Functional Parsers
Technical report UU-CS-1994-50
Gert Florijn
Utrecht University
[http://www.serc.nl/people/florijn/papers/UU-CS-1994-50.html][1]

这是一个片段:

3.2。第一个例子:费用报销

考虑差旅费报销的程序。它由用户发起,用户必须指定旅行的详细信息,特别是所花的钱。然后,该规范被发送给用户的经理,他必须批准报销,但也可以拒绝。如果获得批准,管理部门会将钱转给员工。稍微简化一下,我们可以将此过程的顶层建模如下:

expenseclaim  = arec "expenseclaim" 
            (serie [expenseform, inspect, oneof [reimbursed, refused]])
reimbursed    = arec "reimbursed"  (serie [approved, reimbursement])

填写费用表格意味着提供几条信息,进一步细分为个人信息和索赔本身的信息,例如费用产生的项目,涉及的差旅费、会议出席费和其他费用:

expenseform = arec "expenseform" (serie [personal, claim])
personal    = arec "personal" (serie [requester,department,bankaccount])
claim       = arec "claim" (serie [project,travel,conference,other])

中的其他解析器被建模为基本动作解析器,即

inspect     = actl "inspect"        approved    = actl "approved"
refused     = actl "refused"        requester   = actl "requester"
department  = actl "department"     bankaccount = actl "bankaccount"
project     = actl "project"        travel      = actl "travel"
conference  = actl "conference"     other       = actl "other"
reimbursement = actl "reimbursement"

You might consider

Modelling Office Processes with Functional Parsers
Technical report UU-CS-1994-50
Gert Florijn
Utrecht University
[http://www.serc.nl/people/florijn/papers/UU-CS-1994-50.html][1]

Here's a snippet:

3.2. A first example: expense reimbursement

Consider a procedure for reimbursement of travel expenses. It is initiated by a user who has to specify the details of the trip, and in particular of the money that was spent. This specification is then sent to the user's manager, who must approve the reimbursement but who may also refuse it. If approval is obtained, the administration will transfer the money to the employee. Simplifying somewhat we can model the top-level of this procedure as follows:

expenseclaim  = arec "expenseclaim" 
            (serie [expenseform, inspect, oneof [reimbursed, refused]])
reimbursed    = arec "reimbursed"  (serie [approved, reimbursement])

Filling out the expense form means providing several pieces of information, broken down further into personal information and information on the claim itself, such as the project for which the expenses were made, the amount of travel expenses involved, the conference attendance fee and other costs:

expenseform = arec "expenseform" (serie [personal, claim])
personal    = arec "personal" (serie [requester,department,bankaccount])
claim       = arec "claim" (serie [project,travel,conference,other])

The other parsers in are modelled as elementary action parsers, i.e.

inspect     = actl "inspect"        approved    = actl "approved"
refused     = actl "refused"        requester   = actl "requester"
department  = actl "department"     bankaccount = actl "bankaccount"
project     = actl "project"        travel      = actl "travel"
conference  = actl "conference"     other       = actl "other"
reimbursement = actl "reimbursement"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文