CN1801151A - 对象模型树图表 - Google Patents

对象模型树图表 Download PDF

Info

Publication number
CN1801151A
CN1801151A CN200510129091.XA CN200510129091A CN1801151A CN 1801151 A CN1801151 A CN 1801151A CN 200510129091 A CN200510129091 A CN 200510129091A CN 1801151 A CN1801151 A CN 1801151A
Authority
CN
China
Prior art keywords
class
tree
definition
relation
chart
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.)
Granted
Application number
CN200510129091.XA
Other languages
English (en)
Other versions
CN1801151B (zh
Inventor
A·C·威尔斯
G·A·琼斯
S·J·库克
S·J·H·肯特
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1801151A publication Critical patent/CN1801151A/zh
Application granted granted Critical
Publication of CN1801151B publication Critical patent/CN1801151B/zh
Expired - Fee Related 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/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

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

对象模型树图表
技术领域
本发明涉及图表的显示,尤其涉及在软件相关工具中类图表的显示。
背景技术
随着软件的战略价值对于许多公司在增加,软件销售商不断地寻求新技术来自动化软件生产和提高质量并减少成本与面市的时间。这些技术包括组件技术、可视编程、模式和框架。随着软件系统复杂性在范围与规模上的增加,公司寻找管理和解决这种复杂性的技术,包括再生体系结构问题,诸如物理分发、容错、复制、安全、并发和负载平衡。另外,对因特网的开发尽管使某些通信交换更简单,却加剧了这些体系结构的挑战。
响应于这些需求,设计了一种称为统一建模语言(UML)的常规技术。UML是一种标准语言,用于指定、可视化、构造和文档化软件系统的人工产物,以及用于商务建模和其它非软件系统。UML工具用于开发面向对象的软件和软件开发过程,并且使用图形符号来表示软件项目的设计。
一种有用的软件体系结构表示是类图表。类图表提供一种图形显示,它描述系统中符号的静态结构,并且显示说明性(静态的)模型元素,诸如类、类型和它们的内容与关系。将类安排在共享公共结构和行为的分层结构中,并且与其它类相关联。类图表模型使用诸如类、包和对象等设计元素来对类结构和内容进行建模,并且还显示诸如容器、继承、关联和其它等关系。在面向对象的术语中,类是在面向对象程序中定义一组对象的结构和行为的元素。在面向对象的应用程序中,类具有属性(成员变量)、操作(成员函数)和与其它类的关系。
使用UML来描绘类图表具有几种限制,如下:自动地布局UML类图表是一个困难的算法问题,它很少给出非常满意的结果;手工布局UML类图表是耗时的,尤其是有关限制线交叉,以及在放置语义明显的装饰使得它们的意义容易明白的时候;一组类的UML图表在有关如下所述事实方面付出很少:这些类可自然地组织在树结构中;并且最后,没有语义方法来展开和折叠UML图表的区域。
定义语法的另一个流行的方法是巴克斯-诺尔形式(BNF)。BNF及其扩展,即扩展的BNF(EBNF)是在编程语言的形式化中广泛使用的用于语法定义的文本方法。然而,诸如UML、BNF和EBNF等这样的常规开发工具例如充满了这样的限制,即未能满足开发工具领域中实质性未满足的需求。
发明内容
下面提供本发明的简化概要,以便提供对本发明一些方面的基本理解。这个概要不是本发明的全面概观。它并非要标识本发明的关键/重要元素或者描绘本发明的范围。其唯一目的是以简化形式提供本发明的一些概念,作为稍后提供的更详细的描述的序言。
在此揭示和要求保护的本发明的一个方面包括一种体系结构,该体系结构将对象(例如,类)图形的计算机可读表示用作输入,并且自动创建一个或多个图表来将这些类描绘成显示它们的关系和特性的可编辑树。该方法特别是供类图形的定义使用的,类图形表示定义域专用语言的概念。这样的图形常称为对象模型、域模型、元模型、抽象句法或语法。这些图形自然具有该方法可使用的类似树的结构。该方法也可以应用于其中有向关系很重要的任何种类的对象模型。而且,提供实质上同时地处理不同种类的有向关系的能力,例如,嵌入、引用、继承和其它诸如相关性。
本发明考虑现代计算机系统的交互能力,以协助形式化语法的过程。这些交互能力宽泛地落在三个方面:重新组织图表以看到所希望的部分(例如,通过展开/折叠、在对象周围移动和显示工具提示)、搜索、以及使用在打印出的介质中不同的线索(例如颜色)。该方法至少提供下列好处:自动而非手工地布局图表;图表在它们对显示屏幕资源的使用方面是紧凑而高效的;线交叉被避免;图表的各部分可被扩展和折叠;线装饰的整齐和可读放置是自动的;图表示出了底层图形的自然类似树的结构;以及编辑是直接了当的。
为支持这些特征,提供了按照本发明便于设计对象模型的设计工具系统。给出包括有向关系的对象(例如类)的一个或多个图形的计算机可读表示,系统自动创建一个或多个对象图表(例如,类图表),它们将这些对象图表描绘成显示对象关系和特性的可编辑类似树的结构。系统还包括一个布局组件,它接收一个或多个图形作为输入,并且将这一个或多个图形转换成可编辑的类似树的结构。可以使用显示组件来将可编辑的类似树的结构显示为类似树的结构图表,并且便于用户与其的交互。该工具可以用于打开、编辑和保存现有的对象模型文件或者创建新的对象模型文件。
在本发明的又一个方面,可以使用人工智能组件来执行基于概率和/或统计的分析来预测或推断用户希望自动执行的动作。
为完成前述或相关目标,这里结合下面的描述和附图描述本发明的某些方面。然而,这些方面表示可以使用本发明的原理的各种方法中的一些,并且本发明旨在包括所有这样的方面及其等价方案。本发明的其它优点和新颖性在结合附图通过下面本发明的详细描述将变得显而易见。
附图说明
图1例示按照本发明便于设计对象模型的设计工具系统。
图2例示按照本发明便于设计对象模型的方法。
图3例示本发明的设计器工具的属性。
图4例示可以使用本发明的设计器工具执行的操作。
图5例示按照本发明的类的示例性类似树的结构的布局,它构成组织图的语言的抽象句法。
图6例示按照本发明的类似树的结构图表的设计器屏幕截图。
图7例示按照本发明作为多个图表的类似树的结构的显示。
图8例示使用人工智能组件的设计器工具系统,它便于本发明方法的一个或多个学得特征的自动化。
图9例示可用于执行所揭示的体系结构的计算机的框图。
图10例示按照本发明的示例性计算环境的示意框图。
具体实施方式
现在参考附图描述本发明,在全部附图中,相同的参考标号用于指相同的元素。在下面的描述中,为了说明起见,阐述了许多具体细节,以便提供对本发明的全面理解。然而显然的是,本发明可以在没有这些具体细节的情况下实践。在其它实例中,众所周知的结构和设备以方框图形式示出,以便于描述本发明。
如在本申请中使用的,术语“组件”和“系统”指的是计算机相关的实体,或者是硬件、软硬件的组合、软件、或者是执行中的软件。例如,组件可以是,但不限于,运行于处理器上的进程、处理器、对象、可执行代码、执行的线程、程序和/或计算机。作为说明,运行于服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且一个组件可以定位在一个计算机内和/或分布在两个或多个计算机之间。
如在此使用的,术语“推断”和“推论”一般指根据一组通过事件和/或数据捕捉的观察资料推理或推断系统、环境和/或用户的状态的过程。例如,推论可以用于标识特定的上下文或动作,或者可以产生状态上的概率分布。推论可以是概率性的,即基于对数据和事件的考虑,计算感兴趣的状态上的概率分布。推论也可以指用于从一组事件和/或数据组成较高级事件的技术。这样的推论其结果是从一组观察的事件和/或存储的事件数据构建新的事件或动作,无论这些事件是否在时间上紧密相关,以及这些事件和数据是来自一个还是若干个事件和数据源。
尽管示出并且参考附图描述了向用户显示信息的某些方法,但相关领域的技术人员将认识到,可以使用各种其它替换方案。在这里可交换地使用术语“屏幕”、“网页”和“页面”。页面或屏幕作为显示描述、作为图形用户界面、或者通过在屏幕(例如,个人计算机、PDA、移动电话或者其它合适的设备)上描绘信息的其它方法来存储和/或传输,其中要在页面上显示的布局和信息或内容存储在存储器、数据库或其它存储设备中。
先参考附图,图1例示按照本发明便于设计对象模型的设计工具系统100。给定包括有向关系的对象(例如类)的一个或多个图形的计算机可读表示,系统100自动创建一个或多个对象图表(例如,类图表),它们将这些对象图表描绘成显示对象关系和属性的可编辑的类似树的结构。为支持这些,系统100还包括一个布局组件102,它接收一个或多个图形作为输入,并且将这一个或多个图形转换成可编辑的类似树的结构104。系统100还包括显示组件106,它将可编辑的类似树的结构104显示为类似树的结构图表108,并且便于用户与其交互。该工具可以用于打开、编辑和保存现有的对象模型文件和/或创建新对象模型文件。
这种新颖方法对于表示定义域专用语言的概念的类的图形定义特别有用。这样的图形经常被称为对象模型、元模型、域模型、抽象句法或语法。这些图形自然地具有所使用的类似树的结构。本领域的技术人员要意识到,所揭示的新颖方法可以应用于其中有向关系很重要的任何种类的对象模型。
图2例示按照本发明便于设计对象模型的一种方法。尽管为了说明的简单起见,在此例如以流程图形式所示的一个或多个方法被显示或描述成一系列动作,但应该理解和意识到,本发明不受动作顺序的限制,因为按照本发明,有些动作可以按不同的顺序和/或与在此所示和描述的其它动作同时发生。例如,本领域的技术人员将理解和意识到,方法可替换地表示为诸如状态图中的一系列相关的状态或事件。而且,并非所有例示的动作都是实现按照本发明的方法所必需的。
在200,该设计器工具系统接收图形形式的对象模型的计算机可读表示,这些图形包括一种或多种不同的有向关系。在202,设计器工具利用该图形低层的类似树的结构,并且将这些图形和关系处理成对象(例如类对象)的单个可编辑的类似树的结构。在204,该结构描绘对象的关系和特性。在206,对象的类似树的结构可以作为单个对象图表被呈现给用户,或者部分地在用户访问的若干图表上呈现给用户。
例如,该结构可以被剖析成分离的图表、引用和嵌入的图表以及其它继承的图表。可替换地,单个结构可以被剖析成在相应图表上显示的两个子结构。在208,使类似树的结构成为交互式的,使得用户可以执行许多不同操作。这些操作包括添加和删除对象(例如类),处理对象的二元和继承关系、折叠(或收缩)与展开关系层次、与特性交互、重新定位对象和对象特性、以及在这些对象之间搜索与导航。
现在参考图3,例示了本发明的设计器工具的属性。它们的每一个将在下面另外结合图5来描述。在300,自动而非象在常规系统中那样手工地布局图表。用户的主要任务是输入对象是什么(例如类)及其关系,并且该工具相应地布局结构。然而,用户可以作出一些布局的重新安排。例如,用户可以指示什么对象要显示在结构的左边,以及以辅助节点要以什么顺序出现。其它的每一件事,诸如间距、标签的定位、对象和结构的大小以及线的形状是自动确定的。组织自然地从类似树的结构左上角的根节点(或对象)流出。通过这么做,该结构表示一个对象可以包含其它对象。类似树的结构的从左至右流动是由诸如嵌入、引用或继承关系等有向关系来驱动的。在整个描绘上可以有许多这样的树。语言定义尤其具有那种结构。因而,所揭示的设计器工具支持这样的语言开发。
将这与常规的统一建模语言(UML)工具对比,UML没有类似树的结构的概念,但在对象及对象之间关系方面较简单。UML显示相同的节点以及节点之间的线。然而,从左上角的根节点起发出张开的线,其下的节点必须被手工输入,并且按照用户手工定义的顺序。
在302,另一个工具属性是按照显示屏幕资源以紧凑和有效的方式显示结构图表。这可以自动完成的一种原因是在各种节点之间的线是通道化的。通过将标签和其它装饰放置在线的中间而不是靠近或处于线端就使之成为可能。例如,根节点在单个点处连接到其它节点,类似树的结构的其它节点也是如此。另外,标签(线装饰)被安排在线上,以进一步促进图表的紧凑化。
在304,节点(或对象)是不相互交叉的线的互连。这是通过在结构中提供一个定义对象的位置,且随后在其它结构位置复制该节点来实现的。这些其它位置随后引用对象定义位置。在每个节点处提供单个引用节点来减少通常与UML相关联的线混乱,而非从任何节点绘制回到单个节点的线。如在常规工具的情况下注意到的,当多条线开始或终止于一个节点的多个点时,线交叉的可能性大大增加。
该设计器工具的另一个属性是结构的诸部分可以展开或折叠,如在306所示,这是交互式方面的一部分。这使用户能够以不同方式查看结构,例如,聚焦于一部分而非另一部分。从节点之一路由出来的任何线从一个图形符号(在下文中称为分支符(twicky))发出。用户只需要选择该分支符来展开或折叠下面的子树部分。
在308,该工具促进线装饰的整齐和可读放置。例如,诸如Employees(职员)、Leader(领导)和Team(团队)等线标签自动地定位在靠近相应的线处。而且,角色关系符号(“类似二极管”的符号)是从终止线端移开的。常规的工具对于每条终止线将符号推到靠近终止节点。因而,按照惯例,终止节点与线装饰混在一起,使查看非常困难。这里,装饰聚集在连接线的中央,使更多信息能够被包括在装饰中。
在一个实现中,不允许用户调整线装饰的定位。在另一个实现中,构想该工具基于图表屏幕资源自动将装饰调整到最佳位置。在又一实施例中,还构想允许用户选择装饰(或者成组地或者单独地)并且沿着相关联的线拖到所希望的位置。
由该设计器工具显示的图表说明了低层图形的自然树结构,这是在310所示的属性。例如,图表可以描绘语法、对象模型、域模型、元模型或模式。可以绘制包括整个类似树的结构或其子树的不同图表,称为实例图表。整个类似树的结构规定实例图表将具有的形状。UML提供方框与线的完全任意的呈现,该呈现可以一点也不象实例的结构。因而,本发明的设计器工具帮助语言设计者更好地理解图表所表示的内容。
该设计器工具的另一个属性是编辑是直接了当的,如在312所示。设计器不需要在编辑图表的布局方面浪费时间。相反,常规工具可能要求用户决定节点如何连接、节点和线相对于其它节点的排列等等。
在314,该工具是可伸缩的,使得较大的对象模型可以被呈现为单个森林(它是树的集合),并且在大多数情况下,呈现在单个图表中。该设计器工具是经济的,具有重复的符号和节点。节点可以被添加或追加到现有的树分支,本质上向下挤推新节点并且横过该树而不增加混乱。按照惯例,非结构化的图形在添加更多的线和节点时以混乱方式扩展。本发明的工具利用GUI特征并且以有效方式扩展这些图表。例如,该工具提供滚动条、窗口尺寸调整和打印分页,以使用户更有效和生产性地进行交互。
另一个属性是设计器工具显示条理清楚的结构,它捕捉低层继承与关系图形的树结构,如在316所示。
图4例示可以使用本发明的设计器工具来执行的操作。在400,对象(例如类)可以被添加或删除。尽管该描述指的是类对象,但要意识到,这些操作可以在任何类型的对象上执行。可以在结构的左边任何现有类之下添加新类。当被删除时,类及其所有相关联的关系从结构中移除。
在402,该工具可以在类的二元关系上处理操作。可以在现有类之间添加二元关系。关系是有向的。使用从源节点(或类)到目标节点(或类)的线,在源类之下以“L”形状绘制关系。该线与来自该源类的任何其它关系线通道化在一起。目标类的嵌入显示在关系的另一端。二元关系也可以在现有类与结构背景之间添加。创建新的目标类并且在源与目标类之间创建新的关系。
当删除关系时,从结构中移除它。所有其它结构元素保持在适当位置。然而应该注意,可以执行整理操作,它启动可以将树重新结构化为更有效的描绘的重新布局操作。
关系操作还包括将嵌入关系切换到引用关系,和将引用关系切换回嵌入关系,服从多样性的约束。嵌入父节点具有为一的最大多样性。这或者可以驱动用户交互,从而防止创建无效的图表,或者可以由后续的确认步骤来检测。另外,定义和嵌入关系对于相同的类可以交换。
在404,可以处理类的继承关系。可以在现有类之间添加继承关系。注意,继承关系被约束为非循环的,无论在编辑时还是在以后。子类的用法在父类之下的继承箭头的头部示出。继承关系可以在现有类与图表背景之间添加。新的子类与继承关系一起创建。继承关系也可被删除,且一旦执行,该关系就从结构中移除。所有其它结构关系保持。
如下所示,可以执行结构的重新布局操作,如在406所示,这使所有定义移动到服从当前选项的最优位置,并且相应地组织类的所有其它描绘。
在408,其中继承层次当前是展开的,如由第一个分支符中的减“-”符号所示,继承层次可以通过选择第一个分支符来折叠。在类之下的全部继承层次是折叠的,且由分支符中的“+”符号来代替。折叠的继承层次可以通过随后选择第一个分支符来展开。
在先前展开的地方,如由带有减“-”符号的第二个分支符表示的,可以通过点击第二个分支符来折叠关系层次。经由该关系到达的全部层次被折叠,并且第二个分支符被“+”符号代替。关系层次随后可以通过在显示加“+”符号时选择第二个分支符来展开。
在410,也可以处理对象特性。类的特性可以通过选择第三个分支符(在该分支符指减号时)在一个附着的“片(flap)”中显露出来。当特性片被打开时,在片中显示特性的类型和名称。特性片在再次被选择时消失,并且第三个分支符显示“+”符号。另外,当鼠标指针悬浮在类对象上时,例如,直接在显露特性片之处上方的区域,则临时打开特性片。特性也可以被添加到类或者从类中删除,使得特性在片打开时或者出现或者不出现。
在412,类和属性可以被重新定位。毗邻于图表左边的类可以被选择并且垂直地重新定位。这将对象按结构的从上至下顺序移动到新位置。另外,作为嵌入或引用关系的目标节点出现的类对象可以通过在源类的关系集合中垂直拖动来重新定位。其它方法也是可能的,例如,后移、前移、移到第一个、移到最后一个和移到这里。作为继承关系的子节点出现的类节点可以通过在源类的子节点集合中垂直地拖动来重新定位。其它方法也是可能的,例如,后移、前移、移到第一个、移到最后一个和移到这里。在另外的操作中,特性片内的特性可以被选择并且可以通过在该类对象列出的特性内垂直地拖动所选择的特性来重新定位。其它方法也是可能的,例如,后移、前移、移到第一个、移到最后一个和移到这里。
在414,该工具便于搜索操作。给出其用法之一,可以通过至少两种方法来搜索类的定义或使用。首先,选择类的任何描绘,并且随后调用一个操作来加亮其定义,并且在必要时滚动显示。其次,显示“边连接(side link)”,这是在图表的右手边处的一组线,它们将所选择的一个或多个类对象的定义连接到各自的用法。当用户将鼠标指针悬浮在一个用法上时,边连接临时地出现在图表的右手边,并且在对定义的引用之间指引用户。这利用了树结构化的布局和该工具的交互能力两者。
图5例示按照本发明的类的示例性类似树的结构500的布局,这些类构成组织图的语言的抽象句法。给出类对象Organization(组织)、Employee(职员)、Team(团队)的初始用户输入,其中职员有以下几种:Consultant(顾问)、Manager(经理)、Executive(主管)和VacantPosition(空位)。该工具自动地按照预定义的关系绘制彼此互连的线,其结果是自动生成的结构500。
结构500从左上角位置的根类对象“Organization”开始。在这个实现中,每个节点包括沿下边缘的三个小分支符符号502,它们便于相关联节点上的展开/折叠操作。在这种情况下,第一个且最左边的分支符(由类似于[-]的符号表示)允许继承层次的展开和折叠;第二个(或中间的)分支符允许关系的展开和折叠;以及第三个(或最右边的)分支符允许特性片的展开和折叠。要意识到,每个节点可以使用较大数量的这类分支符操作及其不同表示。例如,可以提供第四个分支符(圆形几何形状的)来显露与节点或元数据相关联的用户注释,诸如节点何时最后一次被修改。可替换地,可以提供更少量的分支符符号,但它们是多功能的,例如键击组合或者鼠标指针结合右击从同一分支符调用不同的操作。
在本例中,关系层次是展开的,因为已经选择了第二个分支符用于展开。从根节点发出的是Employee和Team节点,它们使用线通道化技术连接到Organization根节点,以定义对应于低层关系和继承图形的关系和继承。
Organization类节点通过利用本发明的通道化能力在单个点处连接,这与如UML等常规工具正相反。而且,Employees、Leaders和Teams的线装饰标签按照惯例是在线端处提供的,因此用线接触目标节点必须在目标节点上的不同点处发生,这造成在该节点处的文本和对象的潜在的混乱呈现。
注意,在图表上有若干标签为Employee的节点泡。来自根节点的分支Employees、Leaders和Teams各自具有Employee节点。本发明的设计工具自动将Employee节点放在定义性Employee类被定义处(即504的情形,其中Employee节点是粗体的)。为支持消除线交叉,在结构500中只引用定义性Employee类504的其它节点是由非粗体(或变灰)的节点或图形来表示的,例如Employee节点506。如在此使用的,术语定义性和非定义性应用于节点,并且术语嵌入和引用应用于弧线。还有该工具提供的其它操作,用于将定义从某个别的地方带到非定义节点,并且用于在定义性节点被移到的该位置处创建根节点。这些特征在布局上提供很大的控制,而不需要进行另外的工作。
注意,在主定义性Employee节点504之下,描绘了特性片508,它显露了称为String Title(串职务)和StringName(串名字)的属性特性。在本例中,定义性Employee节点504是结合这两个特性来定义的。在特性片508中可以使用和显露更多或更少数量的特性。这简单地意味着每个职员有一个职务和名字。默认地,当用户选择查看语法的全部结构时,不显露特性片。因而,在一个实现中,用户必须选择第三个(或右边的)分支符来显露相关联的特性。在另一个实现中,当用户将鼠标指针悬浮在第三个分支符符号上时,特性片临时出现以显露特性。随后可以通过选择第三个分支符来使这些特性永久地出现。因而,在定义语言和类似树的结构时,该设计器工具便于聚集在用户认为很重要的方面上。
该设计器工具使用角色符号510(与“二极管”符号相似)来提供关系角色的显式表示。这是符号装饰的自然位置,它们给出对于关系的附加意义。例如,在根Organization节点和非定义性Employee节点512之间的关系具有名为Employees(职员)的角色510。这个角色510用加号“+”来标记,表示该组织具有一个或多个Employee实例来担任称为Employees的角色。这个反白的角色标记为“1”,表示每个Employee精确地由一个组织使用。
该工具还使用图表惯例(例如彩色密度和/或虚或点划线)来区分类的定义、类在嵌入或继承关系中的用法和类在引用关系中的用法。例如,如果Employee类512通过引用关系连接到根类Organization 502,如由互连虚线表示的。可替换地,Employee类504通过嵌入关系连接到根类Organization 502,如由互连实线表示的。
在示例图表中,非定义性(或使用)类描绘被呈现为淡灰,而定义性类被显示得更明显(例如深蓝)。定义性和非定义性类描绘可以通过分支符的不存在与存在来决定性地区分,使得定义性类包括分支符而非定义性类不包括。线的密度可以表示一种关系是嵌入的而另一种是引用。在本例中,不同种类关系中的差异可以通过例如使用点划线用于引用关系来表示。要意识到,这些表示可以按照许多不同定义的惯例,诸如颜色、线型和粗细以及其它图形标记来作出。
角色符号被填充或未被填充。当从该图表产生代码(例如在C#中)时,如果角色符号被填充,则在对应于该角色的类和方法上生成一个特性。该设计器工具便于只显示关系的重要特性,例如,在根节点Organization 502与引用节点Employee512之间表示的线。因而,线端的描绘结合符号(例如角色符号)使用户能够显示附加的属性。而且,这些装置(标签Employees和角色符号510)定位在线中间附近的事实便于对它们的颜色和形状进行改变以表示角色本身的若干特性,因为在它们周围有大量空间。
经理可以有许多向他或她汇报的职员。在标签IndirectReports(间接报告)的例子里,职员可以间接地向许多经理汇报,如在角色符号514的右手边上非粗体方框中的星号所示。在下面是Reports(报告)标签和带有“0”的粗体化方框。这意味着职员可以或者不可以直接向经理汇报。因此在这个例子中,使用四个符号:“0”表示可以/不可以;“1”表示总是具有这种关系;星号“*”表示可具有任意数量;以及加号“+”表示至少一个,但可以有更多。
注意,定义性Employee节点504的第一和第三个分支符被选择,第三个分支符显露与其相关量的特性。第一个分支符将继承关系扩展到定义性Consultant节点、定义性Manager节点和定义性VacantPosition节点。这些是父Employee节点504的子定义性节点,如由粗体和通道化线516所示,并且箭头端指向父Employee节点504。同样,如由父定义性Manager节点的第一个分支符扩展的继承关系显露子定义性Executive节点,如由粗体和互连线518的箭头端所示。
现在参考图6,例示了按照本发明的类似树的结构图表602的设计器屏幕截图600。设计器的中央区域或工作空间604显示要编辑的类似树的结构图表602。工作空间604的左边是工具箱606,它提供一组可被拖到工作空间604上并放在合适的位置的元素。工作空间604的右边是提供一种替换方法来查看模型602的资源管理器606,以及显示所选择元素的详细特性的特性网格610。
为更好地理解符号的操作,提供下列定义来区分下列类的描绘:定义-一种描绘,示出类的完整定义,并且一个类只能有一个定义;使用-任何非定义性使用,例如,一种示出通过嵌入、继承或引用相关的类的描绘,如另一个类的子类,并且在图表中一个给定类可以有许多这样的描绘。
当布局图表时,该工具自动确定定义性类的最优位置。对此有若干选项,它们适用于不同目的。这些选项中有几个经常可同时应用:如何排列这些选项的优先顺序和选择它们取决于该工具的用户。这些选项或规则是:在顶层处朝图表的左边显示定义;当一个类只嵌入在一个父类中时,显示嵌入在父类中的定义;当一个类嵌入在重要的父类中时,现时嵌入在该父类中的定义;当一个类具有超类时,显示作为从超类继承的定义;当一个类具有重要的子类时,显示作为重要子类的超类的定义;以及可通过象这样标记一个类来将这个类确定为“重要的”。
在一个组内垂直顺序可以由用户明确地改变。然而,一个规则可以是最初是字母顺序的,或者从用户选择的替换计算中得到的顺序。
还提供容易地从非定义性类导航到其定义性类的能力。这可以通过强制标记(例如加亮)与定义性类相关联的所有类来完成。例如,当用户选择一个非定义性类时,该工具自动加标签于或加亮定义性类、其它非定义性类或两者。另一个示例,例如涉及与变灰的使用节点,如Employees交互。如果用户想要被带往相应的定义性Employee节点,则一种方法是将鼠标指针悬浮在其上、显示一个菜单、选择该选项、并且到达所希望的点。
另一种方法是在用户悬浮在一个使用上时显示边连接,其中边连接指引用户的眼睛至定义性对象。在一个实施例中,用户可以用将用户带到定义性对象的实际连接代替灰色的非定义性节点。在另一个实现中,与边连接一起使用变灰的非定义性节点。在又一个实现中,例如,可以临时启用边连接3-5秒钟,以协助用户找到定义性节点。
仅作为一个示例,加亮或者其它图形指示也可以用于指示删除信息的传播。例如,当用户已经选择了一个节点要删除时,可以在所选择的节点和所有相关联节点、线和其它有关对象和符号上强制加亮,以给用户提供删除所选择节点或对象的结果的反馈。在另一个示例中,假定正在使用该技术来描绘动画人物的全部部件结构。那么运动的传播扮演重要的角色。在描绘汽车的设计的又一个示例中,颜色的传播是一个重要特征。通常,各种种类的信息可以沿弧线传播。
图7例示按照本发明作为多个图表的类似树的结构显示。工具100还便于处理较大结构,使得其显示在使用多个图表时更方便。布局组件102与前面一样处理输入,并且输出结构至显示组件104。之后,显示组件104处理所接收的结构,并且确定如何在该工具内作为图表来显示该结构。在这种情况下,将该结构显示为多个图表(表示为图表1,图表2,...,图表N)。可以在两个分开的图表中显示该结构,例如,第一个图表700和第二个图表702。
显示选项或规则可以包括,作为示例而非限制,继承和关系层次可以独立地显示在图表的不同区域或者不同图表中。其它子选项可以包括:所有类定义出现在关系层次上并且继承层次只包括类的使用;在关系层次中,相关的较先选项适用;以及所有类定义出现在继承层次上,且关系层次只包括使用和引用。
在一个更健壮的实现中,显示组件104与布局组件102通信以由布局组件102分析和协调类似树的结构的结构化。例如,如果在由布局组件102准备期间结构的初步“屏幕截图”发送到显示组件104,并且显示组件104处理该屏幕截图并估计该初步布局将需要五个单独的图表,这样的信息可以被反馈回布局组件102,以重新结构化树来减少显示所需要的图表数量。与这样的特征有关的进一步优化将在下面参考人工智能(AI)组件的实现来描述。
设计器工具还支持指定要在特定图表或图表的特定区域上集中注意力的特定类。这是通过标记或加标签于焦点类和相关类为重要的,并且以所选择的优先级应用上述选项来完成的。
图8例示使用AI组件802的设计器工具系统800,AI组件802便于本发明方法对一个或多个学得特征的自动化。本发明(例如,结合选择)可以使用各种基于AI的方案来完成其各种方面。例如,确定给定用户如何更喜欢让类似树的结构显示为图表的过程可以通过自动分类器系统或过程来促进。
分类器是一个函数,它将输入属性矢量x=(x1,x2,x3,x4,xn)映射到该输入属于一个类的置信度,即f(x)=confidence(class)。这样的分类可以使用基于概率和/或统计的分析(例如,分解成分析效用和成本)来预测或推断用户希望自动执行的动作。
支持矢量机(SVM)是可以使用的分类器的一个示例。SVM通过在可能输入的空间中找出超曲面来操作,其中超曲面试图将触发准则从非触发事件中分离。直观上,这使分类对于接近但不同于训练数据的测试数据是正确的。其它有向和无向模型分类方法包括,例如,单纯贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型和提供可以使用的不同独立性模式的概率分类模型。如在此使用的分类也包括用于开发优先级模型的统计回归。
如从本发明说明书中容易意识到的,本发明可以使用显式训练(例如通过一般训练数据)的分类器和隐式训练(例如通过观察用户行为、接收外来信息)的分类器。例如,SVM通过分类器构造器和特征选择模块内的学习或训练阶段来配置。因而,分类器可以用于自动学习和执行许多功能,包括但不限制于下列。
在一个实现中,AI组件802便于按照预定准则确定要将结构划分成多少图表用于显示。这可以基于在结构中使用的数据类型。例如,在一个共享环境中,其中若干开发者正在同一文件上工作,每个开发者集中于该文件的不同方面,并且如果类似树的结构使用各种团队和功能的大组织图,则得到的图表可以基于开发者的给定焦点来确定。如果第一个开发者的焦点是财务,例如,将第一个开发者的登录信息或财务项输入该工具将自动使该工具在创建显示图表时重新结构化(例如,展开或收缩)树来强调结构的财务方面。
沿着同一条自动化线,可以为其焦点集中在与登录信息或其它输入项有关的特定类对象上的显示重新结构化树。如果第二个开发者正在与管理相关联的类对象上工作,则加标签于该类对象上的元数据可以用于基于某个输入数据自动打开模型文件至第二个开发者的该位置。
适当地设计AI组件802,使得该工具可以例如通过观察用户过去所作的布局选择来学习用户偏好,并且在与该用户将来的交互期间应用相似的重新布局算法。不同用户可具有布局规则的不同偏好。
另外,可以学习各种自动重新布局或整理算法。当用户首先布局图表时,这默认地可以是自动的。之后,可以为结构的最终整理而选择整理选项。另外,可以有用于支持该整理规则。一个用户可能更喜欢一组规则而不是另一组。而且,可以在图表层次处强制该规则,使图表在屏幕资源中更紧凑。例如,该工具在AI组件802的协助下可以学习按照先前用户的移动,或者例如按照平衡移动对象与对象的显示的成本的成本分析决定来将对象移动到空白处。
现在参考图9,例示了用于执行所揭示的体系结构的计算机的框图。为了给本发明的各种方面提供附加的环境,图9和下面的讨论旨在提供适合于实现本发明各种方面的计算环境900的简要概括描述。尽管已经在上面在可以在一个或多个计算机上运行的计算机可执行指令的一般上下文中描述了本发明,本领域的技术人员将认识到,本发明还可以结合其它程序模块和/或作为软硬件组合来实现。
通常,程序模块包括例程、程序、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。而且,本领域的技术人员将意识到,本发明方法可以用其它计算机系统配置来实践,包括单处理器或多处理器计算机系统、小型机、大型机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等等,它们都可以有效地耦合到一个或多个相关联的设备。
本发明的说明性方面还可以在分布式计算环境中实践,其中某些任务是由通过通信网络连接的远程处理设备来执行的。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备中。
计算机一般包括各种各样计算机可读介质。计算机可读介质可以是可以由计算机访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储信息的方法和技术实现的任何易失性和非易失性、可移动和不可移动介质,这些信息诸如计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者任何可以用于存储所需信息并可以由计算机访问的其它介质。
通信介质一般具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传输介质。术语“已调制数据信号”指以将信息编码在信号中的方式设置或改变其一个或多个特性的信号。作为示例,而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外或其它无线介质。任何上述各项的组合也应该包括在计算机可读介质的范围内。
再次参考图9,例示了用于实现本发明各方面的示例性环境900,它包括计算机902,计算机902包括处理单元904、系统存储器906和系统总线908。系统总线908将包括但不限于系统总线906在内的系统组件耦合到处理单元904。处理单元904可以是任何各种市场上可购买的处理器。双微处理器和其它多处理器体系结构也可作为处理单元904使用。
系统总线908可以是若干类型总线结构中的任一种,它们可进一步与存储器总线(带有或不带有存储器控制器)、外设总线和使用各种各样市场上可购买的总线体系结构的局部总线互连。系统存储器906包括只读存储器(ROM)910和随机存取存储器(RAM)912。基本输入/输出系统(BIOS)存储在诸如ROM、EPROM、EEPROM等非易失性存储器910中,其中BIOS包含如在启动期间帮助在计算机902内的元素之间传送信息的基本例程。RAM 912还可以包括高速RAM,如静态RAM,用于高速缓存数据。
计算机902还包括内部硬盘驱动器(HDD)914(例如EIDE、SATA),其中内部硬盘驱动器914也可被配置为在合适的机箱(未示出)中供外部使用;磁软盘驱动器(FDD)916(例如读写可移动盘918);以及光盘驱动器920(例如读CD-ROM盘922,或者读写其它高容量光介质,如DVD)。硬盘驱动器914、磁盘驱动器916和光盘驱动器920可以分别通过硬盘驱动器接口924、磁盘驱动器接口926和光盘驱动器接口928连接到系统总线908。例如,用于外部驱动器实现的接口924包括通用串行总线(USB)和IEEE 1394接口技术的至少之一或两者。其它外部驱动器连接技术都是本发明所构想的。
驱动器及其相关联的计算机可读介质提供数据、数据结构、计算机可执行指令等等的非易失性存储。对于计算机902,驱动器和介质容纳以合适数字格式的任何数据的存储。尽管上面的计算机可读介质的描述提到了HDD、可移动磁盘和可移动光介质如CD或DVD,但本领域的技术人员应该意识到,计算机可读的其它类型的介质,诸如zip驱动器、磁带盒、闪存卡、盘式磁带等等,也可以在示例性操作环境中使用,并且进一步,任何这样的介质可包含用于执行本发明方法的计算机可执行指令。
许多程序模块可存储在驱动器和RAM 912中,包括操作系统930、一个或多个应用程序932、其它程序模块934和程序数据936。操作系统、应用程序、模块和/或数据的全部或部分也可以高速缓存在RAM 912中。要意识到,本发明可以用各种市场上可购买的操作系统或者操作系统的组合来实现。
用户可以通过一个或多个有线/无线输入设备,例如键盘938和定点设备(如鼠标940)来将命令和信息输入到计算机902。其它输入设备(未示出)可包括话筒、IR遥控器、操纵杆、游戏垫、输入笔、触摸屏等等。这些和其它输入设备常常通过输入设备接口942(它耦合到系统总线908)连接到处理单元942,诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等等。
监示器944或其它类型的显示设备也通过接口,如视频适配器946连接到系统总线908。除监示器944之外,计算机一般包括其它外设输出设备(未示出),诸如扬声器、打印机等等。
计算机902可使用通过有线和/或无线通信到一个或多个远程计算机,如远程计算机948的逻辑连接在网络化环境中运行。远程计算机948可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其它常见的网络节点,并且一般包括相对于计算机932所述的许多或全部元素,为了简单起见,只例示了存储器存储设备950。所描绘的逻辑连接包括到局域网(LAN)952和/或较大网络,例如广域网(WAN)954的有线/无线连接。这样的LAN和WAN网络环境在办公室和公司中是很常见的,并且促进企业级网络,如企业内部互联网,它们全部都可连接到全球通信网络,例如因特网。
当在LAN网络环境中使用时,计算机902通过有线和/或无线通信网络接口或适配器956连接到局域网952。适配器956可促进到LAN 952的有线或无线通信,LAN925也可包括布置在其上的用于与无线适配器956通信的无线接入点。
当在WAN网络环境中使用时,计算机902可以包括调制解调器958,或者连接到WAN 954上的通信服务器,或者具有用于通过WAN 954,诸如通过因特网建立通信的其它装置。调制解调器958可以是内置或外置的和有线或无线设备,它通过串行端口接口942连接到系统总线908。在网络化环境中,相对于计算机902描绘的程序模块或者其部分可以存储在远程存储器/存储设备950中。将意识到,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
计算机902可以用于与操作上布置在无线通信中的任何无线设备或实体通信,例如,打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签(例如公共电话亭、报亭、休息室)相关联的任何设备部分或位置、以及电话。这至少包括Wi-Fi和BluetoothTM(蓝牙)无线技术。因而,通信可以是有关常规网络的预定义结构,或仅仅是至少两个设备之间的特别通信。
Wi-Fi或无线保真允许从家里的睡椅、旅馆房间中的床或单位的会议室无线地连接到因特网。Wi-Fi是与蜂窝电话中使用的技术相似的无线技术,它使例如计算机等设备能够在户内外基站范围内的任何地方收发数据。Wi-Fi网络使用称为IEEE802.11(a,b,g等)的无线电技术来提供安全可靠的快速无线连接。Wi-Fi网络可以用于将计算机相互连接、连接到因特网、以及连接到有线网络(它使用IEEE 802.3或以太网)。Wi-Fi网络在非特许的2.4和5GHz无线电波段中例如以11Mbps(802.1a)或54Mbps(802.11b)数据速率运行,或者带有包括两种波段(双波段)的产品,因此网络可以提供与在许多办公室中使用的基本10BaseT有线以太网网络相似的真实世界性能。
现在参考图10,例示了按照本发明的示例性计算环境1000的示意框图。系统1000包括一个或多个客户机1002。客户机1002可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,客户机1002可以通过使用本发明容纳cookie和/或相关联的上下文信息。
系统1000还包括一个或多个服务器1004。服务器1004也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1004可以通过使用本发明容纳执行变换的线程。在客户机1002与服务器1004之间的一种可能的通信可以是适用于在两个或多个计算机进程之间传输的数据包的形式。例如,数据包可包括cookie和/或相关联的上下文信息。系统1000包括通信框架1006(例如,全球通信网络,诸如因特网),它可以用于促进客户机1002与服务器1004之间的通信。
通信可以通过有线(包括光纤)和/或无线技术来促进。客户机1002操作上连接到一个或多个客户机数据存储1008,它们可以用于存储对客户机1002本地的信息(例如,cookie和/或相关联的上下文信息)。同样,服务器1004操作上连接到一个或多个服务器数据存储1010,它们可以用于存储对服务器1004本地的信息。
上面已经描述的内容包括本发明的示例。当然,不可能为了描述本发明而描述所有可能的组件或方法组合,但本领域的技术人员可认识到,本发明的许多其它组合和改变是可能的。因此,本发明旨在包括落在所附权利要求书的精神和范围内的所有这样的改变、修改和变体。而且,对于在详细描述或权利要求书中使用的术语“包括”,要以与术语“包含”在权利要求中作为过渡词解释时相似的方式来包括。

Claims (20)

1.一种便于设计对象模型的系统,包括:
布局组件,它接收具有不同种类的有向关系的一个或多个对象图形作为输入,并且将所述一个或多个图形转换成可编辑的类似树的结构;以及
显示组件,它显示所述可编辑的类似树的结构并且便于用户与其交互。
2.如权利要求1所述的系统,其特征在于,所述布局组件自动调整与所述类似树的结构的图形符号相关联的特征,其中,所述特征包括间距、位置、大小和形状的至少之一。
3.如权利要求1所述的系统,其特征在于,所述布局组件自动评估显示屏幕资源并且为查看而调整所述类似树的结构。
4.如权利要求1所述的系统,其特征在于,所述布局组件便于线的输入,其中没有线是相互交叉的。
5.如权利要求1所述的系统,其特征在于,所述布局组件便于所述类似树的结构的全部或部分的展开和收缩。
6.如权利要求1所述的系统,其特征在于,所述布局组件便于放置图形标记作为装饰,其中,放置在空间上是与所述类似树的结构的其它图形标记不同的。
7.如权利要求1所述的系统,其特征在于,所述类似树的结构包括类对象。
8.如权利要求1所述的系统,其特征在于,所述布局组件便于使用图表惯例来区别以下各项至少之一:类对象的定义、在嵌入或继承关系中的类对象的使用、以及在引用关系中类对象的使用。
9.如权利要求1所述的系统,其特征在于,所述布局组件便于加亮所述类似树的结构的给定对象的所有描述,并且加亮以表示信息沿一条弧线的传播。
10.如权利要求1所述的系统,其特征在于,所述布局组件便于在类对象的非定义性符号与相关联的定义性符号之间导航。
11.一种具有存储在其上的用于实现权利要求1所述的系统的计算机可执行指令的计算机可读介质。
12.一种具有处理对象模型的方法的计算机可执行指令的计算机可读介质,所述方法包括:
接收类对象的有向关系;
将所述有向关系处理成树结构,所述树结构至少描绘所述类对象的关系和特性;以及
将所述树结构显示为交互式图表。
13.如权利要求12所述的方法,其特征在于,还包括描绘带有相关联的符号的类对象,所述符号便于,
展开和折叠所述树结构的继承层次;
展开和折叠所述树结构的关系;以及
显露和隐藏所述类对象的特性信息。
14.如权利要求12所述的方法,其特征在于,还包括提供图表惯例,所述图表惯例
将特定类对象判别为定义性类;
区别特定类对象在嵌入关系与继承关系至少之一中的使用;以及
显露和隐藏特定类对象的特性。
15.如权利要求12所述的方法,其特征在于,还包括将多条线通道化成所述树结构的单一线,所述线在单点处连接特定类对象。
16.如权利要求12所述的方法,其特征在于,还包括在角色关系的树结构中显示明确的代表性符号。
17.如权利要求12所述的方法,其特征在于,还包括在非性定义类对象与定义性类对象之间导航。
18.如权利要求12所述的方法,其特征在于,还包括加亮表示同一个类的所有节点。
19.如权利要求12所述的方法,其特征在于,还包括加亮所述树结构中它表示特性的跨关系传播的一部分。
20.一种便于开发类图表的系统,所述系统包括:
用于接收包括具有一个或多个有向关系的对象的图形的装置;
用于将所述图形处理成描绘对象关系和对象特性的默认树结构的装置;
用于将所述默认树结构显示为便于用户编辑的交互式图表的装置;
用于通过移动一个或多个对象将所述默认树结构重新排序成新的树结构的装置;
用于基于定义性对象位置来优化所述新树结构的显示的装置;以及
用于将经优化的显示呈现为一个或多个交互式图表的装置。
CN200510129091.XA 2005-01-05 2005-12-06 对象模型树图表 Expired - Fee Related CN1801151B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/029,852 2005-01-05
US11/029,852 US7814427B2 (en) 2005-01-05 2005-01-05 Object model tree diagram

Publications (2)

Publication Number Publication Date
CN1801151A true CN1801151A (zh) 2006-07-12
CN1801151B CN1801151B (zh) 2011-12-14

Family

ID=35892599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510129091.XA Expired - Fee Related CN1801151B (zh) 2005-01-05 2005-12-06 对象模型树图表

Country Status (5)

Country Link
US (1) US7814427B2 (zh)
EP (1) EP1679587A1 (zh)
JP (1) JP5063890B2 (zh)
KR (1) KR101169171B1 (zh)
CN (1) CN1801151B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009097725A1 (zh) * 2008-02-02 2009-08-13 Huawei Technologies Co., Ltd. 数据转换方法、装置、终端以及服务器
CN101789003A (zh) * 2010-01-25 2010-07-28 刘明晶 用可视化图形表现关联信息的方法
CN101681389B (zh) * 2007-06-15 2013-03-13 微软公司 在过程图内创建、显示、和编辑子过程
CN103069383A (zh) * 2010-06-02 2013-04-24 艾伦智能科技公司 具有图形用户界面的装置及开发多媒体计算机应用程序的方法
CN103810548A (zh) * 2012-11-08 2014-05-21 中国船舶工业集团公司七〇八研究所 一种船舶与海洋工程项目管理系统
CN104133900A (zh) * 2014-08-04 2014-11-05 浪潮通用软件有限公司 一种360°树状视图的定义描述方法
CN110609873A (zh) * 2018-06-15 2019-12-24 富士施乐株式会社 信息处理装置和非暂时性计算机可读介质
CN110737380A (zh) * 2019-09-05 2020-01-31 广州视源电子科技股份有限公司 思维导图展示方法、装置、存储介质及电子设备
CN110795093A (zh) * 2018-08-01 2020-02-14 北京京东尚科信息技术有限公司 一种交互式视图生成方法和装置
CN117581167A (zh) * 2021-12-21 2024-02-20 三菱电机株式会社 编程辅助程序、编程辅助装置及编程辅助方法

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US20070005618A1 (en) * 2005-06-07 2007-01-04 Konstantin Ivanov Systems and methods for modeling business processes
US8266579B2 (en) * 2005-10-14 2012-09-11 International Business Machines Corporation System and method for developing and deploying a model-driven editor
US10983695B2 (en) * 2005-10-24 2021-04-20 Kinoma, Inc. Focus management system
US8276119B2 (en) * 2005-11-18 2012-09-25 International Business Machines Corporation Object replacement method, system and computer program product
US7661076B2 (en) * 2006-03-31 2010-02-09 Microsoft Corporation Two dimensional trees to edit graph-like diagrams
US8875113B2 (en) * 2006-05-04 2014-10-28 Oracle International Corporation Managing JAVA class paths
US8010938B2 (en) * 2006-11-27 2011-08-30 International Business Machines Corporation Computer method and system for pattern specification using meta-model of a target domain
US20080162616A1 (en) * 2006-12-29 2008-07-03 Sap Ag Skip relation pattern for graph structures
US9311082B2 (en) * 2006-12-29 2016-04-12 Sap Se System and method for processing graph objects
US20080162563A1 (en) * 2006-12-29 2008-07-03 Sap Ag Generic graph services utilizing anonymous and identified graph pattern
US8640086B2 (en) * 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
US9165087B2 (en) * 2006-12-29 2015-10-20 Sap Se Validity path node pattern for structure evaluation of time-dependent acyclic graphs
US20080162777A1 (en) * 2006-12-29 2008-07-03 Sap Ag Graph abstraction pattern for generic graph evaluation
US8396827B2 (en) * 2006-12-29 2013-03-12 Sap Ag Relation-based hierarchy evaluation of recursive nodes
US20080228812A1 (en) * 2007-03-15 2008-09-18 Honeywell International Inc. Method and System for Metamodeling Using Dynamic Ontology Objects
US10068189B2 (en) * 2007-06-01 2018-09-04 International Business Machines Corporation Storing and depicting organizations that are subject to dynamic event driven restructuring
US9530105B2 (en) * 2007-06-27 2016-12-27 Microsoft Technology Licensing, Llc Managing entity organizational chart
JP4862945B2 (ja) * 2007-08-10 2012-01-25 株式会社島津製作所 データ解析システム
JP4907482B2 (ja) * 2007-09-27 2012-03-28 株式会社日立製作所 計算機システム及びファイル管理方法
US8095865B2 (en) * 2007-11-21 2012-01-10 Microsoft Corporation Layout manager
CN101499003A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 生成关于模型的约束表达式的方法以及约束语言编辑器
US8826174B2 (en) * 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US9639331B2 (en) * 2008-07-09 2017-05-02 International Business Machines Corporation Service interface creation and modification for object-oriented services
US8276113B2 (en) * 2008-08-11 2012-09-25 International Business Machines Corporation Dynamic highlighting of related artifacts in a UML diagram
US8669982B2 (en) * 2008-10-01 2014-03-11 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic culling graph view of multiply connected objects
US8194075B2 (en) * 2008-10-01 2012-06-05 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic list view of multiply connected objects
US8711147B2 (en) * 2008-10-01 2014-04-29 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic graph view of multiply connected objects
US8711148B2 (en) * 2008-10-01 2014-04-29 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic selective view of multiply connected objects
US8665274B2 (en) * 2008-10-01 2014-03-04 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic view of bi-directional impact analysis results for multiply connected objects
US20100162208A1 (en) * 2008-12-19 2010-06-24 International Business Machines Corporation Modeling tool builder - graphical editor construction
US20100161524A1 (en) * 2008-12-19 2010-06-24 International Business Machines Corporation Method and system for identifying graphical model semantics
US20100269089A1 (en) * 2009-04-21 2010-10-21 Vinod R Panicker Method and system for generation of reusable design patterns
WO2010144701A1 (en) * 2009-06-11 2010-12-16 Accenture Global Services Limited Assessment system for choosing maintenance approaches for gui-directed test scripts
CA2669603A1 (en) * 2009-06-18 2010-12-18 Ibm Canada Limited - Ibm Canada Limitee Graphical modeling tool
US8190710B2 (en) 2009-06-23 2012-05-29 Oracle International Corporation System and method for providing user context support in a native transaction platform
US8326913B2 (en) * 2009-06-25 2012-12-04 Oracle International Corporation Method and system for service contract discovery
US20110029951A1 (en) * 2009-07-30 2011-02-03 International Business Machines Corporation Visually Presenting Inherited Members in Object-Oriented Languages
US8205171B2 (en) 2009-09-01 2012-06-19 Oracle International Corporation System and method for providing graphical user interface displaying multiple views
US8863029B2 (en) * 2009-09-01 2014-10-14 Oracle International Corporation Method and system for providing graphical user interface having filtering capability
US8806377B2 (en) * 2009-09-01 2014-08-12 Oracle International Corporation Method and system for providing graphical user interface with contextual view
US8363054B2 (en) * 2010-06-16 2013-01-29 Microsoft Corporation Localized layout and routing in an interactive diagramming system
EP2585957A4 (en) * 2010-06-24 2014-12-24 Valtion Teknillinen STATE DEDUCTION IN A HETEROGENEOUS SYSTEM
US8448093B2 (en) * 2010-07-23 2013-05-21 Oracle International Corporation Hierarchical organization chart for mobile applications
US20120036463A1 (en) * 2010-08-06 2012-02-09 Krakovsky Dmitri I Metric navigator
US8997024B2 (en) * 2010-12-09 2015-03-31 Microsoft Technology Licensing, Llc Navigating between views of a graph using placemarkers
US8572101B2 (en) * 2011-01-10 2013-10-29 International Business Machines Corporation Faceted interaction interface to object relational data
US8924385B2 (en) 2011-04-12 2014-12-30 Microsoft Corporation Query-based diagrammatic presentation of data
KR20130010748A (ko) * 2011-07-19 2013-01-29 (주)이스트소프트 좌표인식기반 마인드맵 사용자 편집 시스템
US9773327B2 (en) * 2011-10-15 2017-09-26 Hewlett Packard Enterprise Development Lp Modified flow graph depiction
US9104389B2 (en) 2011-10-18 2015-08-11 International Business Machines Corporation Hierarchical functional and variable composition diagramming of a programming class
US8732655B2 (en) * 2011-12-29 2014-05-20 Sap Ag Systems and methods for metamodel transformation
US20130191809A1 (en) * 2012-01-25 2013-07-25 Microsoft Corporation Graphical representation of an order of operations
US10699038B2 (en) 2012-03-30 2020-06-30 Litmus Blue Technology LLC Configurable representation of domain models
US9087044B2 (en) 2012-08-30 2015-07-21 Wal-Mart Stores, Inc. Establishing “is a” relationships for a taxonomy
US9092547B2 (en) 2012-09-19 2015-07-28 Wal-Mart Stores, Inc. Transforming a graph to a tree in accordance with analyst guidance
US8914771B2 (en) 2012-11-13 2014-12-16 International Business Machines Corporation Indicating hierarchy diversion in a class diagram
CN103853760B (zh) * 2012-12-03 2017-05-03 中国移动通信集团公司 一种网页正文内容提取方法和装置
WO2014133533A1 (en) * 2013-02-28 2014-09-04 Hewlett-Packard Development Company, L.P. An interface for creating a plan artifact
US10078411B2 (en) 2014-04-02 2018-09-18 Microsoft Technology Licensing, Llc Organization mode support mechanisms
US9697469B2 (en) 2014-08-13 2017-07-04 Andrew McMahon Method and system for generating and aggregating models based on disparate data from insurance, financial services, and public industries
US10169355B2 (en) * 2014-10-27 2019-01-01 Tata Consultancy Services Limited Knowledge representation in a multi-layered database
US9760614B2 (en) * 2014-12-16 2017-09-12 General Electric Company Method and tool for browsing semantic data and creating queries using a domain/range representation
US10223474B1 (en) 2015-09-30 2019-03-05 Riivos, Inc. Traversing a cyclic graph using a modified breadth-first search in complex modeling
US9685142B2 (en) * 2015-11-03 2017-06-20 International Business Machines Corporation Obtaining and displaying relationships between elements
CN109121436B (zh) 2015-11-25 2022-06-21 蒂米菲尔股份有限公司 增广、探索、和维护项目分层结构的方法
US10339488B2 (en) * 2015-12-16 2019-07-02 Sap Se Method and system for the definition of a model
US10078634B2 (en) * 2015-12-30 2018-09-18 International Business Machines Corporation Visualizing and exploring natural-language text
US10192018B1 (en) * 2016-03-31 2019-01-29 Cadence Design Systems, Inc. Method and system for implementing efficient trim data representation for an electronic design
US11112927B2 (en) * 2018-04-25 2021-09-07 Adobe Inc. Digital content automated layout system
US10936342B2 (en) * 2018-07-17 2021-03-02 Salesforce.Com, Inc. Method and user interface for data mapping
US11256748B2 (en) 2018-11-30 2022-02-22 Riivos, Inc. Complex modeling computational engine optimized to reduce redundant calculations
US11620454B2 (en) 2020-02-05 2023-04-04 Hatha Systems, LLC System and method for determining and representing a lineage of business terms and associated business rules within a software application
US11836166B2 (en) 2020-02-05 2023-12-05 Hatha Systems, LLC System and method for determining and representing a lineage of business terms across multiple software applications
US11288043B2 (en) * 2020-02-05 2022-03-29 Hatha Systems, LLC System and method for creating a process flow diagram which incorporates knowledge of the technical implementations of flow nodes
JP2022012394A (ja) * 2020-07-01 2022-01-17 横河電機株式会社 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306786A (ja) * 1994-05-12 1995-11-21 Matsushita Electric Ind Co Ltd オブジェクト階層表示装置
US5754179A (en) 1995-06-07 1998-05-19 International Business Machines Corporation Selection facilitation on a graphical interface
US6564368B1 (en) * 1998-10-01 2003-05-13 Call Center Technology, Inc. System and method for visual application development without programming
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
JP2002157120A (ja) * 2000-11-17 2002-05-31 Hitachi Software Eng Co Ltd 設計ドキュメント管理システム
US6804686B1 (en) * 2002-04-29 2004-10-12 Borland Software Corporation System and methodology for providing fixed UML layout for an object oriented class browser
US7167862B2 (en) * 2003-03-10 2007-01-23 Ward Mullins Session bean implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
EP1510938B1 (en) * 2003-08-29 2014-06-18 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
US7318199B2 (en) * 2003-09-11 2008-01-08 Oracle International Corporation Algorithm for automatic layout of objects in a database

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681389B (zh) * 2007-06-15 2013-03-13 微软公司 在过程图内创建、显示、和编辑子过程
WO2009097725A1 (zh) * 2008-02-02 2009-08-13 Huawei Technologies Co., Ltd. 数据转换方法、装置、终端以及服务器
CN101789003A (zh) * 2010-01-25 2010-07-28 刘明晶 用可视化图形表现关联信息的方法
CN103069383B (zh) * 2010-06-02 2016-09-28 艾伦智能科技公司 具有图形用户界面的装置及开发多媒体计算机应用程序的方法
CN103069383A (zh) * 2010-06-02 2013-04-24 艾伦智能科技公司 具有图形用户界面的装置及开发多媒体计算机应用程序的方法
US10139995B2 (en) 2010-06-02 2018-11-27 Allen Learning Technologies Device having graphical user interfaces and method for developing multimedia computer applications
CN103810548A (zh) * 2012-11-08 2014-05-21 中国船舶工业集团公司七〇八研究所 一种船舶与海洋工程项目管理系统
CN104133900A (zh) * 2014-08-04 2014-11-05 浪潮通用软件有限公司 一种360°树状视图的定义描述方法
CN110609873A (zh) * 2018-06-15 2019-12-24 富士施乐株式会社 信息处理装置和非暂时性计算机可读介质
CN110795093A (zh) * 2018-08-01 2020-02-14 北京京东尚科信息技术有限公司 一种交互式视图生成方法和装置
CN110795093B (zh) * 2018-08-01 2024-04-16 北京京东尚科信息技术有限公司 一种交互式视图生成方法和装置
CN110737380A (zh) * 2019-09-05 2020-01-31 广州视源电子科技股份有限公司 思维导图展示方法、装置、存储介质及电子设备
CN117581167A (zh) * 2021-12-21 2024-02-20 三菱电机株式会社 编程辅助程序、编程辅助装置及编程辅助方法

Also Published As

Publication number Publication date
JP2006190262A (ja) 2006-07-20
US7814427B2 (en) 2010-10-12
KR20060080528A (ko) 2006-07-10
CN1801151B (zh) 2011-12-14
KR101169171B1 (ko) 2012-07-30
EP1679587A1 (en) 2006-07-12
US20060150169A1 (en) 2006-07-06
JP5063890B2 (ja) 2012-10-31

Similar Documents

Publication Publication Date Title
CN1801151B (zh) 对象模型树图表
US20170364376A1 (en) Search augmented menu and configuration for computer applications
CN1534476B (zh) 一种计算机实现来用于图像处理的方法和系统
US8490049B2 (en) Faceted, tag-based approach for the design and composition of components and applications in component-based systems
US9087296B2 (en) Navigable semantic network that processes a specification to and uses a set of declaritive statements to produce a semantic network model
CN102105862B (zh) 实体交互的自动用户界面生成
CN1550980A (zh) 对象层次结构内对象创建的系统和方法
CN1726488A (zh) 用于构建自然语言理解应用的集成开发工具
CN101233502B (zh) 用于可扩展标记语言(xml)的轻量应用程序编程接口(api)
CN101395600A (zh) 自适应语义平台体系结构
CN1655149A (zh) 经由支点数据的数据库的选择性多级扩展
CN1758252A (zh) 自动视图选择
US20230049167A1 (en) Continuous machine learning method and system for information extraction
CN110199274A (zh) 用于自动化查询回答生成的系统和方法
CN102770842A (zh) 基于样式的用户界面
US12032605B2 (en) Searchable data structure for electronic documents
KR102401112B1 (ko) UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법
CN1758251A (zh) 静态和动态数据集的交互
CN102741810B (zh) 信息管理
CN115715393A (zh) 用于动态定义数字表单的系统和方法
US20230186071A1 (en) Classifying and organizing digital content items automatically utilizing content item classification models
US20230185768A1 (en) Classifying and organizing digital content items automatically utilizing content item classification models
Patwari et al. A complementary domain specific design environment aiding SysML
US20220414346A1 (en) Stickering method and system for linking contextual text elements to actions
WO2023036400A1 (en) Managing an app, especially developing an app comprising a trained function, method and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111214

Termination date: 20191206