CN1808377A - 由非专属语言驱动的通用序列图生成器 - Google Patents

由非专属语言驱动的通用序列图生成器 Download PDF

Info

Publication number
CN1808377A
CN1808377A CNA2006100015360A CN200610001536A CN1808377A CN 1808377 A CN1808377 A CN 1808377A CN A2006100015360 A CNA2006100015360 A CN A2006100015360A CN 200610001536 A CN200610001536 A CN 200610001536A CN 1808377 A CN1808377 A CN 1808377A
Authority
CN
China
Prior art keywords
source file
flow process
sequence
actor
text
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.)
Pending
Application number
CNA2006100015360A
Other languages
English (en)
Inventor
肯尼思·M·格林
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of CN1808377A publication Critical patent/CN1808377A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of 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)
  • Automation & Control Theory (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

一种由非专属语言驱动的通用序列图生成器。根据一个实施例,源文件以非专属语言描述应用的流程(例如消息交换)。自动序列图生成器可操作以接收源文件作为输入,并且基于这种源文件,生成表示源文件所描述的流程的序列图。在示例性实施例中,非专属语言是标记语言,如可扩展标记语言(XML)。序列图生成器是通用的,因为它能够生成表示源文件中所描述的任何应用的流程的序列图。源文件为之描述流程的应用可以是任何类型的应用,包括但不限于计算机可读软件应用程序、通信协议或动作者之间的任何消息交换。

Description

由非专属语言驱动的通用序列图生成器
技术领域
本发明涉及由非专属(non-proprietary)语言驱动的通用(application-generic)序列图(sequence diagram)生成器。
背景技术
序列图(也称为序列表、时序图/表、消息序列图/表、铁路图/表(railroad diagram/chart)或阶梯图/表(ladder diagram/chart))常用于提供应用流程的图示。更具体而言,序列图通常提供两个或更多个被称为“动作者(actor)”的实体之间的一系列被称为“消息”的事务的图示。在序列图中,时间通常表示为沿页面垂直向下发展。每个动作者在序列图中通常由垂直线(或列)来表示。消息通常由交换中涉及的动作者的垂直线之间的水平线表示,这些水平线通常被标注并且通常以指示通信方向的箭头结束。序列图中有时包括其他装饰,例如事务项目号码或事务之间的其他关系,比如超时。
许多类型的应用的流程可由序列图表示,包括但不限于诸如通信协议、计算机可执行软件、装配线或其他制造过程这样的应用。实际上,序列图可用于表示任何应用的动作者之间的消息交换流程,例如水果销售者和希望从该销售者处购买水果的客户之间交换的消息的流程。序列图可用于清楚地表示应用的消息交换(或“流程”),以取代这种消息交换的文本描述或附加于这种消息交换的文本描述。例如,在许多情况下,比起查看应用的文本描述,通过查看序列图可以更快速地理解诸如通信协议这样的应用。正如古语“一图值千言”所言,序列图在传达给定应用的消息交换方面大有帮助。
因此,序列图常被用于说明书、设计和其他文档中,以便以文档方式记录实现方式,并作为预测或测量的系统行为的表示。例如,在电信领域,序列图被广泛用于以文档方式记录所需的、所预期的或实际的协议消息交换。
虽然序列图大有裨益,但是要创建和维护序列图却常常是很麻烦的。传统上是用基本位图编辑器(例如Microsoft Paint)、更复杂的制图工具(例如Microsoft Visio)或有时用专门的CASE工具(例如RationalRose)来手动创建序列图。以这种方式创建序列图要求原作者和维护者都能访问兼容的工具的适当许可的版本。此外,序列图创建者需要就样式和布局做出决定,虽然某些工具在这些领域提供了帮助。此手动方法耗费大量时间和精力,并且由于创建和维护序列图的高成本,使人失去了在文献中包含序列图的信心。
最近,已开发了自动图生成工具,其能够根据描述应用的事务序列的输入文本文件,生成序列图。从而,这种自动图生成工具减轻了用户手动创建序列图的要求。现有技术中可用的自动图生成工具包括:可从EventHelix.com获得的EventStudio2.5(参见http://www.eventhelix.com/EventStudio/),可从SourceForge.net获得的Callflow序列图生成器(参见http://sourceforge.net/projects/callflow),可从International Business Machines(IBM)获得的WebSphere StudioApplication Developer中提供的序列图工具,以及可从NASRA获得J2u(参见http://www.nasra.fr/)。
现有的自动图生成工具通常要求使用专属语言来定义源文件中的文本描述。从而,用户可能需要学习专属语言,以便生成自动图生成工具要使用的适当的文本描述。
此外,某些自动图生成工具不是通用的。而是,某些自动图生成工具被限制为只用于为特定类型的应用生成序列图,从而缺乏为任何希望类型的应用生成序列图的灵活性。例如,WebSphere Studio ApplicationDeveloper中提供的序列图工具能够接收Java源代码作为源文件,并且可操作以生成表示接收到的Java源代码的流程的序列图。从而,虽然此工具不要求用户学习专属语言以便生成源文件(而是Java源代码可被输入作为源文件),但它却是专用(application-specific)的,因为它只能为输入的Java源代码生成序列图。从而,例如,此工具无法接收例如描述客户和水果销售者之间的消息交换的文本源文件并为该应用生成序列图,而是限于生成表示输入到其中的Java源代码的流程的序列图。从而,某些序列图生成工具不是通用序列图生成器,而是针对特定应用或特定任务的,例如对现有源代码进行逆向工程,或根据运行时的追踪,自动以文档方式记录软件运行时行为。
此外,现有技术的自动序列图生成工具一般不允许命令行操作,从而无法被集成到终端用户的文档发布自动化过程中。从而,用户一般没有有效的方式来用现有自动序列图生成器创建一组图。而是,用户一般需要坐在计算机前,并输入信息(例如源文件)来一次生成一幅图。
发明内容
考虑到上述情况,需要一种能够接收以非专属语言定义应用的流程(例如消息交换)的源文件的自动序列图生成器。此外,还希望这种自动序列图生成器是通用的(general purpose或application-specific)图生成器,而不是限于为特定应用生成序列图。
本发明针对一种提供由非专属语言驱动的通用序列图生成器的系统和方法。根据一个实施例,源文件以非专属语言描述应用的流程(例如消息交换)。自动序列图生成器可操作以接收源文件作为输入,并且基于这种源文件生成表示源文件所描述的流程的序列图。
在示例性实施例中,非专属语言是标记语言,如可扩展标记语言(XML)。从而,用户不需要学习专属语言以便创建序列图生成器所使用的源文件,而是例如可以用XML来描述要用图表示的流程。此外,序列图生成器是通用的(general purpose或application-generic),因为它能够生成表示源文件中所描述的任何应用的流程的序列图。被源文件描述了流程的应用可以是任何类型的应用,包括但不限于计算机可读软件应用程序、通信协议或动作者之间的任何消息交换(例如客户和水果销售者之间的消息交换)。
根据一个实施例,序列图生成器包括源解析器、图解析器和呈现引擎。源解析器接收文本源文件,并且基于接收到的源文件,为源文件所描述的流程的图构建数据模型。图解析器处理源解析器所构建的数据模型,以生成相应的绘图命令,这些绘图命令被输入到呈现引擎。响应于接收到绘图命令,呈现引擎生成表示文本源文本所描述的流程的序列图。
在这里所描述的各种实施例中,文本源文件是独立于该文本源文件为之定义流程的应用的。例如,文本源文件描述将对其生成序列图的应用(例如通信协议或动作者之间的其他消息交换)的流程,而不是源文件本身是要为其生成序列图的应用。例如,文本源文件可以是描述Java程序的流程的XML文件。从而,XML文件是独立于Java程序的,而不是Java程序的源代码被用作序列图生成器的输入。
以上已相当宽泛地概述了本发明的特征和技术优点,以便以下对本发明的详细描述能被更好地理解。形成本发明的权利要求的主题的本发明的附加特征和优点将在下文中描述。本领域的技术人员应当理解,所公开的概念和特定实施例易被用作修改或设计其他实现与本发明相同的目的的结构的基础。本领域的技术人员还应当意识到,这种等同构造不脱离所附权利要求书所阐述的本发明的精神和范围。当联系附图进行考虑时,可从以下描述中更好地理解被认为是本发明的特点的新颖特征的组织结构和操作方法,以及其他目的和方法。但是,要清楚理解,每幅附图都只是提供来用于说明和描述目的的,而不想要用作对本发明的范围的限定。
附图说明
为了更全面地理解本发明,现结合附图参考以下描述,附图中:
图1示出了包括根据本发明的实施例的序列图生成器的示例性系统;
图2示出了根据本发明的某些实施例的序列图生成器;
图3更详细示出了根据本发明的一个示例性实施例的序列图生成器;
图4示出了可由根据本发明的一个实施例的序列图生成器生成的示例性序列图;
图5示出了根据本发明的一个实施例的序列图生成器的操作流程图;
图6示出了一个示例性系统,其中文档生成器和序列图生成器被实现为分别的组件,它们可并行使用,以从源文件生成整个文档(既有文本又有序列图);以及
图7示出了一个示例性系统,其中序列图生成器被集成在文档生成器应用中。
具体实施方式
现参考以上附图描述本发明的示例性实施例,在若干附图中,类似的标号表示类似的部分。转到图1,示出了示例性系统100,该系统包括序列图生成器102,该序列图生成器102可操作以接收文本源文件101作为输入,并且从该源文件101生成序列图103。序列图103例如可被存储到文件和/或被输出(例如输出到显示设备)。根据这里所描述的各种实施例,源文件101以诸如XML之类的非专属语言,描述诸如通信协议等的应用的流程(例如消息交换)。序列图生成器102可以被称为通用(general purpose或application-generic)序列图生成器,因为它可操作以为在源文件101中描述了流程的任何类型的应用生成序列图。
此外,如这里进一步描述的,文本源文件101独立于该源文件为之描述流程的应用。例如,文本源文件描述要为之生成序列图的应用(例如通信协议或动作者之间的其他消息交换)的流程,而不是源文件本身是要为之生成序列图的应用。例如,文本源文件101可以是描述Java程序流程的XML文件。从而,XML文件独立于Java程序,而不是Java程序的源代码被用作序列图生成器102的输入。因此,序列图生成器102不限于为输入其中的源文件的流程生成序列图,而是可操作来为由被输入其中的源文件所描述的任何应用的流程生成序列图。
图2示出了根据本发明的某些实施例的图生成器102。如图所示,图生成器102包括解析器组件201和呈现引擎(rendering engine)203。解析器组件可操作以基于输入的文本源文件101,生成绘图命令202到呈现引擎203,以使呈现引擎203生成表示源文件101中描述的流程的序列图103。
根据此示例性实施例,源文件101以非专属语言(例如XML)提供了应用流程的序列定义。源文件被输入到序列图生成器102,该序列图生成器102解析源文件101的数据,并且将序列图103呈现在显示屏幕上或者以几种格式(bmp、gif、jpg等)之一呈现到文件中。解析器201负责读取和解释源文件101的输入数据(例如XML),以提取元素定义。呈现引擎203负责用其内部样式和布局规则呈现绘图元素。呈现引擎应用程序接口(API)提供了适用于绘制序列图的抽象,其独立于图的任何特定领域的应用。解析器201在源文件(例如XML)中的特定领域编码和呈现API之间进行映射。这使序列图生成器102能够迅速适应于各种领域,而无需更改控制样式和布局的核心绘图逻辑。
呈现引擎203及其相应的API可以是已知的或以后开发的提供接收绘图命令并根据这些绘图命令生成序列图的能力的任何引擎和API。解析器201(更具体而言是以下图3的示例性实施例中描述的图解析器303)应该拥有关于呈现引擎API的知识,以便它能够生成适当的绘图命令,以使呈现引擎采取正确的行动来生成适当的序列图。在某些实施例中,呈现引擎的API可被开发为在绘制序列图方面具有特定实用性(例如能够接收动作者、消息序列等,并且绘制表示动作者之间的消息序列的相应特征),但这不是实现这里所描述的概念所必需的。
根据一个示例性实施例的序列图生成器102在图3中更详细示出。在此示例性实施例中,序列图生成器102包括源解析器301、图解析器303和呈现引擎203。从而,在此示例性实施例中,图2的解析器组件201包括源解析器301和图解析器303。源解析器301接收源文件101作为输入,并且基于这种源文件101,构建内部数据模型302。更具体而言,源解析器301读取源文件101的文本,检查其语法,并且构建内部数据模型302,该内部数据模型302代表从源文件101读取的所有图元数据信息。内部数据模型302保持了源文件101中表达的层次结构和关系。
在一个示例性实施例中,源文件是XML的,源解析器301解析XML元素,以从源文件中提取数据,来生成数据模型302。更具体而言,在一个示例性实现方式中,XML源文件101被源解析器301加载到DOM(文档对象模型)中。DOM是树形结构,它捕捉来自XML的所有数据,包括其层次结构。DOM被源解析器301搜索以查找图元数据,图元数据然后被提取到描述动作者和所有事务和装饰的内部数据结构集合302中。事务数据被进一步处理,以提取所有的源和目的地信息。然后,此内部数据集合302被用于驱动呈现过程。通过XML标签的独特集合,在XML源中,图元数据被源解析器301识别,其示例在下文中进一步描述。
图解析器303处理内部数据模型302中的数据,以提取序列图中要表示的特征,并且基于这种内部数据模型302,图解析器303生成抽象绘图命令序列到呈现引擎203。呈现引擎203接收绘图命令,并且将这种命令变换为低级操作系统图形操作(例如绘制线条、圆圈或文本),以创建序列图103,该序列图103例如可被输出到基于处理器的设备(例如个人计算机)304的显示器305上,和/或被存储到文件中。
为了描述一个实施例的操作,考虑这样一个简单的情形:三个动作者A、B和C之间的会话被描述在源文件101中,该源文件101然后被图生成器102用于生成表示这种会话中的动作者之间的消息交换的序列图103。从而,在此情形下,动作者之间的会话被视为应用,并且这种应用的流程在源文件101中描述。假设会话如下:
·A对B说“Hello”;
·B对A说“Hello there”,对C说“Hi”;
·C对B和A说“G’day”。
在此示例性实施例中,源文件101以XML表达,并且上述会话可由以下的XML源文件101来表示:
<?xml version=″1.0″standalone=″yes″?>
<SequenceDefinition title=”A Simple Diagram”>
     <MessageSequence>
        <Message from=”A”to=”B”msg=”Hello”/>
        <Message from=”B”to=”A”msg=”Hello there”/>
        <Message from=”B”to=”C”msg=”Hi”/>
        <Message from=”C”to=”A”msg=”G’day”/>
        <Message from=”C”to=”B”msg=”G’day”/>
        <MessageSequence>
</Sequence Definition>
正如公知的,XML允许利用标签定义元素。XML是一种“标记”语言,它可能包含标记符号来描述页面或文件的内容。XML按照被描述的是什么数据来描述文件的内容。例如,被置于标记标签内的词“phonenum”可指示接下来的数据是电话号码。从而,XML允许定义元素,例如此示例中的“phonenum”元素。这意味着XML文件可单纯地作为数据被程序处理,或者它可以以类似的数据被存储在另一计算机上,或者就像HTML文件那样,它可被显示。例如,根据接收计算机中的应用程序希望如何处理电话号码,它可被存储、显示或拨号。XML是“可扩展”的,因为与HTML不同,标记符号是无限制的并且是自定义的。在上述示例性XML代码中,定义了元素SequenceDefinition、MessageSequence和Message。SequenceDefinition元素在此情形下是最外层标签,它包含了单幅图的完整定义。SequenceDefinition元素包括“title”属性,该属性可用于提供图的标题。MessageSequence元素包含动作者之间的事务集合,并且每个消息元素利用“msg”属性所给出的注释来定义“来自”和“去往”动作者之间的单个事务。解析XML文件的程序(例如源解析器301)可通过搜寻SequenceDefinition元素,来确定该文件包括序列定义。然后解析器可假定在开放和关闭SequenceDefinition标签之间找到的所有内容都与定义有关,并且应该遵循这种定义的预期语法,在此情况下预期语法是包含一个或多个消息标签的至少一个MessageSequence标签集合。
源解析器301接收源文件101的上述XML,并且将其解析为内部数据模型302。从上述示例性XML代码导出的内部数据模型302可能是下面这个样子的:
DiagramData{
      {Title     {“A Simple Diagram”}}
      {ActorList {A B C}}
      {MessageList{{A B“Hellow”}{B A“Hello there”}{B C“Hi”}{C A“G’day”}{C B“G’day”}
源解析器301拥有关于源文件格式和语法的明确知识,以便能够提取构造图所需的信息。这种知识特定于每种具体源文件类型,并且实际上可能会随着时间而改变,或者对于本发明的不同实施例可能是不同的。以这种方式经由内部数据模型302将源解析器301与图解析器303分离开来允许了一种能够迅速适应于不同源文件格式而无需改变基本图生成过程的实现方式。从而单个实现方式可以支持许多不同的XML语法,或者实际上可以一起支持其他文件格式,也许是类似于windows“.ini”文件的结构化文本,或者任何其他任意的输入格式。这种实现方式必须对每种支持的格式都有一个源解析器301实现,但是对于内部数据模型302、图解析器303和呈现引擎203中的每一个,只要有单个实现即可。
此外,在某些实施例中,创建序列图103所需的信息中的一些可能不是在源文件101中明确提供的,而是在其已经全部被解析之后,从可用数据导出的。在这种情况下,单次通过源文件101就直接生成呈现引擎命令是不可行的,而是,数据必须被存储直到可以创建整个集合。在该示例中,只有在所有的消息元素已被解析之后,动作者的完整列表才能被确定。但是,在可以生成图时,动作者的完整列表必须是已知的。
一旦源文件的上述XML已被解析成内部数据模型302,图解析器303就处理这种内部数据模型302,并生成绘图命令序列。对于上述示例和示例性的呈现引擎API,命令集合可能如下:
SequenceDiagram::sequencediagram.myDiag-title“A Simple Diagram”
myDiag add actor-id A
myDiag add actor-id B
myDiag add actor-id C
myDiag add message-from A-to B-text“Hello”
myDiag add message-from B-to A-text“Hello there”
myDiag add message-from B-to C-text“Hi”
myDiag add message-from C-to A-text“G’day”
myDiag add message-from C-to B-text“G’day”
myDiag refresh
呈现引擎203接收上述绘图命令,并且生成图4的示例性序列图400。如图4所示,序列图400包括标题401“A Simple Diagram”,如上述示例性XML源文件101中指定的那样。另外,序列图400包括动作者A(402)、B(403)和C(404),如上述示例性XML源文件所定义的那样。序列图400经由箭头405示出动作者A对动作者B说“Hello”。序列图400经由箭头406和407示出动作者B对动作者A说“Hellothere”以及对动作者C说“Hi”。最后,序列图400经由箭头408和409示出动作者C对动作者A和B说“G’day”。
应该从上述示例中使用的示例性会话中意识到,任何应用(例如通信协议等)的流程都可被描述在XML源文件中,该XML源文件被序列图生成器102用于生成表示这种应用的流程的序列图。
转到图5,其中示出了根据一个实施例的序列图生成器的操作流程图。在操作块501中,源解析器301接收以非专属语言(例如XML)写成的文本源文件101,并且定义应用(例如两个或更多个动作者之间的会话、通信协议等)的流程。在操作块502中,源解析器301基于文本源文件101构建数据模型302,用于文本源文件101所定义的流程的图示。在操作块503中,图解析器303基于数据模型302生成相应的绘图命令。在操作块504中,响应于接收到绘图命令,呈现引擎203呈现表示文本源文件101所定义的流程的序列图103。
如上所述,在某些实施例中,XML被用在源文件中,用来描述应用的序列(或“流程”)。一个实施例中使用的示例性XML元素在下文中进一步描述。
如上所述,根据一个实施例,在XML中,序列是用SequenceDefinition元素来定义的。构成一个实施例中的序列描述的各种XML元素在以下表1中提供。
  元素   在其容器中出现的数目   描述
  SequenceDefinition   1或更多   事务定义集合的最外层元素。
  GroupDefinitions   0或更多   组记录集合的容器。
 Group   0或更多   定义唯一组标识符和该组的属性集合。
 ActorRoleMap   0或更多   ActorRole记录集合的容器。
 ActorRole   0或更多   定义单个实体ID与角色名称之间的映射,并且任选地将Actor与Group相关联。
 MessageSequence   0或更多   事务记录集合(Heading、Link和Message)的容器。
 Heading   0或更多   定义将覆盖在图上的题目。
 Link   0或更多   定义两个消息事务之间的将覆盖在图上的链接注释。如果未提供from属性,则链接将来自前一个Message元素定义的事务。如果未提供to属性,则链接将去到后一个Message元素定义的事务。
 Message   0或更多   定义两个实体之间的事务,由这些实体之间的水平箭头表示。
                             表1
应该注意,为了支持连续/单次XML解析器,GroupDefinitions元素应该出现在ActorRoleMap之前,并且ActorRoleMap元素应该在任何Heading、Link或Message元素之前。ActorRole元素在ActorRoleMap内的顺序定义图中Actor从左到右的顺序。
Heading、Link和Message元素都可出现零次或更多次,并且可以是任何顺序。它们的顺序定义了沿图中的垂直时间轴从上到下的布置。
根据一个实施例的SequenceDefinition元素属性定义在以下表2中提供。
  属性名称  强制(M)或任选(O)   格式   描述
  Version  M   n.n   XML结构的这个实例的版本(最新版本为1.0)
 Title   O  文本   如果存在的话,则定义将会写在生成的图的顶部的标题
 Titlecolor   O  #hhhhhh   用于标题文本颜色的RGB颜色定义(默认=#000000=黑)
titlebackground   O  #hhhhhh   用于标题块背景颜色的RGB颜色定义(默认=#d9d9d9=灰85)
 Titleborder   O  #hhhhhh   用于标题块边界颜色的RGB颜色定义(默认=与titlebackground相同)
 Linkcolor   O  #hhhhhh   用于链接线和文本的颜色的RGB颜色定义(默认=#ff0000=红)
                     表2
根据一个实施例的ActorRole元素属性定义在以下表3中提供。
  属性名称  强制(M)或任选(O)   格式   描述
  Id  M   文本   动作者的简要且唯一的标识符(例如T1、T2、D1等)
  Name  O   文本   动作者的描述其角色的实例特定的名称(例如UNI-N)
  Group  O   文本   由GroupDefinitions元素中的条目之一定义的组ID
                      表3
根据一个实施例的Group元素属性定义在以下表4中提供。
  属性名称  强制(M)或任选(O)   格式  描述
  Name  M   文本  动作者的唯一名称(例如TestPort或Dut)
  Titlecolor   O  #hhhhhh   用于作为该组成员的动作者的动作者称谓的颜色的RGB颜色定义(默认=#000000=黑)
  Linecolor   O  #hhhhhh   用于作为该组成员的动作者发起的事务的颜色的RGB颜色定义(默认=#000000=黑)
  messagecolor   O  #hhhhhh   用于从作为该组成员的动作者发起的事务上的事务标注的颜色的RGB颜色定义(默认#000000黑)
                        表4
根据一个实施例的Actor元素属性定义在以下表5中提供。
  属性名称  强制(M)或任选(O)   格式   描述
  Name  M   文本   动作者的唯一名称(例如T1、T2、D1等)。此名称将作为图中的动作者列的标题出现(参见Group titlecolor属性)
  Role  O   #hhhhhh   用于作为该组成员的动作者的动作者称谓的颜色的RGB颜色定义(默认=#000000=黑)
  Group  O   #hhhhhh   用于作为该组成员的动作者发起的事务的颜色的RGB颜色定义(默认=#000000=黑)
                       表5
根据一个实施例的Heading元素属性定义在以下表6中提供。
  属性名称  强制(M)或任选(O)   格式   描述
  Text  M   文本   对以下消息交换的目的的简短描述(例如“连接建立”)
                          表6
根据一个实施例的Message元素字段定义在以下表7中提供。
 属性名称  强制(M)或任选(O)   格式   描述
 From  M   文本   必须是有效的Actor id值(例如T1)
 To  M   文本   必须是有效的Actor id值(例如D1)
 MsgTransaction  MO属性名称   文本文本强制(M)或   简要消息/事务类型标注(例如“PATH(Create)”或“ACC”)。通过在文本中包含字符“~”,可在图中的文本中插入断行。例如“PATH~(Create)”将被绘制成:“PATH”在一行上,而“(Create)”在下一行上在其下左对齐控制分配给消息的事务ID。通常ID是从自动递增的计数器分配的,对于第一个事务,计数器从1开始。没有事务ID的消息不能是Link的源或目的地。必须是以下之一:auto、none、<value>(默认:auto)auto:自动分配事务IDnone:不将此消息视为事务<value>:使用指定值作为事务ID(必须在图的所有消息上都是唯一的)格式
  Decoration   O   文本  指定将被绘制在与此消息相关联的箭头中点上的装饰。通常不绘制装饰。必须是以下之一:ban、cross、none(默认:none)ban:在箭头上绘制“带对角斜线的圆圈”cross:在箭头上绘制“X”none:没有装饰
                          表7
根据一个实施例的Link元素字段定义在以下表8中提供。
  属性名称  强制(M)或任选(O)   格式   描述
  From  M   文本   必须是事务号码。即作为源的Message元素的索引。对于发现的第一个Message元素,索引从1开始,并且对于每个后续的Message元素,索引递增1。
  To  M   文本   必须是事务号码(见from)
  Msg  M   文本   用于标注链接的简要文本(例如“500ms”)。通过在文本中包含字符“~”,可在图中的文本中插入断行(例如“50~ms”)
                        表8
考虑到上述情况,本发明的实施例使得能够从简单的文本描述,自动生成高质量序列图。这种序列图自动生成解决了格式不统一、标准化布局、易于维护以及处理任意大的数据集合或在数据变化时迅速重新生成图的能力等问题,这些在手动创建/维护序列图时都是成问题的。
如上所述,提供了支持以非专属语言(例如XML)写成的文本描述的实施例。过去,非专属语言被定义来描述消息交换(例如,EventStudio, http://www.eventhelix.com/EventStudio/)。本发明的一个实施例使得能够使用XML这种非专属语言来表达对于图生成引擎的输入数据。许多免费商业工具普遍可用于书写和编辑XML文本。XML的语法和结构是广为人知的并且是易于学习的。使用XML这种标准的且受到良好支持的语言,使得终端用户能够更快更容易地实现其目标,而无需学习新的或专属的语言。以上提供了用于指定序列事务的XML格式的示例性定义。从而可以开发明确地定义事务文件语法的XML方案。当然,本发明的范围不限于这里所描述的特定语法,而是任何可开发的适当语法都可根据这里所描述的概念而被利用。
本发明的某些实施例还使得能够交互式地编辑消息定义数据。即,提供了图形用户界面(GUI),其允许用户编辑屏幕上的输入数据(源文件101),然后按照需要重新生成序列图,以查看对输入数据做出的改变的结果。这是通过将源文件全文加载到中间变量中来实现的。此变量的内容被显示在GUI中作为可编辑文本。每当用户请求重新生成图时,此变量的内容就被馈送到源解析器中,就好像它是来自源文件本身一样。这通过提供关于生成的图看起来会是什么样子的立即反馈,加速了有效输入数据的开发。
另外,本发明的某些实施例提供了用于静态图生成的命令行引擎。即,提供了命令行引擎,其允许图被自动生成并被保存到文件和/或被显示。这允许了图生成过程被集成到终端用户的发布自动化过程中。在这种实施例的一个示例中,命令行引擎接收定义要处理的输入文件(“源文件”)列表的命令行参数集合、所需的图文件格式以及生成的文件(即生成的序列图)将写入的目的地目录,作为输入。以下是根据一个实施例的这种命令行的示例:
generatediagrams-srcdir“c:/My xml”-filepattern*.xml-imageformatjpg-outdir“c:/My Pictures”
在此示例中,在目录“c:/My xml”中找到的所有匹配模式“.xml”的文件都被图生成器处理,一次处理一个。对于每个输入文件,生成器在目录“c:/My Pictures”中创建JPEG格式的输出文件。这种实施例允许了自动生成数十、数百甚至数千序列图,而不需要每次生成都要用户交互。命令行引擎还可用于按照需要生成图。其中这一点有意义的一个实施例是测试管理器应用,在这种应用中每个测试案例将具有唯一的描述,包括序列定义。为了避免随每个测试案例而将在线帮助中的图的内容保持最新的维护成本,测试管理器应用可经由命令行引擎,在用户打开任何给定测试案例的帮助页面时,按照需要为该具体测试案例生成图。
本发明的某些实施例还提供了用于动态图生成的运行时引擎。这允许了提供这样一种运行时引擎的能力:这种运行时引擎可被集成到GUI应用中,并且可按照需要从被封装应用动态提供的数据生成图。此方法的一个示例是根据协议分析器捕捉的分组序列,自动生成序列图。在这种应用中,源文件是捕捉到的数据分组。此应用中的源解析器的实现从每个捕捉到的分组中提取信息,以便构建内部数据模型,然后可根据该内部数据模型生成示出分组流程的图。在这种应用中,可在每个分组被捕捉时即时生成图,或者在协议分析器应用的用户为目前在捕捉缓冲器中的分组集合请求图时,按照需要生成图。
在某些实施例中,序列图生成器可以实现为整个文档生成工具的一部分。从而,序列图自动生成可被集成到更广泛的文档自动过程中,动态地生成与从共同或不同源取得的封装文本集成并被组合成最终的集成文档中的图。
此方法的一个示例是从以XML写成的原始说明书自动生成以HTML写成的说明书文档。XML可包含完整的说明书细节,其中包括说明书文本和(一个或多个)序列图定义。
此方法的优点是说明书的内容可被捕捉,并被维护在单个源文件中,而包括序列图在内的印刷质量输出可被自动生成。可完全独立于存储在原始XML源文件中的内容而更改生成的输出的外观。
该过程可扩展到提供一个接着一个的多个输入说明书的批处理。例如,说明书组可在单个目录中一起成组,或者分散在共同根目录的多个目录中。在此情况下,文档生成器可被设计为在目录间重复,搜索正确格式的输入文件,并依次处理每一个输入文件。可通过以下方式来识别输入文件:通过定义的文件命名协定、通过位于预定目录或子目录中、或者通过检查其内容以查找对预期的XML格式的匹配。
转到图6,其中示出了示例性系统600,其中文档生成器601和序列图生成器102A被实现为分离的组件,它们可并行使用,以从源文件101A生成整个文档(既有文本又有序列图),在此情形下源文件101A是XML源文件。在此情形下,主文档生成应用601的源解析器301A解析输入源文件101A,以构建其内部数据模型302A。例如,数据模型302A标识源文件101A中的元素,例如源文件101A中描述的文本元素和序列图元素。对于源解析器301A所识别的序列图元素,源解析器301A可在数据模型302A中例如包含诸如以下信息:指示源文件101A的相应部分描述了序列图元素的标识符、源文件名称和/或用于生成的序列图(由图生成器102A以下述方式生成)的输出文件名。源解析器301A构建的内部数据模型302A维持了源文件101A中描述的各种元素(例如文本元素和序列图元素)的关系和层次结构。从而,可生成所得到的输出文档605,以保持各种文本和序列图元素在源文件101A中出现的相对顺序。
根据数据模型302A,文档生成器601生成输出文档605的各种部分,在此示例中是HTML的。更具体而言,文档解析器602使用数据模型302A中的信息来识别将被写入到HTML输出文档605的源文件101A的文本部分,以及识别序列图元素。源文件101A中的序列图定义的每个实例变成生成的HTML文档605中对外部图像文件103A的引用604(例如<imgsrc=”xxx”>标签)。
输入源文件101A还被馈送到图生成应用102A中,该图生成应用102A以上述方式为源文件101A中的每个序列图定义生成输出图文件103A。在此示例中,一旦文档解析器602遇到源文件101A的内部数据模型302A中标识的序列图元素,这种文档解析器602就调用图生成器102A,并且使这种图生成器生成相应的序列图。从而,序列图生成器102A以上述方式(例如利用图3的序列图生成器102)访问源文件101A,识别其中定义的相应的序列图元素,并且基于源文件的描述生成适当的序列图103A。即,源解析器301按照以上结合图3所描述的方式,解析XML源文件101A,并且用与这种源文件101A中描述的识别的(一个或多个)序列图相对应的信息,填充内部数据模型302。图解析器303解析内部数据模型302,并且生成绘图命令到呈现引擎203,以按上述方式生成序列图文件103A
从而,在此示例性实施例中,(文档生成器601的)源解析器301A读取源文本101A,检查语法,并构建内部数据模型302A,该内部数据模型302A表示了从源101A读取的将作为文本内容包含在要生成的文档605中的所有信息,而(序列图生成器102A的)源解析器301读取源文本101A,检查语法,并构建内部数据模型302,该内部数据模型302表示了源101A中描述的所有序列图。数据模型302和302A保持了源101A中表达的层次结构和关系(例如,文本内容和序列图的层次结构和关系)。文档生成器601的文档解析器602处理模型数据302A,以识别文档605中要生成的部分,并提取每个部分的内容。然后文档解析器602生成输出格式化命令序列到HTML生成器603。HTML生成器603将格式化命令变换为格式良好的HTML,并将其写到输出文件605。
从而,文档生成器601使用源文件101A来创建输出文件605的文本,并且创建对于源文件101A中标识的序列图的引用(例如超链接)604,图生成器102A创建源文件101A中标识的序列图103A。因此,在某些实施例中,引用604可以是文档605内的到相应的序列图的超链接,以使得用户可点击超链接来访问相应的序列图103A。在其他实施例中,序列图103A可被显示在605内相应的引用604处。
转到图7,其中示出了示例性系统700,其中序列图生成器被集成在文档生成器应用601A内。在此情形下,图生成器的特征被与文档生成器601A集成。输入源文件101A被源解析器301A解析一次,文档解析器602和图解析器303A共享共同的内部数据模型302A。从而,在此示例中,源解析器301A解析源文件101A中包含的文本内容信息和序列图信息,同时保持这种源文件101A的关系和层次结构。对于在输入源文件101A中找到的每个序列图定义,文档解析器602调用图解析器303A
从某种意义上来说,图7的这种文档生成器配置是较简单的方案,因为它使得两个分离的应用之间不需要传输信息来为每个生成的序列图识别输入文件和所需的输出文件名和位置。所有这些信息现在都包含在一个应用中。
在一个实施例中,序列图生成器和文档生成器是存储到计算机可读介质上并可由诸如个人计算机(PC)这样的基于处理器的设备所执行的软件代码。但是,应该理解上述序列图生成器和文档生成器的元素可实现为软件、硬件和/或其组合。
虽然已详细描述了本发明及其优点,但是应该理解,在不脱离所附权利要求书所限定的本发明的精神和范围的情况下,可对其进行各种变化、替换和更改。此外,本申请的范围不是限于说明书中描述的过程、机器、制造、物质构成、装置、方法和步骤的特定实施例。正如本领域的普通技术人员易从本发明的公开中意识到的,根据本发明,可利用现存的或以后将开发的与这里所描述的相应实施例执行基本相同的功能或实现基本相同的结果的过程、机器、制造、物质构成、装置、方法或步骤。因此,所附权利要求书是将这种过程、机器、制造、物质构成、装置、方法或步骤包括在其范围内。

Claims (31)

1.一种系统,包括:
以非专属语言写成的文本源文件,其中所述文本源文件描述应用的流程;以及
通用序列图生成器,所述通用序列图生成器可操作以接收所述源文件作为输入,并且生成表示所述源文件所描述的所述流程的序列图。
2.如权利要求1所述的系统,其中,所述非专属语言包括标记语言。
3.如权利要求1所述的系统,其中,所述非专属语言包括可扩展标记语言。
4.如权利要求1所述的系统,其中,所述序列图生成器的通用在于所述序列图生成器可操作以为所述文本源文件所描述的任何应用的流程生成所述序列图。
5.如权利要求1所述的系统,其中,被所述文本源文件描述了所述流程的所述应用包括从以下组中选择的一个:
计算机可执行软件应用程序、通信协议以及动作者之间的消息交换。
6.如权利要求1所述的系统,其中,被所述文本源文件描述了所述流程的所述应用不是所述文本源文件。
7.如权利要求1所述的系统,其中,所述通用序列图生成器包括:
源解析器,所述源解析器可操作以读取输入源文件,并且构建表示图元数据的内部数据模型。
8.如权利要求7所述的系统,其中,所述源解析器可操作以在所述输入源文件中识别所描述的动作者和动作者之间传递的消息序列。
9.如权利要求8所述的系统,其中,所述内部数据模型包括与识别出的动作者和消息序列相对应的所述图元数据。
10.如权利要求7所述的系统,其中,所述通用序列图生成器还包括:
图解析器,所述图解析器可操作以处理所述内部数据模型并生成相应的绘图命令。
11.如权利要求10所述的系统,其中,所述通用序列图生成器还包括:
呈现引擎,所述呈现引擎可操作以接收所述绘图命令,并生成表示所述源文件所描述的所述流程的所述序列图。
12.如权利要求1所述的系统,其中,所述通用序列图生成器包括命令行工具,所述命令行工具可操作以响应于接收到的命令行命令,从至少一个源文件生成至少一个序列图。
13.一种方法,包括:
将文本源文件接收到源解析器中,所述文本源文件是用非专属语言写成的并且描述应用的流程;
通过所述源解析器并基于所述文本源文件,为所述文本源文件所描述的所述流程的图构建数据模型;
通过图解析器并基于所述数据模型,生成相应的绘图命令;以及
响应于所述绘图命令,通过呈现引擎呈现表示所述文本源文件所描述的所述流程的序列图。
14.如权利要求13所述的方法,其中,所述非专属语言包括标记语言。
15.如权利要求13所述的方法,其中,所述非专属语言包括可扩展标记语言。
16.如权利要求13所述的方法,其中,所述文本源文件独立于被所述文本源文件描述了所述流程的所述应用。
17.如权利要求13所述的方法,其中,所述的通过所述源解析器构建所述数据模型包括:
在所述文本源文件中识别所描述的动作者和动作者之间传递的消息序列。
18.如权利要求17所述的方法,其中,所述的通过所述源解析器构建所述数据模型还包括:
在所述数据模型中包括与识别出的动作者和消息序列相对应的信息。
19.如权利要求13所述的方法,其中,所述源解析器、图解析器和呈现引擎可操作以生成表示在所述文本源文件中所描述的任何应用的流程的所述序列图。
20.如权利要求13所述的方法,其中,被所述文本源文件描述了所述流程的所述应用包括从以下组中选择的任何一个:
计算机可执行软件应用程序、通信协议和动作者之间的消息交换。
21.如权利要求13所述的方法,其中,所述的将所述文本源文件接收到所述源解析器中包括:
响应于命令行命令,将至少一个文本源文件接收到所述源解析器中。
22.一种被存储到计算机可读介质的计算机可读代码,所述计算机可读代码包括:
用于接收描述应用的流程的文本源文件的代码,其中所述文本源文件是用非专属语言写成的并且是独立于所述应用的;以及
用于生成绘图命令的代码,所述绘图命令用于呈现表示所述文本源文件所描述的所述流程的序列图。
23.如权利要求22所述的计算机可执行代码,其中,所述用于生成绘图命令的代码包括:
用于在所述文本源文件中识别所描述的动作者和动作者之间传递的消息序列的代码。
24.如权利要求23所述的计算机可执行代码,还包括:
用于构建数据模型的代码,所述数据模型包括与识别出的动作者和消息序列相对应的信息。
25.如权利要求23所述的计算机可执行代码,其中,所述用于生成绘图命令的代码还包括:
用于基于识别出的动作者和消息序列生成所述绘图命令的代码。
26.如权利要求22所述的计算机可执行代码,还包括:
用于响应于生成的绘图命令,呈现表示所述文本源文件所描述的所述流程的所述序列图的代码。
27.如权利要求22所述的计算机可执行代码,其中,所述非专属语言包括标记语言。
28.如权利要求22所述的计算机可执行代码,其中,所述非专属语言包括可扩展标记语言。
29.如权利要求22所述的计算机可执行代码,其中,被所述文本源文件描述了所述流程的所述应用包括从以下组中选择的任何一个:
计算机可执行软件应用程序、通信协议和动作者之间的消息交换。
30.一种通用序列图生成器,所述通用序列图生成器可操作以生成表示在文本源文件中所描述的任何应用的流程的序列图,所述通用序列图生成器包括:
用于接收所述文本源文件的装置,其中所述文本源文件是用非专属语言写成的并且描述应用的流程;以及
用于生成表示所述源文本所描述的所述流程的序列图的装置。
31.如权利要求30所述的通用序列图生成器,其中,所述非专属语言包括可扩展标记语言。
CNA2006100015360A 2005-01-19 2006-01-18 由非专属语言驱动的通用序列图生成器 Pending CN1808377A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/038,597 US7849439B2 (en) 2005-01-19 2005-01-19 Application-generic sequence diagram generator driven by a non-proprietary language
US11/038,597 2005-01-19

Publications (1)

Publication Number Publication Date
CN1808377A true CN1808377A (zh) 2006-07-26

Family

ID=36010535

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100015360A Pending CN1808377A (zh) 2005-01-19 2006-01-18 由非专属语言驱动的通用序列图生成器

Country Status (5)

Country Link
US (1) US7849439B2 (zh)
JP (1) JP2006202277A (zh)
CN (1) CN1808377A (zh)
DE (1) DE102005046996A1 (zh)
GB (1) GB2423387A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857654A (zh) * 2019-01-17 2019-06-07 珠海金山网络游戏科技有限公司 一种自动生成测试用例的时序流程图的方法、装置及系统
CN112835864A (zh) * 2021-02-03 2021-05-25 北京联创信安科技股份有限公司 一种文件存储方法、装置、设备及存储介质
WO2023082654A1 (zh) * 2021-11-11 2023-05-19 深圳前海微众银行股份有限公司 一种业务交互图生成方法、装置、设备及存储介质
CN116974626A (zh) * 2023-09-22 2023-10-31 腾讯科技(深圳)有限公司 分析序列图生成方法、装置、设备和计算机可读存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059276A (ja) * 2006-08-31 2008-03-13 Nippon Telegr & Teleph Corp <Ntt> シーケンス図のオントロジー生成装置、そのプログラム及び方法
US20090063998A1 (en) * 2007-09-05 2009-03-05 Jinchao Huang Method, system, and program product for collaborative diagram editing
US8079018B2 (en) * 2007-11-22 2011-12-13 Microsoft Corporation Test impact feedback system for software developers
WO2009108328A1 (en) * 2008-02-25 2009-09-03 Invensys Systems, Inc. System and method for generating control system database and graphics from schema-based intermediate descriptions
US8291331B2 (en) * 2008-06-27 2012-10-16 Microsoft Corporation Partial updating of diagram display
US8453107B2 (en) 2008-11-14 2013-05-28 Microsoft Corporation Diagram layout patterns
US8707250B2 (en) * 2009-12-22 2014-04-22 Board Of Regents, The University Of Texas System Automation support for domain modeling
WO2014102935A1 (ja) 2012-12-26 2014-07-03 三菱電機株式会社 電子マニュアル閲覧装置およびシステム
CN104268710B (zh) * 2014-10-10 2017-10-31 北京交通大学 轨道交通路网动态应急处置方案生成方法
US10042528B2 (en) * 2015-08-31 2018-08-07 Getgo, Inc. Systems and methods of dynamically rendering a set of diagram views based on a diagram model stored in memory
US10592212B2 (en) * 2016-10-21 2020-03-17 Samsung Electronics Co., Ltd. System and method for software development based on procedures
US11645314B2 (en) * 2017-08-17 2023-05-09 International Business Machines Corporation Interactive information retrieval using knowledge graphs
US10331426B1 (en) 2018-07-19 2019-06-25 Capital One Services, Llc Systems and methods of diagram transformation
US10901698B2 (en) * 2018-11-30 2021-01-26 International Business Machines Corporation Command tool development using a description file
WO2020174578A1 (ja) * 2019-02-26 2020-09-03 三菱電機株式会社 シーケンス図生成装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212061A (ja) 1995-02-01 1996-08-20 Toshiba Corp シナリオ表示装置、シナリオ表示方法及びシナリオのクラス編集装置
US20020007483A1 (en) 1997-01-29 2002-01-17 Lopez Luis R. Interactive flow visualization, graphical editing and analysis of textual languages
US6170081B1 (en) * 1998-09-17 2001-01-02 Unisys Coporation Method and system for interfacing to a variety of software development tools
AU2001294555A1 (en) * 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
DE60226957D1 (de) * 2001-03-19 2008-07-17 Empirix Inc Verfahren zum Verfolgen und Analysieren einer Mehrprotokollkommunikation
JP3686619B2 (ja) 2002-03-15 2005-08-24 上田日本無線株式会社 通信シーケンス図作成装置および通信プロトコルアナライザ
JP2003296146A (ja) 2002-03-29 2003-10-17 Toshiba Corp メッセージ依存関係表示装置、メッセージ依存関係表示方法、プログラム及び記録媒体
JP2004062840A (ja) 2002-07-29 2004-02-26 System Hearts:Kk プログラマブルコントローラにおけるラダー言語創生ソフトウエア
JP2004094496A (ja) 2002-08-30 2004-03-25 Ntt Comware Corp シーケンス図作成装置、およびその方法、シーケンス図作成プログラム、その記録媒体
TWI262383B (en) * 2003-01-10 2006-09-21 Univ Nat Cheng Kung A generic software testing system and method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857654A (zh) * 2019-01-17 2019-06-07 珠海金山网络游戏科技有限公司 一种自动生成测试用例的时序流程图的方法、装置及系统
CN112835864A (zh) * 2021-02-03 2021-05-25 北京联创信安科技股份有限公司 一种文件存储方法、装置、设备及存储介质
CN112835864B (zh) * 2021-02-03 2024-02-20 北京联创信安科技股份有限公司 一种文件存储方法、装置、设备及存储介质
WO2023082654A1 (zh) * 2021-11-11 2023-05-19 深圳前海微众银行股份有限公司 一种业务交互图生成方法、装置、设备及存储介质
CN116974626A (zh) * 2023-09-22 2023-10-31 腾讯科技(深圳)有限公司 分析序列图生成方法、装置、设备和计算机可读存储介质
CN116974626B (zh) * 2023-09-22 2024-01-05 腾讯科技(深圳)有限公司 分析序列图生成方法、装置、设备和计算机可读存储介质

Also Published As

Publication number Publication date
US20060161890A1 (en) 2006-07-20
GB0601020D0 (en) 2006-03-01
JP2006202277A (ja) 2006-08-03
GB2423387A (en) 2006-08-23
DE102005046996A1 (de) 2006-07-27
US7849439B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
CN1808377A (zh) 由非专属语言驱动的通用序列图生成器
US20190220490A1 (en) Combining website characteristics in an automatically generated website
US8788935B1 (en) Systems and methods for creating or updating an application using website content
AU2009238294B2 (en) Data transformation based on a technical design document
US11792257B2 (en) Form engine
US9514115B2 (en) Method for creating form validation program and corresponding form interface according to result set metadata
US20190205363A1 (en) Method for creating html layouts based on visual input
US10437914B2 (en) Creating HTML layouts based on client input and processing
CN101038550A (zh) 信息处理装置和方法
US11061651B2 (en) Systems and methods for organizing, classifying, and discovering automatically generated computer software
US10839146B2 (en) Information processing system, information processing apparatus, control method, and storage medium
CN1763748A (zh) 电子归档系统和电子归档方法
US20170109442A1 (en) Customizing a website string content specific to an industry
JP2973913B2 (ja) 入力シートシステム
CN112215923A (zh) 一种图片生成方法、装置、电子设备及存储介质
CN113918144A (zh) 基于图像生成可复用页面的方法及系统
CN1542699A (zh) 图形用户界面生成方法及系统
TWI629602B (zh) 互動式網頁程式自動產生方法
JP2013003715A (ja) トレース情報管理装置、管理方法およびプログラム
US10896161B2 (en) Integrated computing environment for managing and presenting design iterations
JP2009093389A (ja) 情報処理装置、情報処理方法、およびプログラム
US9946698B2 (en) Inserting text and graphics using hand markup
CN1589432A (zh) 增强资源适配器
JP4717592B2 (ja) 文書管理システム、その文書管理クライアントの制御方法及びプログラム
US10425543B2 (en) Information processing device, information processing method, and computer-readable medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication