建模语言
建模语言是任何人工语言,可用于以一致的规则定义的结构中表达数据,信息或知识或系统。这些规则用于解释结构编程语言中组件的含义。
概述
建模语言可以是图形的或文本的。
- 图形建模语言使用图表技术,其命名符号代表连接符号并表示关系的概念和线条,并代表各种图形表示法代表约束。
- 文本建模语言可以使用标准化的关键字,并附有参数或自然语言术语和短语来制作计算机可解开的表达式。
图形建模语言和相应的文本建模语言的一个示例是表达的。
并非所有的建模语言都是可执行的,对于那些模型语言,使用它们并不一定意味着不再需要程序员。相反,可执行的建模语言旨在扩大熟练程序员的生产率,以便他们可以解决更具挑战性的问题,例如并行计算和分布式系统。
文献中出现了大量的建模语言。
建模语言的类型
图形类型
计算机科学,项目管理和系统工程领域中图形建模语言的示例:
- 行为树是主要用于系统和软件工程的正式图形建模语言。通常用于明确表示数百甚至数千种自然语言要求,这些要求通常用于表达利益相关者对大规模软件集成系统的需求。
- 业务流程建模符号(BPMN和XML表格BPML)是过程建模语言的一个示例。
- CK理论由设计过程的建模语言组成。
- Drakon是一种通用算法建模语言,用于指定软件密集型系统,算法或逐步过程的示意图以及编程语言家族。
- Express和Express-G(ISO 10303-11)是一种国际标准通用数据建模语言。
- 扩展的企业建模语言(EEML)通常用于跨多个层的业务过程建模。
- 流程图是算法或逐步过程的示意图。
- 针对软件密集型系统的基本建模概念(FMC)建模语言。
- IDEF是一种建模语言家族,其中包括用于功能建模的IDEF0 ,用于信息建模的IDEF1X ,用于业务过程建模的IDEF3 ,用于对象导向设计的IDEF4和用于建模本体的IDEF5 。
- 杰克逊结构化编程(JSP)是基于数据流结构和程序结构之间的对应关系进行结构化编程的方法。
- Lepus3是一种面向对象的视觉设计说明语言和一种正式的规范语言,主要用于建模大型面向对象( Java , C ++ , C# )程序和设计模式。
- 生命周期建模语言是一种支持完整系统生命周期的系统工程的开放标准语言:概念,利用,支持和退休阶段。
- 软件工程领域中的对象角构建(ORM)是一种概念建模的方法,可以用作信息和规则分析的工具。
- 培养皿网恰好对一种图表技术和拓扑使用,即两部分图。多年来,其基本用户界面的简单性很容易启用广泛的工具支持,尤其是在模型检查,图形为导向的模拟和软件验证的领域。
- Southbeach符号是一种视觉建模语言,用于用模型者的角度来描述被认为有用或有害的代理的情况。该符号显示了代理人如何相互作用,以及这种相互作用是否改善或恶化了情况。
- 规范和描述语言(SDL)是一种规范语言,其针对反应性和分布式系统行为的明确规范和描述。
- SYSML是一种针对系统工程的特定领域的建模语言,定义为UML配置文件(自定义)。
- 统一建模语言(UML)是一种通用建模语言,是指定软件密集型系统的行业标准。当前版本UML 2.0支持13个不同的图技术,并具有广泛的工具支持。
- 面向服务的建模框架(SOMF)是一种整体语言,用于在企业体系结构,虚拟化,面向服务的体系结构(SOA),云计算等方面设计企业和应用程序级别体系结构模型。
- 体系结构说明语言(ADL)是一种用于描述和表示系统系统体系结构的语言。
- 体系结构分析与设计语言(AADL)是一种建模语言,通过可扩展的符号,工具框架和精确定义的语义来支持系统体系结构对系统架构的早期和重复分析。
其他科学领域中图形建模语言的示例。
- East-ADL是一种针对汽车系统设计的特定领域的建模语言。
- 能源系统语言(ESL),该语言旨在模拟生态能量学和全球经济学。
- IEC 61499定义了专门用于分发工业过程测量和控制系统的特定领域建模语言。
文本类型
信息模型也可以用正式的自然语言(例如Gellish)表示。 Gellish具有自然语言变种,例如gellish正式英语和吉利甚正式的荷兰语(gellish fooleel nederlands)等。Gellish正式英语是一种信息表示语言或语义建模语言,在Gellish英语词典中定义了语言,其形式是一种形式分类学 - 同样(对于荷兰语)。 Gellish正式英语不仅适合表达知识,要求和词典,分类法和本体学,而且还适合有关个人事物的信息。所有这些信息都是用一种语言表达的,因此可以全部集成,独立于该问题是否存储在中央,分布式或联合数据库中。 Gellish正式英语中的信息模型由使用自然语言术语和形式上的短语的胶质形式英语表达方式组成。例如,地理信息模型可能包括许多胶质形式的英语表达式,例如:
- the Eiffel tower <is located in> Paris - Paris <is classified as a> city
例如,信息要求和知识可以如下表示:
- tower <shall be located in a> geographical area - city <is a kind of> geographical area
这样的胶质形式的英语表达式使用概念的名称(例如“城市”)和代表关系类型的短语(例如位于in⟩和属于A⟩的),应从Gellish English英语词典工程学中选择(或您自己的域字典)。 Gellish英语词典税法可以创建语义丰富的信息模型,因为字典包含600多种标准关系类型,并且包含了40000多个概念的定义。 Gellish中的信息模型可以表达事实或做出陈述,查询和答案。
更具体的类型
在计算机科学领域,最近出现了更具体的建模语言。
代数
代数建模语言(AML)是用于描述和解决大规模数学计算的高复杂性问题(即大规模优化类型问题)的高级编程语言。 AML等AIMM , AMPL , GAM , GEKKO , MOSEL , OPL和OPTITJ等AML的一个特殊优势是其语法与优化问题的数学符号的相似性。这允许对优化领域中的问题进行非常简洁且可读的定义,该定义由某些语言元素(例如集合,索引,代数表达式),强大的稀疏索引和数据处理变量,具有任意名称的约束来支持。模型的代数配方不包含如何处理该模型的任何提示。
行为的
行为语言旨在描述由同时执行的组件组成的复杂系统的可观察行为。这些语言集中于关键概念的描述,例如:并发,非确定性,同步和交流。行为语言的语义基础是过程计算或过程代数。
特定于学科
特定于纪律的建模(DSPM)语言集中于隶属于特定软件开发生命周期阶段的可交付成果。因此,这种语言为每个阶段提供了独特的词汇,语法和符号,例如发现,分析,设计,建筑,收缩等。例如,对于项目的分析阶段,建模者使用特定的分析符号来交付分析命题图。但是,在设计阶段,逻辑设计表示法用于描述软件实体之间的关系。此外,特定于纪律的建模语言最佳实践并不排除从业者将各种符号组合在单个图中。
特定领域
域特异性建模(DSM)是一种用于设计和开发系统的软件工程方法,最常见的是IT系统,例如计算机软件。它涉及系统地使用图形域特异性语言(DSL)来表示系统的各个方面。与通用建模语言相比,DSM语言倾向于支持更高级别的抽象,因此它们需要更少的精力,而低水平的细节才能指定给定系统。
特定于框架
特定于框架的建模语言(FSML)是一种特定领域的建模语言,专为面向对象的应用程序框架而设计。 FSML将提供框架的抽象定义为FSML概念,并将抽象分解为特征。功能代表实现步骤或选择。
可以通过选择功能并为功能提供值来配置FSML概念。这样的概念配置代表了如何在代码中实现概念。换句话说,概念配置描述了应如何完成框架以创建概念的实现。
信息和知识建模
链接的数据和本体工程需要“主机语言”来表示实体及其之间的关系,实体与关系的属性之间的约束以及元数据属性。在这种情况下, JSON-LD和RDF是两种主要(且在语义上几乎等效)的语言,主要是因为它们支持语句重新化和上下文化,这是支持推理模型所需的高阶逻辑的重要属性。模型转换是这种推理的常见示例。
面向对象
对象建模语言是基于标准化的符号集以及将其安排为建模(一部分)面向对象的软件设计或系统设计的方式来建模语言。
一些组织将它们与软件开发方法相结合,从初始规范到实施计划,并将该计划传达给整个开发人员和利益相关者团队。由于建模语言是视觉的,并且比代码更高的抽象级别,因此使用模型鼓励产生共同的愿景,该愿景可能会阻止以后开发的解释不同。通常,软件建模工具用于构建这些模型,然后可以自动翻译为代码。
虚拟现实
虚拟现实建模语言(VRML),在1995年被称为虚拟现实标记语言之前是一种标准文件格式,用于表示三维(3D)交互式矢量图形,特别是在万维网中设计的。
其他的
申请
各种模型语言都应用于不同学科,包括计算机科学,信息管理,业务流程建模,软件工程和系统工程。建模语言可用于指定:
- 系统要求,
- 结构和
- 行为。
建模语言旨在精确指定系统,以便利益相关者(例如,客户,运营商,分析师,设计师)可以更好地理解所建模的系统。
更成熟的建模语言是精确,一致和可执行的。预计使用绘图工具应用的非正式图解技术可产生有用的系统需求,结构和行为的图形表示,这对于通信,设计和解决问题可以有用,但不能以编程方式使用。但是,有望在适当的工具支持下应用的可执行建模语言可以自动化系统验证和验证,模拟和代码生成从相同的表示形式进行自动化。
品质
对建模语言的审查对于能够分配适合不同建模设置的语言至关重要。在术语设置中,我们包括利益相关者,域和相关的知识。评估语言质量是一种旨在实现更好模型的手段。
评估框架
在这里,语言质量是根据Krogstie,Sindre和Lindland(2003)开发的模型质量的序列框架所述的,因为这是一个将语言质量连接到通用模型质量框架的框架。在此框架中使用了五个领域来描述语言质量,这些区域应表达语言的概念和视觉符号。我们不会对模型的基本质量框架进行彻底的解释,而要专注于用于解释语言质量框架的领域。
领域适当性
该框架指出将域表示为域适当性的能力。声明适当性可能有些模糊,但是在这种特定情况下,它意味着能够表达。理想情况下,您应该只能表达在域中的内容,但足够强大,可以包含域中的所有内容。该要求似乎有些严格,但目的是获得一个视觉表达的模型,其中包括与域相关的所有内容,并排除了不适合域的所有内容。为了实现这一目标,该语言必须有一个很好的区分,即有利的符号和语法。
参与者适当
为了评估参与者的适当性,我们试图确定语言表达利益相关者所拥有的知识的程度。这涉及挑战,因为利益相关者的知识是主观的。利益相关者的知识既默认又明确。两种类型的知识都是动态特征的。在此框架中,仅考虑明确的知识类型。语言应在很大程度上表达与领域相关的利益相关者的所有明确知识。
Modeller适当性
最后一段指出,应以一种很好的方式介绍利益相关者的知识。此外,必须能够表达对利益相关者的所有可能的明确知识。由于语言的缺乏,任何知识都不应被表达。
可理解的适当性
可理解的适当性可确保社会参与者由于对语言的持续使用而理解该模型。为此,该框架包括一组标准。这些表达的普遍重要性是该语言应该具有灵活性,易于组织性,并且易于在内部和其他语言上区分语言的不同部分。除此之外,目标应该尽可能简单,并且语言中的每个符号都具有独特的表示。
这也与开发要求的结构有关。 。
工具适当性
为了确保实际建模的域可用于分析和进一步处理,该语言必须确保有可能自动推理。为了实现这一目标,它必须包括正式的语法和语义。正式化的另一个优点是能够在早期发现错误。最适合技术参与者的语言并不总是与社会演员相同的语言。
组织适当性
所使用的语言适用于组织环境,例如,该语言是在组织内标准化的,或者是由选择为组织中标准的工具支持的。