CN104272294A - 系统架构生成 - Google Patents
系统架构生成 Download PDFInfo
- Publication number
- CN104272294A CN104272294A CN201280072876.6A CN201280072876A CN104272294A CN 104272294 A CN104272294 A CN 104272294A CN 201280072876 A CN201280072876 A CN 201280072876A CN 104272294 A CN104272294 A CN 104272294A
- Authority
- CN
- China
- Prior art keywords
- system framework
- particular system
- hardware
- software
- template
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q10/0875—Itemisation or classification of parts, supplies or services, e.g. bill of materials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Architecture (AREA)
- Software Systems (AREA)
Abstract
模板对应于用于提供期望功能的一般系统架构。根据模板和特定系统架构的需求规范生成用于提供该期望功能的特定系统架构。该特定系统架构利用指定的且可用于实现该一般系统架构的硬件和软件实现。提供该特定系统架构的逻辑图、该特定系统架构的物理图和被选择来实现该特定系统架构的所述硬件和软件的材料清单中的一个或多个。
Description
背景技术
为许多不同的期望功能开发了许多类型的复杂的计算系统。制造、传媒、零售和政府部门使用这种计算系统来满足他们的需求,以更好地满足它们客户的需求并提高效率,并且对于与商业有关的实体来说提高效益。这种计算系统的示例包括数字媒体管理系统、制造系统和销售系统的业务分析等等。复杂的计算系统通常不是随意构建的,而是通过为计算系统开发特定架构从零开始设计的,该计算系统随后利用来自单一供应商或多种不同供应商的硬件和软件实现。
附图说明
图1是示意性地描述如何能够生成特定系统架构的示例的图。
图2是用于生成特定系统架构的示例计算系统的图。
图3A和3B是用于生成特定系统架构的示例方法的流程图。
具体实施方式
如在背景技术部分中提到的,复杂计算系统可以利用来自多种不同供应商的硬件和软件来实现,并且被构建为通常是从零开始开发的特定系统架构。这种系统架构通常由系统架构师以预定的或定制的方式开发。系统架构师是具有为特定的期望功能或者为一个或多个这种期望功能开发系统架构的经验的用户,特定的期望功能可以被通俗地称为解决方案。该用户接收顾客或客户对系统的需求,然后着手确定系统的架构以及应该选择来自哪些供应商的哪些硬件和哪些软件来实现架构。然而,这一进程是劳动密集的,并且根据系统架构师他或她自己以及他或她的技能水平等而变化。
本文所公开的技术通过提供一种能够通过其开发用于提供期望功能的特定系统架构的模板化方式,来减轻甚至避免与这种特定系统架构开发有关的这些问题以及其它问题。接收与用于提供这一期望功能的一般系统架构相对应的模板,这是实现一般系统架构以实现所涉特定系统架构的硬件和软件的规范。进一步诸如从为之开发特定系统架构的客户或顾客接收的特定系统架构的需求的规范。
根据这些输入,生成用于提供期望功能的特定系统架构。这种生成具体地基于对应于一般系统架构和特定系统架构的需求的模板,特定系统架构可以利用从已经为其接收到规范的可用硬件和软件中选择的硬件和软件来实现。能够输出特定系统架构的逻辑图和物理图;前者提供特定系统架构的功能视图,而后者则提供所选的硬件和软件如何被互相连接以实现此功能视图的视图。还可输出被选择来实现特定系统架构的硬件和软件的材料清单。这种输出有助于订购和获取用于构造特定系统的组件和其他材料,并且还有助于执行成本计算工作,以预测这种组件和其他材料的潜在成本将会是多少。
图1示意性地描述关于如何能够生成用于提供期望功能的特定系统架构的示例操作100。有到工具106的输入102和输出104,后者稍后在详细的说明中更详细地描述。如迭代108所指示,工具106可以是迭代的。如稍后在详细的说明中更详细地描述,此迭代108允许在“如果…将会怎样”(what if)分析期间,和/或针对确认满足客户或用户需求的特定系统的大小的销售周期,开发不同尺寸的特定系统。一般而言,工具106是在一个或多个计算设备上执行的一个或多个计算机程序,并且因此可以被认为是一个用于实现本文所述的功能的软件包,和/或被认为是运行这种软件的计算机或其它计算设备。
输入102包括一个或多个一般系统架构模板110、可用硬件和软件规范112和特定系统架构需求规范114。一般系统架构模板110各自针对一般系统架构的不同解决方案。也就是说,每个模板110针对不同的一般系统架构提供不同功能。如上面提到的,这种解决方案的示例包括,因而这种不同功能的示例也包括数字媒体管理系统、制造系统和销售系统的业务分析等等。
一般系统架构模板110不定义用于提供对应功能的特定系统架构,而是以更一般的术语来描述和定义提供这一功能的样本系统架构,其随后可适当修改和填充以生成特定系统架构功能。因此,一般系统架构模板110可以被认为是用于提供所讨论的功能的参考系统架构。一般系统架构模板110可以捕捉一个或多个专家系统架构师用户的智能,包括最佳实践的类型、参数、因素、考虑,以及当这种用户开发用于提供功能的特定系统架构时,所作出的设计选择。这如何能够利用一般系统架构模板110来执行稍后在整个剩余的详细说明中进行描述。
可用硬件和软件规范112是可用于实现用于生成特定系统架构的一般系统架构的硬件和软件的规范。一般而言,规范112中描绘的硬件和软件由工具106选择来生成特定系统架构。如稍后在整个剩余的详细说明中所述,不是所有在可用硬件和软件规范112中列出的硬件和软件都可能被使用,而是最合适用于生成所涉特定系统架构的硬件和软件被选中了。
对于每一件或每一项硬件和软件来说,规范112包括像产品的供应商、特征以及诸如型号或部件号和/或版本号的识别信息的特定信息。例如,特征的例子可以包括性能指标。还可以提供最新的成本信息。在至少一些实施方式中,硬件和软件不是来自相同的供应商。这为所公开的技术提供了进行“混合和匹配”来自不同供应商的产品以开发最佳特定系统架构的能力,并且与通常集中在一个供应商的产品上的现有解决方案形成对照。也就是说,可以由多个供应商提供硬件和软件,使得在没有排他地偏好任何特定供应商的情况下,以供应商中立的方式生成特定系统架构。
特定系统架构需求规范114描绘对要生成的特定系统架构的需求。可以通过与客户或顾客面谈关于他或者她的实体对所涉特定系统的需要,包括系统的期望功能,来获得规范114,然后适当地由系统架构师用户输入到工具106中。作为一个示例,工具106可以就特定系统结构的需求询问系统架构师用户,对这些问题的回答构成规范114。
这种询问可以根据针对期望功能或指定解决方案的类型的一般系统架构模板110来实现或由针对期望功能或指定解决方案的类型的一般系统架构模板110指导。作为一个示例,系统架构师用户可以首先被要求在与可用的一般系统架构模板110的功能相对应的若干不同功能中进行选择。基于此初始选择,可以参照所涉一般系统架构模板110来确定要询问系统架构师用户哪些其它问题。对至少某些问题中的每个问题的回答可以进一步控制询问(或不询问)什么样的其它问题。
在这方面,提供答案的系统架构师用户可以至少对系统架构设计和开发有一些了解,但很可能不是一个专家系统架构师用户。因此,可以通过使用本发明公开的技术节约成本,因为通过使用工具106,具有较少专门知识的系统架构师用户仍然能够开发类似于那些由专家系统架构师用户开发的特定系统结构。就有关所涉特定系统架构的设计和开发要提供什么信息(即,规范114),指导系统架构师用户。
特定系统架构需求规范114可以包括诸如所预期的特定系统架构的各种特性的信息。例如,预期的可以同时使用特定系统的用户的数量、系统的预期吞吐量等,可以取决于被视为特定系统架构的需求的所涉期望功能。带宽和其它类型的参数和特性也可以是规范114的一部分。
工具106生成期望功能的特定系统架构,此架构可被视为根据提供的输入102由输出104定义或被定义为输出104。稍后在详细描述中详细地说明工具106的示例实施方式。然而,通常工具106可被视为根据特定系统架构需求规范114针对所选的功能处理一般系统架构模板110,以在由规范112指示为可用的硬件和软件中作出选择。
如稍后在详细描述中更详细地说明,在这方面,一般系统架构模板110可以提供工具106如需求规范114控制而修改、调整和/或以可用硬件和软件填充的示例逻辑和/或物理架构。逻辑架构定义各种逻辑处理块执行的功能性,以及这种块被如何彼此连接,以提供所涉一般模板110所对应的期望功能。相比之下,物理架构指定了物理硬件和软件,以及它们是如何相互连接的,以实现或完成逻辑架构。因此,一般系统架构模板可以被视为“空的”,意味着它事实上是参考性的,不被投入实际使用。例如,一般系统架构模板110可以包括通过根据需求规范114的处理修改一般系统架构模板110的空或参考性性质的规则。一旦这样处理,特定架构就生成了。与一般架构的“空”性质相比,特定架构是一般系统架构的已被“填充”并被打算付诸实际使用以满足需求规范114的版本。如此,一般系统架构模板110作为一个整体的通常的处理逻辑可以被内置到工具106本身中,并且给定系统架构的特定处理逻辑可以由一般模板110提供给此架构。
如上所述,工具106生成的期望功能的特定系统架构由输出104定义。输出104可以包括特定系统架构的逻辑图116、所选硬件和软件的材料清单118和特定系统架构的物理图120。现在,更详细地描述这些不同输出104中的每一个。
特定系统架构的逻辑图116功能地描述特定系统架构如何实现。如此,被选择来实现特定系统架构的硬件和软件并没有在逻辑图116中指定,也没有指定这种所选的硬件和软件是如何彼此连接并相关的。相反,逻辑图116为系统架构师用户,以及客户或顾客,在不以被用来实现功能的硬件和软件的具体细节使得视图复杂化的情况下,提供特定系统架构如何工作的视图。
例如,逻辑图116可以包括表示被执行的功能或操作的功能或逻辑块,而不是实现这些块的硬件和软件。事实上,给定的块可能是在硬件和软件的若干不同片上实现的。类似地,给定的硬件和软件的组合可能实现一个以上块。
所选硬件和软件的材料清单118是工具106已经从其规范112内描绘的可用硬件和软件中选择的硬件和软件的列表。材料清单118可以把每项或每片硬件和软件指定为单独的行项目,包括其质量、供应商、该项目的特性和像型号、版本号等的识别信息以及其它类型的信息。还可以提供每单元的价格和总价。因此,材料清单118允许系统架构师用户和/或客户或顾客理解所开发的特定系统架构将使用的硬件和软件,以及采购这些项目可能花费多少。
特定系统架构的物理图120在不必要功能性地描述特定系统架构如何实现的情况下,描述被选择来实现特定系统架构的硬件和软件是如何彼此连接和相关的。在那方面,物理图120可以被视为与逻辑图116互为补充。物理图不描述各种硬件和软件“做”什么,而是描述它们是怎么被彼此连接和相关的。例如,物理图120可以指定可以与若干不同的服务器连接的网络交换机,每个交换机都运行各种的软件,等等。
因此,根据输出104,系统架构师用户具有对工具106已经生成的用于期望功能的特定系统架构的完全定义。用户能够通过查看逻辑图116搜集特定系统架构是如何工作的。用户可以通过分析材料清单118来了解哪些软件和硬件被用来实现此架构。用户可以通过检查物理图120来确定此软件和硬件是如何被彼此连接和相关的。
在一个实施方式中,已经描述的特定系统架构开发过程可能是迭代的。例如,系统架构师用户和/或客户或顾客可能想要了解如果架构的尺寸不同,那么架构会受到怎样的影响。如此,工具106可以提供迭代108,以允许这种用户对正在开发的特定系统架构进行各种“如果…将会怎样”类型的分析。进一步地,工具106可以根据特定系统架构实际实现时的监视信息被微调,使得架构能够被升级、更新等等。
具体地说,给工具106的另一个输入可以包括大小变量和监视变量122。至少最初,可以在系统架构师用户的最初询问以获得特定系统架构需求规范114期间提供大小变量。此后,当进行迭代以增大或减小系统时—即就作为这种大小变量的特定示例的用户数量、带宽和吞吐量等等而言为构架提供更多更少的能力—大小变量可以被分别输入到工具106中,或自动生成。例如,可以通过在运行期间监视特定系统架构来自动地生成大小变量。
因此,工具106可以被视为输出不同大小的特定系统架构124。工具106可以提供如输出104所定义的初始大小的架构124,每一个连续的迭代都导致所涉特定系统架构的另一版本或不同大小。从这些架构124到大小和监视变量122的反馈循环可以是双重的。首先,在实现任何特定系统架构124之前,大小变量自身可以被修改以使其不同于导致之前生成的系统架构或架构124的大小变量。这种反馈循环是在生成的任何给定特定系统架构124被实际实现之前进行的“如果…将会怎样”分析。
其次,一旦生成的特定系统架构124被实际实现了,那么其真正实例能够具有其被监视的性能。例如,尽管所涉特定系统架构124可能已经被生成来容纳一定数量的用户、提供一定的吞吐量等等,但是实际上架构124可以提供更多更少的性能。这种监视变量,即像速度、响应时间和带宽等等的实际性能特性,可以被反馈到工具106中,使得可以微调特定系统架构124以提供关于特定系统架构需求规范114的更准确的性能。
例如,如果实际性能慢于预期,那么此信息可以被迭代地引入到工具106中,工具106能够使用此信息以更多的资源更新特定系统架构124,使得性能如预期的一样。类似地,如果实际性能比预期快,那么此信息可以被重新引入到工具106中,从而以较少的资源更新特定系统架构124,使得架构124在仍然满足期望性能指标的同时,以较低成本实现。于是,迭代108最终提供了在生成的特定系统架构124实现之前执行的假设“如果…将会怎样”分析,以及在其实现后进行的架构124的微调。
图2示出了能够执行已经描述的用于生成提供期望功能的特定系统架构的图1的操作100的示例系统200。可以在诸如台式计算机、笔记本电脑等等的一个或多个计算设备上实现系统200。系统200包括至少计算机可读数据存储介质202和处理器204。系统200可以包括其它硬件部件,通常也会包括其它硬件部件。
计算机可读数据存储介质202可以包括一个或多个像动态随机存取半导体存储器的易失性存储器和诸如硬盘驱动器、固态驱动器等的非易失性存储器。计算机可读数据存储介质202存储表示数据库206的数据,以及表示在系统200内生成的特定系统架构208的数据。计算机可读数据存储介质202还存储表示已经描述的特定系统架构说明114的数据以及计算机程序210,计算机程序210实际上可以是一个或多个这种计算机程序并且实现已经描述的工具106。处理器204执行来自计算机可读数据存储介质202的计算机程序210。
数据库206可以包括两个数据库表格212和214。数据库表格212存储一般系统架构模板110,其中一个这种模板110已在图2中详细地描述了。数据库表格214存储已经描述的可用硬件和软件规范112,还能够存储诸如这种硬件和软件的每个片的逻辑图和/或物理图的表示这种硬件和软件的每个片的图216。在其它实施方式中,图216可以被存储在数据库206的不同数据库表格中或被存储在不同的数据库中,或者可以被存储到数据库的外部,在这种情况下,可用硬件和软件规范112包括以每个硬件和软件项目为基础对附图216的参考。进一步指出的是,数据库表格212和214中的每一个都可以被更普遍地视为包括一个以上包括诸如规则、问题、硬件和软件规范等等的信息的具体数据库表格的图示。
对于存储在数据库表格212中的每一个模板110,表格212存储能够被用来实现所涉模板110所对应的一般系统架构的硬件和软件的硬件和软件规范218。具体地,硬件和软件规范218为对数据库表格214内的可用硬件和软件规范112的参考或到其的链接,使得数据库表格212和数据库表格214之间有映射。因为避免了在与可以用相同片的硬件和软件实现的一般系统架构相对应的不同模板110内复制这些规范,所以把每个模板110的硬件和软件规范218表示为到数据库表格214的链接降低了数据库206的存储需求。
数据库表格212可以为每个模板110存储工具106用来生成特定系统架构需求规范的问题220。在这方面,一旦选择了特定的期望功能或解决方案,那么工具106就能够加载对应的模板110并利用其问题220询问系统架构师用户,对这些问题的回答构成特定系统架构需求规范114。于是,在这种实施方式中,尽管需求规范114实际上是给工具106的其它部分的输入,但是工具106还是根据系统架构师用户提供的问题220的回答生成了规范114自身。
数据库表格212为每个模板110存储工具106用来针对模板110所对应的期望功能生成特定系统架构208的规则222和/或宏224。也就是说,规则222和宏224一起被用来生成特定系统架构208。可以根据诸如脚本语言或甚至更简单的如果-那么规则的预定义语言,来格式化规则222。宏224可以是可由电子表格程序执行的宏。更一般地而言,宏224是封装通过其可以生成特定系统架构208的计算和原理的公式或其他机制,不必特定为电子表格程序(即,由其执行)。
可以向着生成特定系统架构208自身而调整或改编规则222,而然后可以根据大小和监视变量,向着调整此生成的特定系统架构208的大小而调整或改编宏224。也就是说,规则222可以被执行来确定特定系统架构208应该包括哪些类型的硬件和软件以及这种硬件和软件如何彼此关连。与之相比,宏224可以被执行来适当地调整被选择并连接以容纳架构208的特定能力的硬件和软件的大小以及另外进行微调。
实现工具210的计算机程序210可以包括查询模块224。查询模块224为所选的模板110检索其存储在数据库表格212内的问题220,并询问系统架构师用户问题220,以生成、确定或了解特定系统架构需求规范114。查询模块224最初可以问用户解决方案的类型或要生成的特定系统架构208的期望功能,然后在此基础上,选择存储在数据库表格212内的合适的模板110。
计算机程序210可以包括生成模块226。生成模块226根据特定系统架构需求规范114,利用已经描述的规则222和/或宏224生成特定系统架构208。如此,生成模块226检索模板110的硬件和软件规范218,通过例如将规则222具体应用于需求规范114,来选择特定系统架构208内应该使用哪些硬件和软件。
计算机程序210可以包括能力模块228。能力模块228调整生成模块226已经生成的特定系统架构208,以提供对生成模块226已经为特定系统架构208选择了的各种硬件和软件的大小调整。能力模块228还可以在特定系统架构208的后续迭代期间,基于已经描述的大小和监视变量而被调用,以接着微调、调整、或重新调整架构208的大小。能力模块228例如可以通过具体地执行宏224来完成其功能。
在此方面,生成模块226和能力模块228至少在一定程度上一起工作。生成模块226为特定系统架构208生成总体布局及其初始填充,并且然后能力模块228微调所得到的系统架构208或调整其大小以更全面地定义架构208。基础的一般系统架构自身—即模块226和228在此基础上一起生成特定系统架构208—由模板110封装,然后规则222和/或宏224作用于模板110上以生成特定系统架构208。
计算机程序通过模块226和228执行的逻辑可以被部分封装在模块226和228自身内。这种逻辑是通常适用于模板110及其对应的作为整体的一般系统架构的共同逻辑。与之相比,属于给定一般系统架构的具体逻辑被包含在此给定架构的模板110的规则222和/或宏224内。在一些实施方式中,属于作为整体或组的一般系统架构的共同逻辑还可以被给定一般系统架构的具体逻辑所否决。
计算机程序210可以包括材料清单模块230。材料清单模块230生成作为特定系统架构208的定义的一部分的材料清单118。材料清单模块230获得生成模块226和能力模块228已经生成并调整大小的特定系统架构208,并且参考数据库表格214内的可用硬件和软件规范112以生成架构208内使用的每一个硬件和软件项目的详细信息。
计算机程序210可以包括图模块232。图模块232生成也是特定系统架构208的定义的一部分的逻辑图116和物理图120。图模块232获得生成模块226和能力模块228已经生成并调整大小的特定系统架构208,并且生成逻辑图116以示意性地描述功能关系和架构208内封装的块。如果非通用说明性元素被用来表示这种关系和/或块,那么图模块232可诸如通过访问数据库表格214所引用的或存储在数据库表格214中的图216,来参考数据库206以检索这种信息。
类似地,图模块232获得生成模块226和能力模块228已经生成并调整大小的特定系统架构208和/或逻辑图116和材料清单118,以生成物理图120。如上所述,物理图120示意性地描绘用于实现特定系统架构208的实际硬件和软件的表示,以及这种硬件和软件是如何彼此连接和/或相关的。图模块232通过数据库206的数据库表格212和/或数据库表格214参考图216,并检索示意性地表示此硬件和软件及与其互连有关的信息的合适的图216。
计算机程序210可以包括管理模块234。系统架构师用户或诸如工具106和/或数据库206的管理员或维护人员的另一用户使用管理模块234来更新数据库206。数据库206可以被更新,以增加、删除或修改模板110,调整可用硬件和软件规范112,并且增加、删除或修改图216等等。
如上所述,实际上,计算机程序210可以是多于一个这种计算机程序。已经描述的模块224、226、228、230、232和234可以被实现为单独的计算机程序、计算机程序的单独的集合以及相同或不同计算机程序的代码的组件、软件对象、例程或其它部分等等。例如,查询模块224可以利用用于开发图形用户接口部件的现有的软件包被构建为图形用户接口部件。生成模块226可以是能够解析和执行脚本的脚本引擎,而能力模块228则可以是电子表格程序或其应用。类似地,材料清单模块230可以通过电子表格程序被实现,或者可以是软件应用程序模块自身,而图模块232可以被实现为用于图形或绘图程序的宏或作为图形或绘图程序的宏。管理模块234可以是维护数据库206的数据库程序的前端。
图3A和3B分别示出了有关已经描述的操作100和系统200的、用于生成特定系统架构208的示例方法300和350。方法300和350彼此一致,但略有不同。进一步地,方法300的部分可以被使用在方法350内,方法350的部分可以被使用在方法300内,并且可以以各种实施方式作出对方法300和350的其它改变。方法300和350中的每一个都可以被实现为存储在非瞬态计算机可读数据存储介质上的一个或多个计算机程序,并可由处理器执行。例如,方法300和350可以被实现为自己实现工具106且由处理器204从计算机可读数据存储介质202执行的计算机程序210。
在图3A的方法300中,接收(302)一个或多个一般系统架构模板110、可用硬件和软件规范112和特定系统架构需求规范114。如上所述,模板110包括将被用来生成特定系统架构208的具体模板110。系统架构师用户可以在模板110所对应的各种解决方案或预定的功能中作出选择,结果是选中提供所选解决方案或期望的预定功能的具体模板110。还如上所述,本质上,可以通过就特定系统架构的需求根据具体模板110向系统架构师用户提出问题来询问该用户,接收特定系统架构需求规范114,对这些问题的回答构成规范114。
以生成特定系统架构208(304)来继续方法300。如上所述,这种生成可以包括维护具有存储一般系统架构模板110的数据库表格212和存储至少可用硬件和软件规范112的数据库表格214的数据库206(306),其中表格212是到表格214的映射或链接。如上所述,这种生成可以包括根据需求规范(114)计算特定系统架构208的大小和执行诸如电子表格宏的宏224以生成包括图116和120以及材料清单118的特定系统架构208(116)。方法300以提供逻辑图116、材料清单118和物理图120中的一个或多个(312)(例如输出图116和120以及材料清单118供用户查看)结束。
在图3B的方法350中,询问诸如软件架构师用户的用户以获得特定系统架构需求规范114(352)。如上所述,这种询问可以包括根据特定系统架构208要提供的期望功能的具体模板110来向该用户提出问题,对这些问题的回答构成需求规范114。然后,以根据具体模板110生成特定系统架构208(354)继续方法350,其中这种生成包括从可用硬件和软件规范112中选择用于实现特定系统架构208的硬件和软件。
例如,可以访问(356)包括数据库表格212和214的数据库206。根据特定系统架构需求规范114可以确定(358)特定系统架构的大小。可以根据已经计算的特定系统架构208的大小调整并利用数据库206来执行具体模板110的宏224,以生成图116和120以及材料清单118(360)。如上所述,方法以输出逻辑图116、材料清单118和物理图120中的一个或多个(362)结束。
因此,本文所公开的技术允许用户更容易地生成用于提供预定和期望功能的特定系统架构。与给定用户精心制作自定义的、定制的特定系统架构,特定系统架构可能会取决于负责这个工作的用户而有很大地变化的传统情况相比,这种架构不管使用工具106的用户怎样,都很可能是更加标准化的。进一步地,与传统情况下进行的彻底地精心制作个别定制的特定系统架构相比,本文公开的技术很可能提供更快的、更经济有效的特定系统架构生成。
Claims (15)
1.一种方法,包括:
由处理器接收与用于提供期望功能的一般系统架构相对应的模板、可用于实现所述一般系统架构的硬件和软件的规范以及用于提供所述期望功能的特定系统架构的需求的规范;
由所述处理器根据所述模板和所述需求生成用于提供所述期望功能的所述特定系统架构,所述特定系统架构使用所述硬件和软件可实现;以及
由所述处理器提供所述特定系统架构的逻辑图、所述特定系统架构的物理图和被选择来实现所述特定系统架构的硬件和软件的材料清单中的一个或多个。
2.根据权利要求1所述的方法,其中所述模板是具体模板,并且接收模板包括:接收与用于提供不同期望功能的不同的一般系统架构相对应的多个不同模板,所述不同模板包括所述具体模板,
并且其中生成所述特定系统架构包括:把所述特定系统架构的期望功能与所述不同模板的不同期望功能中的所述具体模板的期望功能进行匹配。
3.根据权利要求1所述的方法,其中接收可用于实现所述一般系统架构的硬件和软件的规范包括:针对作为一项目的所述硬件和软件中的每一个接收所述项目的型号和版本中的一个或多个、所述项目的提供商和所述项目的特性。
4.根据权利要求3所述的方法,其中所述硬件和软件由多个供应商提供,使得在没有排他地偏好任何特定供应商的情况下,以供应商中立的方式执行生成所述特定系统架构。
5.根据权利要求1所述的方法,其中接收特定系统架构的需求的规范包括:通过根据所述模板向系统架构师用户提出多个问题,就所述特定系统架构的所述需求,询问所述系统架构师用户,对所述问题的回答构成所述需求的规范。
6.根据权利要求1所述的方法,其中生成所述特定系统架构包括:
维护具有可用于实现所述一般系统架构的硬件和软件的规范的第一数据库表格和对应于所述模板的第二数据库表格的数据库,所述第二数据库表格相关地链接到所述第一数据库表格;
根据所述特定系统架构的需求的规范,计算所述特定系统架构的大小;以及
根据已经计算的所述特定系统架构的大小,执行对应于所述模板的宏以生成所述特定系统架构的逻辑图、所述硬件的材料清单和所述特定系统架构的物理图,
其中执行所述宏访问并使用所述数据库。
7.根据权利要求1所述的方法,其中提供所述特定系统架构的逻辑图包括:提供在不描述被选择来实现所述特定系统架构的硬件和软件如何彼此连接和相关的情况下,功能性地描述所述特定系统架构如何被实现的图。
8.根据权利要求1所述的方法,其中提供所述特定系统架构的物理图包括:提供在不功能性地描述所述特定系统架构如何实现的情况下,描述被选择来实现所述特定系统架构的硬件和软件如何彼此连接和相关的图。
9.根据权利要求1所述的方法,其中提供被选择来实现所述特定系统架构的硬件和软件的材料清单包括:提供针对作为一项目的所述硬件和软件中的每一个包括所述项目的型号和版本中的一个或多个、所述项目的数量、所述项目的提供商和所述项目的特性的列表。
10.一种非瞬态计算机可读数据存储介质,存储由处理器可执行的计算机程序,以执行包括下列步骤的方法:
询问用户以获得用于提供期望功能的特定系统架构的需求的规范;
根据与用于提供所述期望功能的一般系统架构相对应的模板,生成用于提供所述期望功能的所述特定系统架构,包括选择用于实现所述特定系统架构的硬件和软件;和
输出所述特定系统架构的逻辑图、所述特定系统架构的物理图和被选择来实现所述特定系统架构的硬件和软件的材料清单中的一个或多个。
11.根据权利要求10所述的非瞬态计算机可读数据存储介质,其中询问用户以获得特定系统架构的需求的规范包括:根据所述模板向所述用户提出多个问题,对所述问题的回答构成所述需求的规范。
12.根据权利要求10所述的非瞬态计算机可读数据存储介质,其中生成用于提供所述期望功能的所述特定系统架构包括:
访问具有可用于实现所述一般系统架构的硬件和软件的规范的第一数据库表格和对应于所述模板的第二数据库表格的数据库,所述第二数据库表格相关地链接到所述第一数据库表格;
根据所述特定系统架构的需求的规范,确定所述特定系统架构的大小;以及
根据已经计算的所述特定系统架构的大小并且利用所述数据库,执行对应于所述模板的宏以生成所述特定系统架构的逻辑图、所述硬件的材料清单和所述特定系统架构的物理图。
13.根据权利要求10所述的非瞬态计算机可读数据存储介质,其中输出逻辑图、物理图和材料清单中的一个或多个包括下列操作中的一个或多个:
把所述逻辑图作为在不描述被选择来实现所述特定系统架构的硬件和软件如何被彼此连接和相关的情况下,功能性地描述所述特定系统架构如何被实现的第一图输出;
把所述物理图作为在不功能性地描述所述特定系统架构如何实现的情况下,描述被选择来实现所述特定系统架构的硬件和软件如何被彼此连接和相关的第二图输出;
把所述材料清单作为针对作为一项目的所述硬件和软件中的每一个包括所述项目的型号和版本中的一个或多个、所述项目的数量、所述项目的提供商和所述项目的特性的列表输出。
14.一种系统,包括:
处理器;
计算机可读数据存储介质,用于存储:
表示与用于提供期望功能的一般系统架构相对应的模板的第一数据;
表示可用于实现所述一般系统架构的硬件和软件的规范的第二数据;
表示用于提供所述期望功能的特定系统架构的需求的规范的第三数据;以及
由处理器可执行的计算机程序,用于:
根据所述模板和所述需求,确定用于提供所述期望功能的所述特定系统架构,包括选择所述硬件和软件,所述特定系统架构通过选择的硬件和软件可实现;
生成所述特定系统架构的逻辑图、所述特定系统架构的物理图和被选择来实现所述特定系统架构的硬件和软件的材料清单中的一个或多个。
15.根据权利要求14所述的系统,其中所述计算机可读数据存储介质把所述第一数据作为数据库的第一数据库表格存储,并且把所述第二数据和所述第二数据作为第二数据库表格存储,所述第一数据库表格被相关地映射到所述第二数据库表格。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/049071 WO2014021876A1 (en) | 2012-07-31 | 2012-07-31 | System architecture generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104272294A true CN104272294A (zh) | 2015-01-07 |
CN104272294B CN104272294B (zh) | 2017-03-29 |
Family
ID=50028389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280072876.6A Active CN104272294B (zh) | 2012-07-31 | 2012-07-31 | 生成特定系统架构的方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10089414B2 (zh) |
EP (1) | EP2880552A4 (zh) |
CN (1) | CN104272294B (zh) |
WO (1) | WO2014021876A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109155741A (zh) * | 2016-05-24 | 2019-01-04 | 艾普斯卓公司 | 为不同参考架构配置系统资源 |
CN112099766A (zh) * | 2020-11-18 | 2020-12-18 | 北京恒信启华信息技术股份有限公司 | 一种灵活定制企业应用系统的需求管理工具集 |
CN114338376B (zh) * | 2016-05-24 | 2024-05-24 | 艾普斯卓公司 | 为不同参考架构配置系统资源的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123062A1 (en) * | 2002-12-20 | 2004-06-24 | Veritas Software Corporation | Development of a detailed logical volume configuration from high-level user requirements |
US8190399B1 (en) * | 2006-08-04 | 2012-05-29 | Sprint Communications Company L.P. | Hardware and software usage and capacity integration in architecture blueprint tool and process |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119307A (en) | 1989-12-22 | 1992-06-02 | General Electric Company | Method and system for automated bill-of-material generation |
US7120621B2 (en) | 2002-01-29 | 2006-10-10 | International Business Machines Corporation | Object-oriented framework for generic adaptive control |
US7039654B1 (en) * | 2002-09-12 | 2006-05-02 | Asset Trust, Inc. | Automated bot development system |
US7831693B2 (en) | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US20070016432A1 (en) | 2005-07-15 | 2007-01-18 | Piggott Bryan N | Performance and cost analysis system and method |
US8065204B2 (en) | 2005-09-29 | 2011-11-22 | Sony Corporation | System and method for software integration and factory deployment |
US7979329B2 (en) | 2008-02-29 | 2011-07-12 | International Business Machines Corporation | System and method for generating optimal bill/payment schedule |
US9317640B2 (en) * | 2008-05-16 | 2016-04-19 | Hewlett Packard Enterprise Development Lp | System and method for the electronic design of collaborative and validated architectures |
US8677309B2 (en) | 2009-12-29 | 2014-03-18 | Oracle International Corporation | Techniques for automated generation of deployment plans in an SOA development lifecycle |
US20130061146A1 (en) * | 2011-09-07 | 2013-03-07 | Cisco Technology, Inc. | System and method for developing architectural designs |
-
2012
- 2012-07-31 EP EP12882261.6A patent/EP2880552A4/en not_active Withdrawn
- 2012-07-31 US US14/395,432 patent/US10089414B2/en active Active
- 2012-07-31 WO PCT/US2012/049071 patent/WO2014021876A1/en active Application Filing
- 2012-07-31 CN CN201280072876.6A patent/CN104272294B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123062A1 (en) * | 2002-12-20 | 2004-06-24 | Veritas Software Corporation | Development of a detailed logical volume configuration from high-level user requirements |
US8190399B1 (en) * | 2006-08-04 | 2012-05-29 | Sprint Communications Company L.P. | Hardware and software usage and capacity integration in architecture blueprint tool and process |
Non-Patent Citations (1)
Title |
---|
ROBERT W. BRODERSEN: "rapid-prototyping of hardware and software in a unified framework", 《INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109155741A (zh) * | 2016-05-24 | 2019-01-04 | 艾普斯卓公司 | 为不同参考架构配置系统资源 |
US11088900B2 (en) | 2016-05-24 | 2021-08-10 | Apstra, Inc. | Configuring system resources for different reference architectures |
CN109155741B (zh) * | 2016-05-24 | 2021-12-24 | 艾普斯卓公司 | 为不同参考架构配置系统资源的方法和系统 |
CN114338376A (zh) * | 2016-05-24 | 2022-04-12 | 艾普斯卓公司 | 为不同参考架构配置系统资源的方法和系统 |
US11689413B2 (en) | 2016-05-24 | 2023-06-27 | Apstra, Inc. | Configuring system resources for different reference architectures |
CN114338376B (zh) * | 2016-05-24 | 2024-05-24 | 艾普斯卓公司 | 为不同参考架构配置系统资源的方法和系统 |
CN112099766A (zh) * | 2020-11-18 | 2020-12-18 | 北京恒信启华信息技术股份有限公司 | 一种灵活定制企业应用系统的需求管理工具集 |
Also Published As
Publication number | Publication date |
---|---|
US20150324488A1 (en) | 2015-11-12 |
WO2014021876A1 (en) | 2014-02-06 |
EP2880552A4 (en) | 2016-04-27 |
EP2880552A1 (en) | 2015-06-10 |
US10089414B2 (en) | 2018-10-02 |
CN104272294B (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8347214B2 (en) | Automated interface-specification generation for enterprise architectures | |
Shyamsundar et al. | Collaborative virtual prototyping of product assemblies over the Internet | |
US8996494B2 (en) | Systems and methods for modeling costed entities and performing a value chain analysis | |
US8332813B2 (en) | Service re-factoring method and system | |
US20100115490A1 (en) | Automated Lifecycle Management of a Computer Implemented Service | |
US20220004990A1 (en) | Custom Application Builder for Supply Chain Management | |
US20130132296A1 (en) | Networked business object sharing | |
EP1862956A1 (en) | Systems and methods for assignment generation in a value flow environment | |
US20110004565A1 (en) | Modelling Computer Based Business Process For Customisation And Delivery | |
US20100262559A1 (en) | Modelling Computer Based Business Process And Simulating Operation | |
KR102237877B1 (ko) | 실시간 협업지원 지능형 소프트웨어 자동 개발 시스템 및 그 방법 | |
CN107102848A (zh) | 规定用户界面元素 | |
US20170139685A1 (en) | Visual software modeling method to construct software views based on a software meta view | |
US8762322B2 (en) | Distributed order orchestration system with extensible flex field support | |
WO2010088649A1 (en) | Resource processing using an intermediary for context-based customization of interaction deliverables | |
CN110826896A (zh) | 数据处理控制方法、装置、计算机设备及存储介质 | |
Männistö et al. | Product configuration view to software product families | |
US20110066566A1 (en) | Conceptual representation of business processes for cross-domain mapping | |
Vidoni et al. | Towards a Reference Architecture for Advanced Planning Systems. | |
CN104272294A (zh) | 系统架构生成 | |
US6728948B1 (en) | Object oriented framework mechanism and method for providing a generic order entry processing interface for one or more order fulfillment systems | |
US20080319815A1 (en) | Computer-implemented method, system, and program product for conducting a trade-off study | |
Männistö et al. | Modeling configurable products and software product families | |
Brambilla et al. | Model-driven design of service-enabled web applications | |
US20120079264A1 (en) | Simplified customization setting verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160928 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership |
|
GR01 | Patent grant | ||
GR01 | Patent grant |