CN107885528B - 一种基于本体的架构模式建模方法 - Google Patents

一种基于本体的架构模式建模方法 Download PDF

Info

Publication number
CN107885528B
CN107885528B CN201711143493.4A CN201711143493A CN107885528B CN 107885528 B CN107885528 B CN 107885528B CN 201711143493 A CN201711143493 A CN 201711143493A CN 107885528 B CN107885528 B CN 107885528B
Authority
CN
China
Prior art keywords
components
model
concept
modeling
domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711143493.4A
Other languages
English (en)
Other versions
CN107885528A (zh
Inventor
熊壬浩
李必信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201711143493.4A priority Critical patent/CN107885528B/zh
Publication of CN107885528A publication Critical patent/CN107885528A/zh
Application granted granted Critical
Publication of CN107885528B publication Critical patent/CN107885528B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于本体的架构模式建模方法,使用描述逻辑进行架构模式的概念建模,并进一步引入领域知识模型,最终建立高层抽象概念到系统实现的映射关系,从而将模型应用于架构模式的识别。考虑到领域知识的扩展及复用问题,建模时将领域知识组织为网状的分层结构。在该结构中,高层为概念模型,下级各层逐步结合了更多的领域知识对高层概念进行阐释。任何层次的中的任何节点都可以增量的加入新的知识,也可以选择性的复用以建立新的概念。基于本体的架构模式建模,既拥有概念建模的抽象能力,又能够利用领域知识服务于架构模式识别,提升了架构模式识别的自动化程度及精度。

Description

一种基于本体的架构模式建模方法
技术领域
本发明涉及软件的逆向工程领域,尤其涉及一种基于本体的架构模式建模方法。
背景技术
软件架构是早期开发阶段的主要技术成果,描述了系统的功能要素及其相互关系。在系统架构中,有关所使用模式的信息是当今架构知识的重要组成部分。许多架构设计方法考虑将架构模式作为基本设计概念,因为架构模式为系统环境中重复出现的设计问题提供了经过验证的解决方案。关于产品中使用的模式的信息还可以为软件产品评估系统的质量属性,即性能和可靠性等提供有价值的洞见。因此,在软件系统的开发、维护和演进过程中,对系统架构模式的深入了解至关重要。
系统的早期决策和专家知识,包括软件体系结构和架构模式,通常会作为指导开发过程的纲领被记录在文档中,以防止误解或丢失。设计文档描述了当前可用的信息,例如现有的成品和专家知识。设计文档是在更高的抽象层面获得对系统的整体理解的主要方法之一,特别是在代码中没有明确信息的情况下。不幸的是,架构文档经常是过时的,更新有很大的延迟,并且在细节和形式上不一致。此外,系统的架构通常在其开发时被记录,进化过程导致初始设计的衰减,并导致设计和已构建的架构之间的分离。在其他情况下,开发团队可能会在长期维护及交接过程中丢失文档,或者它们并不总是可用的,例如某些开源软件。
在计算机领域,本体定义为共享概念模型的明确的形式化规范说明。网络本体语言(OWL) 是一种用于创建本体的知识表示语言,它的基础是描述逻辑(DescriptionLogic)。基于本体进行架构模式建模并用于架构模式识别具有诸多优势:
(1)概念模型独立于具体实现,建模时可专注于描述架构模式组件及其它们之间的关系,使概念模型具有较强的抽象能力;
(2)将领域知识组织为网状的层次结构,使得领域建模可以从少量的领域知识入手,早期工作易于展开,且该结构易于增量的扩展,使得从概念到领域知识的各个层次可以方便的复用;
(3)将领域知识与高层概念相关联,用领域知识阐释高层概念,使得在传统模式识别方法中只能手动或半自动化进行工作可以自动化进行,同时提高了识别的精确度。
发明内容
本发明所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种基于本体的架构模式建模方法,目的是通过本体将概念模型和领域知识统一建模,并使用领域知识阐述高层概念,最终用于架构模式的识别,使得架构模式识别的自动化程度及精度得以提升。
本发明为解决上述技术问题采用以下技术方案:
一种基于本体的架构模式建模方法,包括以下步骤:
步骤1),模式库搜索:根据欲使用的概念模型,从预设的模式库中搜索并确定能够被复用的概念模型及领域模型;
步骤2),概念建模:在能够被复用的概念模型的基础上,依据架构模式的设计方案,对架构模式的构成组件以及构成组件之间的关系进行概括和表示;
步骤3),领域建模:基于概括和表示的组件以及组件之间的关系,在模式库中能够被复用的领域模型的基础上,对软件系统实现中对应的领域知识进行描述,得到扩充的领域模型;
步骤4),概念-实现映射:依据步骤3)中构造的扩充的领域模型,利用领域知识将步骤 2)中概括和表示的组件以及组件之间的关系映射为软件系统实现中对应的元素;
步骤5),新模式入库:将步骤2)中概括和表示的组件以及组件之间的关系、步骤3)中构造的扩充的领域模型、步骤4)中映射的元素添加进模式库,以便在相似场景下复用;
所述步骤2)中,对架构模式的构成组件以及构成组件之间的关系进行概括及表示的具体步骤为:
步骤2.1),使用描述逻辑的概念和角色描述架构模式的组件及组件之间的关系;
步骤2.2),将描述逻辑转述为网络本体语言OWL中的类和属性,并选取OWL为领域知识;
所述步骤3)的具体步骤为:
步骤3.1),参照模式库中能够被复用的领域模型,将软件系统实现中相关的领域知识划分为相对独立的若干部分;
步骤3.2),针对模式库中不存在的或不完善的领域知识进行增量建模;
步骤3.3),利用领域知识对步骤2)中概括和表示的组件以及组件之间的关系进行阐述,形成OWL本体间的网状层次结构。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1.概念模型独立于具体实现,建模时可专注于描述架构模式组件及其它们之间的关系,使概念模型具有较强的抽象能力;
2.将领域知识组织为网状的层次结构,使得领域建模可以从少量的领域知识入手,早期工作易于展开,且该结构易于增量的扩展,使得从概念到领域知识的各个层次可以方便的复用;
3.将领域知识与高层概念相关联,用领域知识阐释高层概念,使得在传统模式识别方法中只能手动或半自动化进行工作可以自动化进行,同时提高了识别的精确度。
附图说明
图1是方法的流程示意图;
图2是MVC架构模式。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
图1给出了基于本体的架构模式建模方法的流程示意图,下面对各个步骤进行展开。
1、模式库搜索
将已构建的概念模型、领域模型采用OWL为表示形式存储起来进行统一管理,形成架构模式的“模式库”,以便重复利用这些模型进行架构模式的识别,以及利用已有本体的组织关系,增量的扩充新的概念、新的领域知识。在利用知识库中已有的模型进行模式识别时,可直接选取合适的模型与待识别的系统进行匹配,也可以基于已有模型进行扩充,再与待识别系统进行匹配。对模式库中已有模型的查找是通过搜索操作进行的,搜索既可以人工进行,也可以通过半自动化、甚至自动化的形式进行。搜索过程以及搜索结果的展示形式与OWL 本体的存储形式有关。当前本体的存储形式主要有文本文件、传统关系数据库以及专门用于本体存储的三元组数据库等。
对模式库的扩充需要开发人员对已有本体有一定的了解。通过搜索模式库获取相关本体后,可以使用本体开发工具加速本体的开发,已知的本体编辑工具有Protégé等。对于应用本身以及初级用户来说,更多的情形是通过搜索直接使用已有本体。应用程序可以设计并实现建立在模式库之上的中间层,例如形式良好的可视化工具等,方便初级用户的使用。在这样的工具中,往往对模式库的搜索操作进行了封装,增强了搜索结果的可用性。
如图2所示,以下以MVC(Model View Controller)架构模式为例,对概念建模、领域建模以及概念-实现映射进行了进一步说明。
2、概念建模
概念建模对架构模式的抽象概念进行概括,因此概念模型不涉及具体实现,因此具有高度的抽象能力。概念建模的基础是描述逻辑,描述逻辑中不同的构子具有不同的表达能力,不同构子用于推理的性能不一。OWL的两个子语言OWL Lite、OWL DL分别与描述逻辑的扩展语言
Figure RE-GDA0002651303090000031
Figure RE-GDA0002651303090000032
具有对应关系。在概念建模阶段,使用描述逻辑对相关概念进行表述。以下先对描述逻辑进行简要介绍,再以MVC架构模式的建模为例,介绍概念建模的过程。
DL的一种基本属性语言是
Figure RE-GDA0002651303090000033
除了原子概念A,
Figure RE-GDA0002651303090000034
的构子还包括顶部概念
Figure RE-GDA0002651303090000035
底部概念(⊥),原子否定
Figure RE-GDA00026513030900000424
Figure RE-GDA0002651303090000041
值约束
Figure RE-GDA00026513030900000425
和受限存在约束
Figure RE-GDA00026513030900000426
其中R、S是原子角色,C、D是概念描述。
Figure RE-GDA0002651303090000042
中概念描述的语法规则是:
Figure RE-GDA0002651303090000043
Figure RE-GDA0002651303090000044
是由域(即非空集合
Figure RE-GDA0002651303090000045
)和解释函数组成的解释。对于每个原子概念A,
Figure RE-GDA0002651303090000046
而对于每个概念角色R,
Figure RE-GDA0002651303090000047
概念描述的语义定义如下:
Figure RE-GDA0002651303090000048
Figure RE-GDA0002651303090000049
Figure RE-GDA00026513030900000410
Figure RE-GDA00026513030900000411
Figure RE-GDA00026513030900000412
Figure RE-GDA00026513030900000413
概念和角色的复杂描述可以使用上面的这些构造函数来构建。此外,引入术语公理来描述概念或角色之间的关系,包括包含公理
Figure RE-GDA00026513030900000414
和等价公理(C≡D,R≡S)。对于所有解释
Figure RE-GDA00026513030900000415
如果
Figure RE-GDA00026513030900000416
则C≡D(R≡S);如果
Figure RE-GDA00026513030900000417
Figure RE-GDA00026513030900000418
Figure RE-GDA00026513030900000419
除了基本属性语言
Figure RE-GDA00026513030900000420
之外,还可以应用其他构子来扩展它,包括并
Figure RE-GDA00026513030900000421
完全存在量化
Figure RE-GDA00026513030900000427
和数量约束(≥nR,≤nR)等。在这些构子中,
Figure RE-GDA00026513030900000422
是通过任意概念的否定
Figure RE-GDA00026513030900000429
获得的。
而角色层次
Figure RE-GDA00026513030900000423
存在量化和数量约束均是角色构子,因为它们增加了对角色的限制。其他角色构子,如否定
Figure RE-GDA00026513030900000428
传递闭包(R+)和逆(R-)等,提供更多的表达能力。吸收了DL的思想,本体描述语言OWL的两种子语言OWL Lite和OWL DL对应于基于这些构子的语言扩展。
下面使用描述逻辑对MVC架构模式进行描述。MVC的示意图如图2所示。在MVC架构模式中,模型(Model)代表核心数据和功能,它通常包含通知机制以便在数据更新时通知关联的视图(View)和控制器(Controller)。而视图和控制器如果需要接收这种通知,则需向模型注册。视图一般表现为用户界面,负责向用户展示数据,其数据的来源是通过访问模型获得的。而控制器通常包含了用户操作的处理过程,当用户发出操作时,视图请求控制器的处理。控制器通过解析视图的处理请求,访问模型获取相应的数据,以便更新视图的显式状态。现定义以下概念对MVC架构模式进行概括:
1)架构模式:由若干个必要的模式构件构成的整体;
2)模式构件:构成架构模式的组成部分,MVC中的M、V和C分别称为MVC模式的模式构件;
3)构件元素:构成模式构件的元素,例如多个元素构成了View,则称这些类是V的构件元素;
4)构件关联:模式构件之间的关联是通过构建元素的关联体现的。
将以上描述使用描述逻辑进行表示:
MVC≡ArchPattern
Figure RE-GDA0002651303090000051
containsComponent.Model
Figure RE-GDA0002651303090000052
containsComponent.View
Figure RE-GDA0002651303090000053
containsComponent.Controller
Model≡Component
Figure RE-GDA0002651303090000054
containsElement.ModelElement
View≡Component
Figure RE-GDA0002651303090000055
containsElement.ViewElement
Controller≡Component
Figure RE-GDA0002651303090000056
containsElement.ControllerElement
其中定义的概念包括MVC、ArchPattern(架构模式)、Component(模式构件)、Model(Model模式构件)、View(View模式构件)、Controller(Controller模式构件)、ModelElement (Model的构件元素)、ViewElement(View的构件元素)以及ControllerElement(Controller 的构件元素)。定义的角色包括containsComponent(关联架构模式与模式构件)以及 containsElement(关联模式构件与构件元素)。
值得指出的是,上述本体描述是对MVC架构模式的一种普通概括。这种概括是普适的,独立于系统的实现,不与特定的领域知识相关联。同时这种概括是对MVC架构模式的一种理解,架构建模允许其他不同的理解共同存在。例如,还可以通过借鉴架构描述语言定义的构件来描述架构模式,在架构描述语言ACME中,可以使用的构件包括组件、连接件、端口等。
3、领域建模
领域建模旨在对特定领域的知识进行描述。以Java Swing为例,如图1所示,可以将相关领域知识划分为Java以及Swing两部分。其中Java.owl是对Java语言的描述,诸如Java 语言中的包、类、成员函数等概念,不涉及与Swing相关的部分。而Java.Swing.owl是对Swing 的描述,诸如哪些类是Swing工具包提供的。构建Java本体时,并不过多的考虑它怎样被其他本体重用,而仅仅专注于其本身的构建。实际上,它可以重用于基于Java的任何领域知识,例如Swing。显然Swing是特定于Java的,因此将Swing本体的构建建立在Java语言之上,复用Java本体,并进行若干扩展,完成Swing本体的构建。如果Java本体已存在于模式库,则可以通过搜索将其找出,否则需要首先构建Java本体,进而构建Swing本体,两者处于不同层次,之间具有依赖关系。
以下使用“知识网”一词代表这种网状的层次结构。知识网链接不同领域的本体,相互连接的有向边绘制了知识网的一条依赖路径。有向边的尾部(例如MVC.owl)存在于较高的层次,头部(例如Java.Swing.MVC.owl)存在于较低的层次。在一条依赖路径中,较低层次的本体建立在较高层次的本体之上,因此较低层次的本体结合了更多的领域知识。
知识网的结构使其易于选择性的重用以及增量的扩展:
首先,对特定领域的建模集中在对其本身知识的描述上。这种建模不将它本身置于考虑如何在更低的层次对其进行复用的上下文中,例如上文Java本体的构建。正因为这种建模是特定领域知识的忠实表述,使得它能够复用于任何针对这一领域的其他本体中。
其次,知识网不要求在一开始就提供全面且完整的领域知识的描述。例如很难在短时间内对Java语言的各个方面进行建模,相反,我们可以立即使用类(Class)、域(Field)、成员函数(Method)等概念建立Java的一个简单本体。一旦对知识网中的某一节点进行了扩展,新的知识对依赖路径上的任何下层节点都是可见的。
再次,为了更自由地组合本体,概念和角色可以选择性地复用,以防某些知识是不正确的或不需要的。在模式识别过程中,指定的概念和角色可以被隐藏。通过这种方式,与这些概念和角色相关的知识可以被剔除。
4、概念-实现映射
在架构模式的识别过程中,一个不可避免的问题是架构模式的组件是如何实现的,或者说相应的组件对应于哪些实现。概念-实现映射利用领域知识对概念模型进行阐释,实现了从架构模式的抽象定义到系统实现的映射。
将上述步骤中构建的概念模型以及领域知识转述为OWL本体,形成了如图1所示的知识网。其中MVC.owl对应于MVC模式的概念模型,Java.owl、Java.Swing.owl为相关的领域知识,而Java.Swing.MVC.owl基于两种模型进一步描述了从概念到实现的映射关系。利用上述本体即可识别使用Java Swing实现的系统中的MVC模式。
针对MVC模式,概念-实现映射需要解决模式构件(Model、View、Controller)的识别问题,以及构件元素(ModelElement、ViewElement、ControllerElement)的识别问题。而模式构件的识别又归结于构件元素的识别,因此从构件元素的映射着手。
对于ViewElement,由于视图表示用户界面,而在Java Swing中,用户界面的开发是通过对Swing中的标准组件进行重用实现的。这种重用通常表现为对标准组件的继承、组合等,因此将ViewElement映射为系统实现中具有以下特征(不限于)的类:
1)继承了java.awt.Graphics2D类,或成员方法的参数包含java.awt.Graphics2D类(绘图相关);
2)继承了javax.swing.JLabel类,或javax.swing.JPanel类,或javax.swing.JToolTip类,或javax.swing.AbstractAction类(图形组件、用户操作相关);
3)实现了java.awt.event.ActionListener接口,或javax.swing.table.TableCellEditor接口,或javax.swing.tree.TreeCellRenderer接口(图形组件、用户操作相关)。
在OWL中对此进行定义的一个示例为,将ViewElement定义为如下等价类:
(hasMethod some(hasParam value java.awt.Graphics2D))or(extends valuejava.awt.Component)or(extends value java.awt.Graphics2D)or(extends valuejava.awt.event.MouseAdapter)or(extends value javax.swing.AbstractAction)or(extends value javax.swing.AbstractButton)or(extends valuejavax.swing.AbstractCellEditor)or(extends value javax.swing.JButton)or(extends value javax.swing.JCheckBox)or(extends valuejavax.swing.JDesktopPane) or(extends value javax.swing.JDialog)or(extendsvalue javax.swing.JFrame)or(extends value javax.swing.JLabel)or(extends valuejavax.swing.JMenu)or (extends value javax.swing.JMenuBar)or(extends valuejavax.swing.JPanel)or(extends value javax.swing.JPopupMenu)or(extends valuejavax.swing.JTable) or(extends value javax.swing.JToolTip)or(extends valuejavax.swing.TransferHandler)or(extends value javax.swing.border.AbstractBorder)or(extends value javax.swing.plaf.basic.BasicPanelUI)or(extends value javax.swing.plaf.metal.MetalButtonUI)or(extends value javax.swing.tree.DefaultCellRenderer)or (hasField value javax.swing.JCheckBox)or(implements value java.awt.datatransfer.Transferable)or(implements valuejava.awt.event.ActionListener)or (implements valuejava.awt.event.ItemListener)or(implements value java.awt.event.MouseListener)or(implements value iava.awt.event.MouseMotionListener) or(implements valuejava.awt.event.WindowListener)or(implements value javax.swing.table.TableCellEditor)or(implements value javax.swing.tree.TreeCellRenderer)
其中的角色hasMethod表示类中声明的成员函数,hasParam表示函数声明的参数类型, extends表示类继承,implements表示接口实现。而some、value等为OWL的Manchester语法中的关键字。
对于ControllerElement,由于视图通常注册了图形组件动作(如按钮点击等)的回调函数,在回调函数中又请求控制器进行进一步处理,而在Java Swing中通常回调函数具有 ActionEvent参数,因此将ControllerElement映射为系统实现中声明在回调函数中的类。在 OWL中对此进行定义的一个示例为,将ControllerElement定义为如下等价类:
declaredIn some(hasParam value java.awt.event.ActionEvent)
其中的角色declaredIn表示类声明在函数体中。
对于ModelElement,由于模型封装了核心数据,因此对于使用文件保存数据的应用,通常会继承、扩展File类,或将File类作为函数参数以读写数据。因此将ModelElement映射为具有上述特征的类。在OWL中对此进行定义的一个示例为,将ModelElement定义为如下等价类:
extends value java.io.File or
hasField value java.io.File or
hasMethod some(hasParam value java.io.File)
5、新模式入库
由于不同的架构设计人员对架构模式的理解存在差异,且架构的设计者与实现者通常并非同一人员,因此在现实系统中,架构模式的设计和实现通常不会完全遵循标准的模式定义。知识网的结构允许在概念层次、领域层次甚至粒度更小的层次复用已有知识。对于概念模型,可以定义“标准”模式的变体(例如MVC.Varient.owl);对于领域层次,也可以定义概念的不同阐释(例如Java.Swing.MVC.Varient.owl)。而对于概念-实现映射而言,知识网的可扩展性使得概念-实现映射也是可扩展的。从应用的角度看,知识网允许与用户的交互。例如用户可以定义一些过滤器用于实现映射(Java.Swing.MVC.Filter.owl)。因此虽然上述MVC的映射实例并不完善,但它有能力结合更多的领域知识,使得对相关知识的描述更全面、更精确。随着不同模式的建模、已有模型的扩展以及本体开发人员之间的交流,新的知识不断加入模式库,使得模式库不断扩充。这将为模式建模提供更多的素材,而基于模式库的应用也将具有更广的涵盖面,从而进一步提升架构模式的识别范围、自动化程度和精确度。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种基于本体的架构模式建模方法,其特征在于,包括以下步骤:
步骤1),模式库搜索:根据欲使用的概念模型,从预设的模式库中搜索并确定能够被复用的概念模型及领域模型;
步骤2),概念建模:在能够被复用的概念模型的基础上,依据架构模式的设计方案,对架构模式的构成组件以及构成组件之间的关系进行概括和表示;
步骤3),领域建模:基于概括和表示的组件以及组件之间的关系,在模式库中能够被复用的领域模型的基础上,对软件系统实现中对应的领域知识进行描述,得到扩充的领域模型;
步骤4),概念-实现映射:依据步骤3)中构造的扩充的领域模型,利用领域知识将步骤2)中概括和表示的组件以及组件之间的关系映射为软件系统实现中对应的元素;
步骤5),新模式入库:将步骤2)中概括和表示的组件以及组件之间的关系、步骤3)中构造的扩充的领域模型、步骤4)中映射的元素添加进模式库,以便在相似场景下复用;
所述步骤2)中,对架构模式的构成组件以及构成组件之间的关系进行概括及表示的具体步骤为:
步骤2.1),使用描述逻辑的概念和角色描述架构模式的组件及组件之间的关系;
步骤2.2),将描述逻辑转述为网络本体语言OWL中的类和属性,并选取OWL为领域知识;
所述步骤3)的具体步骤为:
步骤3.1),参照模式库中能够被复用的领域模型,将软件系统实现中相关的领域知识划分为相对独立的若干部分;
步骤3.2),针对模式库中不存在的或不完善的领域知识进行增量建模;
步骤3.3),利用领域知识对步骤2)中概括和表示的组件以及组件之间的关系进行阐述,形成OWL本体间的网状层次结构。
CN201711143493.4A 2017-11-17 2017-11-17 一种基于本体的架构模式建模方法 Active CN107885528B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711143493.4A CN107885528B (zh) 2017-11-17 2017-11-17 一种基于本体的架构模式建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711143493.4A CN107885528B (zh) 2017-11-17 2017-11-17 一种基于本体的架构模式建模方法

Publications (2)

Publication Number Publication Date
CN107885528A CN107885528A (zh) 2018-04-06
CN107885528B true CN107885528B (zh) 2020-10-23

Family

ID=61777716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711143493.4A Active CN107885528B (zh) 2017-11-17 2017-11-17 一种基于本体的架构模式建模方法

Country Status (1)

Country Link
CN (1) CN107885528B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976805B (zh) * 2019-03-31 2022-09-09 东南大学 一种基于本体的事件驱动架构模式识别方法
CN109976727B (zh) * 2019-03-31 2022-07-08 东南大学 一种基于设计模式的mvc架构模式识别方法
CN113158654B (zh) * 2020-11-19 2022-04-29 北京航空航天大学 一种领域模型提取方法、装置及可读存储介质
CN113721897A (zh) * 2021-08-03 2021-11-30 中国航空工业集团公司沈阳飞机设计研究所 一种基于opm的建模方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682122A (zh) * 2012-05-15 2012-09-19 北京科技大学 基于本体构建材料科学领域语义数据模型的方法
US8336024B2 (en) * 2007-11-08 2012-12-18 International Business Machines Corporation Extracting ontological information from software design data
CN103761398A (zh) * 2014-01-26 2014-04-30 北京仿真中心 一种基于知识本体的知识体系的建模方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8336024B2 (en) * 2007-11-08 2012-12-18 International Business Machines Corporation Extracting ontological information from software design data
CN102682122A (zh) * 2012-05-15 2012-09-19 北京科技大学 基于本体构建材料科学领域语义数据模型的方法
CN103761398A (zh) * 2014-01-26 2014-04-30 北京仿真中心 一种基于知识本体的知识体系的建模方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Clustering Classes in Packages for Program Comprehension》;Sun X,Liu X,Li B;《Scientific programming》;20170411;全文 *
《基于本体的设计模式抽取方法的研究》;彭阳;《中国优秀硕士学位论文全文数据库信息科技辑》;20150815(第08期);全文 *

