IP Library › Granted Patent US 7,698,694
Granted Patent B2
US 7,698,694 · App. 11/148,694 · Granted Apr 13, 2010

Methods and systems for transforming an AND/OR command tree into a command data model

Assignee: Cisco Technology, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,698,694
App. No.
11/148,694
Granted
Apr 13, 2010
Kind
B2
Abstract

Methods and systems of transforming an AND/OR command tree into a command data model are described. An unsimplified command data model is generated from the AND/OR command tree by expressing the AND/OR command tree as a command tree using elements of EBNF (Extended Backus-Naur-Form) notation. Selected structures within the unsimplified command data model are simplified to create a simplified command data model. The simplified command data model is refined into a refined command data model by allowing renaming of selected elements of the command data model. The renaming is based on user-specified instructions.

Claims (36)

1. A method comprising:

extracting, with a preprocessing device, macroinstructions that are hard-coded into parser code of a command line interface (CLI) parser, wherein the macroinstructions define parse nodes utilized by the CLI parser to analyze whether one or more CLI commands input to a CLI prompt have a proper CLI syntax;

generating a parse graph from the macroinstructions with the preprocessing device, wherein the parse graph includes a representation of the parse nodes defined by the macroinstructions, and wherein the macroinstructions and the parse graph are written in different programming languages;

generating an AND/OR command tree structure from the parse graph;

generating an unsimplified command data model from the AND/OR command tree structure by expressing the AND/OR command tree structure as a command tree using elements of EBNF (Extended Backus-Naur-Form) notation; and

simplifying selected structures within the unsimplified command data model according to one or more simplification rules, wherein the simplifying creates a simplified command data model that is available for use by an external management system in at least one of device validation or testing processes.

2. The method of claim 1 , wherein the generating the AND/OR command tree structure from the parse graph further comprises generating the unsimplified command data model from said AND/OR command tree structure according to a set of transformation rules.

3. The method of claim 1 , wherein the simplifying further comprises simplifying the selected structures according to selected simplification rules including at least one of removing duplications, collapsing nested unions, or merging integers.

4. The method of claim 3 , wherein the simplifying further comprises flattening selected attributes in the simplified model during the simplifying and removing duplicate attributes created by the flattening.

5. The method of claim 1 , wherein the refining further comprises allowing user-specified manual simplification of the simplified data model to create the refined data model.

6. The method of claim 1 , further comprises refining the simplified command data model by allowing renaming of selected elements of the command data model based on user-specified instructions to create a refined command data model.

7. The method of claim 6 further comprising exporting the refined command data model as an XML (Extensible Markup Language) file.

8. A computer-usable memory having computer-readable program code embodied therein for causing a computer system to execute a method comprising:

extracting, with a preprocessing device, macroinstructions that are hard-coded into parser code of a command line interface (CLI) parser, wherein the macroinstructions define parse nodes utilized by the CLI parser to analyze whether one or more CLI commands input to a CLI prompt have a proper CLI syntax;

generating a parse graph from the macroinstructions with the preprocessing device, wherein the parse graph includes a representation of the parse nodes defined by the macroinstructions, and wherein the macroinstructions and the parse graph are written in different programming languages;

generating an AND/OR command tree structure from the parse graph;

generating an unsimplified command data model from the AND/OR command tree structure by expressing the AND/OR command tree structure as a command tree using elements of EBNF (Extended Backus-Naur-Form) notation; and

simplifying selected structures within the unsimplified command data model according to one or more simplification rules, wherein the simplifying creates a simplified command data model that is available for use by an external management system in at least one of device validation or testing processes.

9. The computer-usable memory of claim 8 , wherein said generating further comprises generating the unsimplified command data model from the AND/OR command tree structure according to a set of transformation rules.

10. The computer-usable memory of claim 8 , wherein the simplifying further comprises simplifying the selected structures according to selected simplification rules including at least one of removing duplications, collapsing nested unions, or merging integers.

11. The computer-usable memory of claim 10 , wherein the simplifying further comprises computer-readable code for flattening selected attributes in the simplified model during the simplifying and removing duplicate attributes created by the flattening.

12. The computer-usable memory of claim 8 , wherein the refining further comprises computer-readable code for allowing user-specified manual simplification of the simplified data model to create the refined data model.

13. The computer-usable memory of claim 8 further comprising computer-readable code for:

refining the simplified command data model by allowing renaming of selected elements of the command data model based on user-specified instructions to create a refined command data model.

14. The computer-usable memory of claim 13 further comprising computer-readable code for exporting the refined command data model as an XML (Extensible Markup Language) file.

15. A system comprising:

means for extracting, with a preprocessing device, macroinstructions that are hard-coded into parser code of a command line interface (CLI) parser, wherein the macroinstructions define parse nodes utilized by the CLI parser to analyze whether one or more CLI commands input to a CLI prompt have a proper CLI syntax;

means for generating a parse graph from the macroinstructions with the preprocessing device, wherein the parse graph includes a representation of the parse nodes defined by the macroinstructions, and wherein the macroinstructions and the parse graph are written in different programming languages;

means for generating an AND/OR command tree structure from the parse graph;

means for generating an unsimplified command data model from the AND/OR command tree structure by expressing the AND/OR command tree structure as a command tree using elements of EBNF (Extended Backus-Naur-Form) notation; and

means for simplifying selected structures within the unsimplified command data model according to one or more simplification rules, wherein the simplifying creates a simplified command data model that is available for use by an external management system in at least one of device validation or testing processes.

16. The system of claim 15 , further comprises means for refining the simplified command data model by allowing renaming of selected elements of the command data model based on user-specified instructions to create a refined command data model.

17. The system of claim 16 further comprising means for exporting the refined command data model as an XML (Extensible Markup Language) file.

18. The system of claim 15 , further comprising means for generating the unsimplified command data model from the AND/OR command tree structure according to a set of transformation rules.

19. The system of claim 15 , further comprising means for simplifying the selected structures according to selected simplification rules including at least one of removing duplications, collapsing nested unions, or merging integers.

20. The system of claim 19 , further comprising means for flattening selected attributes in the simplified model during the simplifying and removing duplicate attributes created by the flattening.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2005
From: TJONG, JUNG; BETTADAPUR, PRAKASH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 016681/0030 →
Continuity (1)
Related Publication 20060282453A1 · Dec 14, 2006