针对基于程序的命令行的用户界面模型生成的制作方法

文档序号:9422691阅读:332来源:国知局
针对基于程序的命令行的用户界面模型生成的制作方法
【专利说明】针对基于程序的命令行的用户界面模型生成 睛川宜量
[0002] 命令行应用(诸如Powershell⑥cmdlets、DOS批处理文件或S化命令)允许用 户执行来自文本命令行的功能性。为了进行有意义的执行,用户需要对应用的输入参数集 合W及每个参数的值的有效范围的理解。
[0003] 对于某些编程语言,仔细考虑命令行应用并自动生成用户界面是可能的,由此允 许非命令行用户或新手通过自动生成的用户界面来执行功能性,即使最初的应用没有包括 用户界面。例如,I^wershell⑩3. 0包括服务于该目的的"化owCommand(示出命令)"功 能性。
[0004] 然而,运样现有的反射功能性被设计成非常通用的,使得所生成的用户界面广泛 应用于许多情形。因此,运个"一个大小适合于全部"的形式的用户界面生成适用于简单情 形,但对许多其它情形是不够的。 阳00引避述
[0006] 提供本概述W便W简化形式介绍将在W下的详细描述中进一步描述的一些代表 性概念的选集。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在 W限制所要求保护的主题的范围的任何方式来使用。
[0007] 简而言之,在此描述的主题的各方面设及从将一个或多个输入参数和一个或多个 命令作为输入的程序中生成中间模型的技术。该中间模型包括对应于默认用户界面的用户 界面模板W及对应于默认变换程序的代码模板。中间模型可被维持在存储器中W允许中间 模型修改成包括经修改的用户界面数据和/或经修改的代码的经修改的模型。对应于经修 改的模型的经修改的程序被输出。
[0008] 在一个方面,模型生成器程序被配置来将输入程序处理成包括用户界面模板和代 码模板的包括声明性的中间模型。模型生成器程序持久保存该中间模型W提供用于将中间 模型编辑成被配置来被解释或编译成可执行程序的经修改的模型。
[0009] 在一个方面,包括对应于默认用户界面的用户界面模板W及对应于默认变换程序 的代码模板的中间模型被生成。基于中间模型的经修改的模型被持久保存,其中经修改的 模型包括经修改的用户界面数据、至少一个经修改的参数、一个或多个流动条件和/或未 被指定在中间模型中的一个或多个规则。
[0010] 结合附图阅读W下【具体实施方式】,本发明的其他优点会变得显而易见。
[0011] 附图简沐
[0012] 作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或 相似的元素,附图中:
[0013] 图1是根据一个示例实施例的包括被配置成从输入程序生成模型W提供经修改/ 经自定义的输出程序的各组件的框图。
[0014] 图2是根据一个示例实施例的表示将中间模型修改为经修改的模型的框图。
[0015] 图3是根据一个示例实施例的表示模型的修改和导致的对应程序的执行的框图。
[0016] 图4是表示可并入本文中所描述的主题的各方面的示例计算环境的框图。
[0017] 详细描沐
[0018] 在此描述的技术的各方面一般设及仔细考虑并解释命令行应用(或commandlet 或模块),并接着构成用于构成用户界面模型的中间(例如,声明性)模型。在一个实现中, 中间模型被生成W表示默认用户界面和默认代码变换过程。中间模型使用主要基于声明性 的机制来定义。
[0019] 因此,在此描述的技术生成中间模型,然后该中间模型例如通过使用显示用户界 面布局管理器和代码变换过程来显示,而不是简单生成用户界面。此外,中间模型可被持久 保存并被终端用户修改,因此允许经自定义的向导体验。当中间模型W声明性方式指定时, 非开发者能够修改模型用户界面的默认行为,并且人们能够共享此工作。
[0020] 应当理解,本文中的任何示例均是非限制的。因此,本发明不限制于在此描述的任 何具体的实施例、方面、概念、结构、功能或示例。相反,在此所描述的实施例、方面、概念、结 构、功能或示例中的任何一个都是非限制性的,并且本发明可W按一般在计算机和管理工 具中提供益处和优点的各种方式来使用。 阳02U 图1示出了包括用于取得输入程序102(例如,Windows底Powershel瞄. cmdlet)并生成模型104(隐式模型)的S阶段过程的示例实现的框图,模型104随后被用 作擅染例如向导116的基础。模型104可被丢弃(不被持久保存),或改为被持久保存(例 如,如通过持久存储107表示的)W使得允许用户修改用户界面扣I)、确认逻辑和/或用于 生成代码的代码模板。注意,UI模型可W是硬编码的或者是例如从cmdlet自动推断出的。 被自动推断的模型可被编辑,例如,用于自定义,例如,如图1中模型编辑器109所表示的, 其可W是用于基于文本的模型或能够被转换成文本的文本编辑器,和/或具有附加功能性 的编辑器,诸如具有帮助编辑模型的特征的图形用户界面。
[0022] 在运个示例中,用户执行模型生成器程序108,其作为要针对其生成UI的输入程 序102 (例如,Windows电Powershei做cmdlet)来取得。例如,程序108可仔细考虑例如 cmdlet函数的签名、参数的数目、运些参数的类型化及它们是可选的还是强制性的。该信息 随后被模型生成器程序108用来生成默认UI模型110 (例如,诸如定义文本文件中的一组 页面W及它们如何彼此交互的基于可扩展应用标记语言狂AML)的表格,例如介绍页面、交 互页面和错误处理页面)W及合适的输入确认逻辑。该信息还用于生成默认代码模板112, 例如具有声明性形式的代码(诸如基于XAML的)。
[0023] 注意,在可扩展场景中,模型生成器程序108将生成的模型呈现给用户W对单个 cmdlet对照流水线或工作流作出决定。该用户输入允许组合复杂的应用执行场景。
[0024] 运在图2中例示,其中模型生成器程序108输入来自源220的关于输入程序102 的细节,(其可从程序本身或分开地习得),例如,什么输入程序可作为参数采用,那些参数 的有效范围是什么,等等。域专长222还可被用来确定那些参数中的哪些适合给定的任务, 并且,例如,用应用到任务的UI模型210调整模型生成程序108来生成隐式模型104,从而 可能限制参数、参数范围、设置合适的默认值,等等。 阳0巧]一旦隐式模型104被生成,它可被持久保存或W其他方式被专家224或(也提供 某些或全部域专长222的)人访问。W此方式,专家可进一步按需自定义并向模型104提 供默认参数和流动条件/规则。
[00%] 专家224可出于其他目的,例如,用翻译后的语言、不同企业名等来重新使用UI, 来修改代码模板212和/或UI模型210。专家可向代码模板212添加流动条件和其它规 贝1J,如W下参考图3 -般地描述的。
[0027] 专家224 (或甚至稍熟练的用户)也可确定是否在单个操作226中使用模型,或将 其作为流水线228的一部分或其它工作流230来实现。例如,模型204可被用来向用户呈 现向导W获得用户输入的值,其中用那些向导获得的值来运行程序的结果被链接(例如W 串接或可能条件地选择的方式)到另一个程序(例如,输入被用于确定分支方向),接着可 获得更多数据和/或执行更多处理,W此类推,W产生最终输出。
[002引返回图1,模型解释器114可取得生成的模型104(包括UI模型110和模板112) 并执行该模型104,从而将要将输入参数输入其中的向导116 (例如,单个页面)等提供给终 端用户。用户可扩展该模型W包括例如指南主题、示例和到知识文章的链接。 W29] 在用户完成了向导116后,变换程序118通过变换取得输入参数并将其 插入到代码模板112中。运导致经修改的(例如,自定义的)程序120(例如, Windows處Powershel瞄脚本或Windows雷巧巧V:灯shell瑕解释器可执行的 Windows巧Powei?浊el瞒脚本的流水线)。每一脚本可在执行之前向用户示出或被透明 地执行。通过运些过程生成的制品(诸如UI向导、相关联的模型和上下文)在本文中可被 统称为指南包。
[0030] 一般而言并如上所述,给定模型生成器程序(例如,108)通常用域专长222 来配置,域专长222允许模型生成器程序108知晓
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1