知识图谱是将域划分为不同粒度级别的产品,因此我们可以非常轻松地管理和管理每个级别。 此外,知识图谱分为以下五个主要问题:
•分析问题(目标)
•设计问题(能力)
•知识问题(目标和能力在一起)
•发展问题(发展方案)
•部署问题(部署方案)知识地图上发现的每个知识问题都是分层的,并分为三层软件稳定性,EBT,BO和IO,而EBT和BO一起被称为任何领域的核心知识
模式语言与知识图谱:简要比较模式语言的新概念(Appleton 1997; Buschmann 1996; Fincher 1999; Salingaros 2000)正在渗透到软件工程领域,以描述软件开发的经验或最佳实践,通过使用 连贯的语言,可用于谈论和描述特定问题,并根据它传达的模式创建新环境。 这种特殊的语言通过连接一组模式来实现,就像它们在一个整齐叙述的故事中一样。 这个集合中的每个模式都是处理或解决特定环境中一系列反复出现问题的有见地的方式(Appleton 1997; Fincher 1999; Schmidt,Fayad和Johnson 1996)。 总的来说,它们还使与特定领域相关或相关的知识以及该特定领域内的一组复发问题的解决方案可见。
表1.1知识图谱和模式语言
知识图谱 模式语言
他们根据其基本原理对模式进行分类,即EBT,BO和IO。 他们缺乏确定其封闭模式的基本原理的指标
它们提供了封闭图案的完全可追溯性。 可追溯性丢失,尤其是在处理更深层次的模式语言实现时。
它们提供了封闭模式的完整通用性 他们不保证其封闭模式的完整普遍性。
他们提供持久的解决方案。 维护很少。 它们很难维护,并且在提供持久的解决方案方面很难。
在处理确定的软件问题时,它们很容易理解和使用。 一切都基于目标,能力等。
他们区分直接知识和远程知识。 他们不区分关联(直接)和远程知识。
1.第一个主要步骤,即分析/目标,涉及隐藏在特定学科中的隐含目标。这些目标是EBT(Fayad和Altman 2001; Hamza和Fayad 2004,第197-208页)。这个过程需要捕获和完全理解上下文,在这里可以使用解决方案。这个过程还包括描述目标,而不是从他们的有形方面,而是更多地关注他们的概念方面。这个过程可能意味着必须并且需要深入研究或深入研究目标的内部结构,清除并获得任何隐藏的洞察力或知识核心集和规则,以帮助解决问题。结果是稳定的分析模式(SAPs)(Hamza 2002; Hamza和Fayad 2002)。
2.第二个主要步骤,设计/能力,强调发现实现特定领域的既定目标所需的配方和药剂。这些食谱是BOs(Fayad 2002a,2002b; Fayad and Altman 2001)。如果没有这些配方或稳定的模式,只会对域名的目标进行模糊的理解(几乎没有)。与目标一样,对功能的准确和正确理解可能需要对构建它们的元素进行深入分析。也就是说,功能可能包含第二级抽象或内部结构。当出现这样的容量时,我们将它们标记为Pattern-BO。
然而,这第二级抽象仍未公开。因此,Pattern-BO将仅使用其第一级抽象表示为单个感兴趣的单元。该步骤的结果是稳定的设计模式(SDP)(Chen,Hamza和Fayad 2005,pp.592-596; Fayad and Kilaru 2005,pp.108-115)。
3.第三个主要步骤是形成知识图谱。从业者(即分析师和设计师)的直觉和经验将支持知识图谱的形成。首先,从业者必须知道问题正在发生或发生的环境。其次,从业者必须检查描述该环境所需的总体目标和能力(即上下文中的解决方案)。第三,在承认现有的环境,目标和能力之后,从业者必须在这些要素之间产生协同作用,形成知识问题或稳定的架构模式,以处理给定的问题。简而言之,此步骤的主要目标是根据目标和能力组成知识核心集。人们可以通过在两个或多个模式或一个目标和其他能力之间的协同作用期间采取的不同路线/路径来实现这种组成的知识。所采用的每条完整路线将满足特定领域的不同需求。此步骤产生了许多不同的稳定架构,包括SAP和SDP,其结果是稳定的架构模式(Fayad 2015a,2015b,2015c)。
4.第四步,开发方案,为我们的软件解决方案提供标准的基本质量,例如可扩展性,可追溯性,可维护性,稳定性和投资回报,这归功于继承的软件稳定性概念的固有特性。这一特定步骤涉及知识核心集如何根据有形工件或IO的使用而适应特定的上下文。这种调整可以通过称为钩子的扩展点来实现,这些钩子将特定于上下文的类(IO)附加到核心。通过实现这一目标,将出现前所未有的灵活性和易用性,使企业和公司能够实时地从其系统中添加,删除,更新和扩展功能。
5.最后一个主要步骤 - 部署,不仅涉及特定解决方案及其附带的知识核心集将如何部署在特定域中,还涉及将有助于部署过程的工件或特定于域的模式的表示。这包括EBT,Pattern-EBT,BO和Pattern-BO,以及它们形成的上下文(IOs)(Hamza和Fayad 2002)。
知识图谱方法或并发软件开发方法提供了许多优点:
1。使用此方法创建的应用程序具有很强的适应性,可以满足不断变化的需求和要求。这是因为核心非常强大且稳定,并且不受任何需求变化或修改的影响。因此,可以非常轻松地修改使用知识图谱构建的应用程序,以满足不断变化的业务需求。
2.应用程序也可以轻松扩展。由于可以将特定于应用程序的IO插入稳定的知识图谱核心,因此可以轻松扩展和调整指定的应用程序。
3.使用知识图谱,可以在很短的时间内以最少的工作量创建无数种不同的应用程序。知识图谱充当应用程序的构建块。 IO必须在钩子和现有设计模式的帮助下插入知识图谱。
4.因为知识图谱方法是并发开发的同义词,所以软件生命周期分析,设计,实现和测试的所有阶段都可以同时进行。这最终导致我们能够在每一步验证工作,而不是等到测试阶段。此外,可以彻底和完整地理解该问题。同样,可以随时对设计进行更改或修改,因为所有阶段都是同时执行的。
开放式研究问题没有什么比采取新的事物顺序(Machiavelli 1913)更难以采取行动,更危险的行为或更不确定的成功。
知识地图概述 17上述引用在知识地图的背景下是非常正确的,因为这个概念是软件工程领域的最新发展。而且,每一项新发明都必须经过时间的考验,因此知识地图在被接受之前也必须回答一些问题。
1.知识图谱的潜力。知识图谱具有改变,转换或修改当前感知和感受的软件开发方式的巨大潜力。通过使用知识图谱,可以在双倍快速时间内生成稳定的应用程序。但是,知识图谱的概念仍处于发展的初期阶段,需要为知识图谱开展大量工作,以取代现有的传统方法。因此,需要立即关注的问题之一是如何实现知识图谱以实现稳定的核心。另一个公开问题是可证实性。如何确保知识图谱稳定并满足手头的需求?换句话说,如何构建通过构造正确的知识图谱,即稳定,并满足客户的要求?我们如何进行知识图谱的测试?
知识图谱肯定会面临某种形式的竞争甚至是挑战,因为传统方法已经流行了相当长的一段时间。
2.面向并行的软件开发与现有的软件开发模型。将面向并发的软件开发与其他现有软件开发模型和方法(如增量开发模型,螺旋模型,面向方面编程和迭代过程)进行对比,基于定量标准,如时间,成本和重复次数(应用程序) )和定性标准,例如可伸缩性,可重用性,灵活性,准确性,完整性,适用性和可维护性。
3.利用面向并发的软件开发作为动态分析。
使用知识图谱,可以在很短的时间内创建无数种不同的应用程序。知识图谱充当应用程序的主要构建块。需要借助钩子和现有设计模式将IO插入知识图谱。因此,我们可以非常快速地轻松生成复杂的应用程序,并在同一核心之上对每个生成的应用程序进行动态分析。这将最终导致有关动态分析的比较研究和实时数据,并允许应用程序的开发人员和用户基于实际运行的系统或应用程序提供具体结果。
4.需求形成和真正问题理解的目标。如何利用目标形成需求并真正理解问题?与SAP相对应的目标以及基于问题形成的准确的需求列表有助于理解真正的问题。目标或SAP背后的主要思想是从EBT和BOs的角度分析所讨论的整体问题,主要目的是提高稳定性和更广泛的重用。通过深入分析EBT和BOs的问题,随之而来的模式将形成问题的核心知识。这一新概念的最终目标是持久稳定。因此,在任何给定的情况和背景下,可以容易地理解和重用这些稳定模式以模拟相同的潜在问题。必须收集与软件模式,知识图谱和域分析如何准确区分问题以及软件开发和管理所涉及的所有人员理解的数据有关的数据。
5.业务对象或功能 - 软件设计基础或最终解决方案空间。
通过将稳定性模型概念应用于设计模式,我们在此提出了SDP或BO的新概念。 SDP背后的重要思想是根据其EBT和BO设计一个持久的解决方案来解决所考虑的问题,其主要目标是提高稳定性和更广泛的重用。通过根据其EBT和BO开发问题解决方案,可以轻松地重用所得到的模式以在任何给定的上下文和域下解决相同的问题。
必须收集数据集,以确定解决方案空间对于软件开发和管理所涉及的所有人员的准确性和完整性。
6 . EBT BOs =软件架构或将任何软件架构映射到模型驱动的架构。新兴技术的快速增长加上收紧或缩短的软件开发时间和生产成本限制,给软件企业和公司设计和创造新的创新设计以应对快速变化的商业环境带来了巨大的压力和强烈的愿望。 。企业必须大力投资建设稳定的架构,这些架构可以通过多种不同方式进行调整,以应对新的挑战和风险。这些架构被称为按需架构,因为它们可以相应地进行调整,以满足未来的要求和系统的变化。此问题的主要焦点是展示如何使用软件稳定性概念来开发按需架构。这个问题还关注三个关键方面:(1)EBT或业务目标和转换,我们称之为SAP; (2)BO或业务流程设计,我们称之为SDP; (3)IO或应用程序对象。 EBT和BO都形成稳定的核心,因此可以根据需要为任何域提供架构。
我们将这些架构称为稳定的架构模式。必须收集与每个知识图谱可以生成的需求架构的频率和数量有关的数据。 EBT和BO是稳定的软件模式,EBT和BO的组合构成了给定域的核心知识。
任何领域的核心知识都称为稳定的架构模式,您可以通过钩子的应用来扩展和适应。稳定的建筑模式的质量通过差异化和生产力创造竞争优势。它还将整合合作伙伴,以提高适应能力。
7.传统模式语言的陷阱。软件模式以及传统模式语言已经吸引了软件开发人员十多年。事实上,开发人员已将可视化软件模式和现有模式语言视为简化和加速其软件开发过程的有前景的技术(Appleton 1997; Coplien 1996; Gamma等1995; Schmidt,Fayad和Johnson 1996)。然而,开发一套强大的软件模式和传统模式语言尚未达到预期的容易性 - 就像它应该具有的 - 在处理确定的软件问题时,例如模式组合和稳定性;相反,开发人员构建的模型缺乏一些必要的品质,这些品质会降低系统的质量而不是改进它(Wu,Hamza和Fayad,2003)。
知识图谱概述19我们对上述关键问题的创新回应需要进一步深入研究和讨论传统模式语言的缺陷;我们为每一个陷阱提供解决方案。
8. EBTs BOs =任何域的统一引擎。该方法导致用于开发服务和/或生产系统的非常高度可重用和统一的软件引擎(USE)技术,其被称为服务引擎和生产引擎。任何领域的USE都是一个开放的研究问题和主题,因为构建这样的引擎并不是一件容易的事情,特别是当几个相互冲突的因素可能破坏或阻碍它们的成功时,例如成本,时间和缺乏系统方法。软件开发(一切照旧),应用程序和企业框架以及USE之间的主要区别还需要全面的进一步研究和开发。