【问题标题】:how to model a declarative language如何为声明性语言建模
【发布时间】:2014-06-14 14:44:41
【问题描述】:

我正在使用木偶。而且 puppet 是一种声明性语言,我需要对我的代码进行建模。

我的问题是声明式编程语言的建模语言是什么?

换句话说:我们使用 uml 来模拟命令式语言,但 uml 不适合声明式编程语言。

【问题讨论】:

  • 为什么你认为UML不适合声明式编程语言?请注意,UML 类图和 UML 状态机可以被视为声明性可视化编程语言。

标签: uml puppet declarative-programming


【解决方案1】:

Puppet DSL 自己模拟系统状态。我认为不需要元建模,但您可以尝试将清单转换为图形表示。

您的图表中需要三种类型的节点

  1. 定义类型
  2. 资源

后两者非常相似。

有两种基本类型的关系(边)

  1. include一班
    • 总是针对班级
    • 起源于一个类或定义的类型
  2. declare 资源(即,在清单中,资源出现在定义的主体中)
    • 针对资源或定义类型
    • 起源于一个类或定义的类型

虚拟资源只是资源/定义类型的变体,除了declare 边缘之外,它还可以作为多个realize 边缘(也源自类或定义)的目标。

我可能遗漏了一些其他细节,但对于简单的清单,这些就足够了。

【讨论】:

  • 非常感谢。这是我这几天得到的最好的理论答案。
  • @user3738655 您可以使用免费的yWorks yED 尝试各种形式的“绘图”。支持从基于 xml 的数据格式导入,因此您可以自动生成图纸。您可以使用自己的信息对形状进行注释。我已经成功地使用这个工具来可视化各种“声明性”或“仅运行时”依赖项。包括自动布局算法
猜你喜欢
  • 2011-01-21
  • 2011-02-28
  • 2020-08-17
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 1970-01-01
相关资源
最近更新 更多