Also Published As

Publication number Publication date
CN107885528A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN107885528B (zh) 一种基于本体的架构模式建模方法
US8689171B2 (en) System and method for managing resources using a compositional programming model
Maróti et al. Next generation (meta) modeling: web-and cloud-based collaborative tool infrastructure.
KR101120815B1 (ko) 완전한 유연성을 가진 자동화에 기초하여 사용자인터페이스를 생성하는 방법 및 장치
US7543268B2 (en) Development environment for developing applications using a metamodel and a metadata API
Atkinson et al. A flexible infrastructure for multilevel language engineering
US11726969B2 (en) Matching metastructure for data modeling
US8255888B2 (en) API derivation and XML schema derivation for developing applications
US20050071805A1 (en) Developing applications using a metamodel
US7581204B2 (en) Dynamic contexts
AU2020298056B2 (en) Autolayout of visualizations based on graph data
CN107273109B (zh) 对源代码建模的方法和系统以及使用数据模型的方法
CN111913713A (zh) 一种基于服务调用追踪的异构服务集成方法
Hsieh et al. The implementation of a proactive wireless intrusion detection system
Cabibbo et al. Managing inheritance hierarchies in object/relational mapping tools
US20050010894A1 (en) System and method of design modelling
Mancas MatBase–a Tool for Transparent Programming while Modelling Data at Conceptual Levels
Lara et al. Facet-oriented modelling
CN117193802A (zh) 提供对应用程序内容多个实例的访问的合并空间
Jukšs et al. Scope in model transformations
Jakob et al. View creation of meta models by using modified triple graph grammars
Opmanis et al. Multilevel data repository for ontological and metamodeling
Gröner et al. Metamodelling and ontologies (∗)
Kucherov et al. The active data warehouse of a configurable information system
Diwan Adopting SwiftData: A Simplified Approach to Persistence in Native iOS Application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant