CN109857458B - ANTLR-based AltaRica3.0 flattening transformation method - Google Patents
ANTLR-based AltaRica3.0 flattening transformation method Download PDFInfo
- Publication number
- CN109857458B CN109857458B CN201910158660.5A CN201910158660A CN109857458B CN 109857458 B CN109857458 B CN 109857458B CN 201910158660 A CN201910158660 A CN 201910158660A CN 109857458 B CN109857458 B CN 109857458B
- Authority
- CN
- China
- Prior art keywords
- file
- flattening
- antlr
- class
- block
- 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.)
- Active
Links
- 238000011426 transformation method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims abstract description 14
- 230000001360 synchronised effect Effects 0.000 claims description 22
- 230000014509 gene expression Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000004576 sand Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 238000009635 antibiotic susceptibility testing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
The ANTLR-based AltaRica3.0 flattening conversion method mainly comprises two parts: firstly, writing an ANTLR syntax file of AltaRica3.0 to obtain a corresponding abstract syntax tree; secondly, the syntax tree is operated by using a designed algorithm, and the flattened file is obtained from the AltaRica3.0 hierarchical file of a certain input system. The invention provides an important solution for converting an AltaRica3.0 model hierarchical structure into a flat structure, and the AltaRica model of a certain system can be subjected to security analysis by converting the AltaRica3.0 model hierarchical structure into the flat structure, and the process is very important in the field of security key systems.
Description
Technical Field
The invention belongs to the field of safety key systems, and particularly relates to an ANTLR-based AltaRica3.0 flattening conversion method.
Background
The antecedent of the ANTLR-other Tool for Language Recognition is PCCTS, which provides a framework for automatically constructing a recognizer (recognizer), a compiler (parser) and an interpreter (translator) of a custom Language by syntax description for languages including Java, C + +, C #. ANTLR may resolve the identification conflict by asserting (Predicate); a support Action (Action) and a Return Value (Return Value); it can automatically generate grammar tree according to input and display it visually. Thus, translation of computer languages has become a common task-YACC/LEX has previously appeared to be college-style, while LL (k) -based ANTLR, although somewhat inefficient in efficiency, has been upgraded and modified over the years to make ANTLR adequate for the vast majority of applications present. ANTLR is an EBNF-based parser tool, is an important basic stone that constitutes many languages, tools and frameworks, can be used to read, process, execute and translate structured text or binary files, and is widely used in academic fields and actual industrial production. Twitter can process more than 20 hundred million queries per day by using the powerful parsing function of ANTLR, and the ANTLR is used in languages in the ecosystem of Hadoop. The user can convert the grammar rules of any language into the format of an ANTLR grammar parsing file (ANTLR meta language), obtain the ANTLR grammar file of the language to be parsed, and run the ANTLR built-in method to generate the corresponding lexical parser and grammar parser. At this time, if a specific language file is input, a lexical analyzer can be used for converting the character stream of the input file into a mark stream composed of phrases according to corresponding lexical rules, lexical analysis results of the specific language can be obtained, next, the mark streams can be combined by using a grammar analyzer and can be visualized into an abstract Syntax tree (AST (abstract Syntax tree)), all lexical information is stored on leaf nodes of the AST, and a user can formulate corresponding conversion rules according to actual requirements of the user and obtain execution results.
AltaRica is a high-level modeling language that is dedicated to security analysis. The first version of the language was created at the bolthology computer science laboratory (LaBRI) at the end of the 90 s. This first version makes it possible to build basic concepts, but for industrial scale models this is too resource consuming. Thus, a second version of AltaRica Data-Flow was created several years later at the Luminy mathematical institute. AltaRica Data-Flow is now the core of several industrial integrated modeling and simulation environments: cecilia OCAS (Dassault initiative), simfia (eads apsys), and security designers (Dassault systems). In addition, a number of tools have been developed to evaluate AltaRica dataflow models, such as fault tree compilers, Markov chain compilers, key event sequence generators, stochastic simulators, and model checkers. AltaRica data stream integrated modeling and simulation environments are widely used in various industries, and many successful industrial applications are reported in the literature, and AltaRica data streams have now reached industrial maturity. The behavior of an AltaRica component is described by a state machine, the state of the component being represented by variables (so-called state variables) and their values. Changes in state are only possible when events occur, which are described by transformations. Flow variables are used to model information that loops between components, which are updated by assertions that are executed after each conversion. Components may be combined into a hierarchy, their inputs and outputs may be connected and their translations may be synchronized.
The GTS is a state/transition form devoted to security analysis that summarizes the reliability block diagram, Markov chains, and stochastic Petri nets. Three operations are defined on the guard conversion system that can assemble them into a hierarchy. Thus, the protected transformation system is a complete description language (in contrast, in the form of a finite state machine or a conventional Petri net). By introducing a point stabilization mechanism to stabilize the value of the flow variable after each inversion loop, the GTS can represent a system (e.g., a network system or an electrical system) with an immediate loop, and non-causal components can be designed, i.e., the directional flow propagation of the components is determined at run-time. Therefore, GTS also generalizes the underlying mathematical model of the schema automaton AltaRica data stream. AltaRica3.0 can only be seen as a convenient way to describe and construct a bodyguard transformation system. The sentry conversion system (GTS) is an automaton whose state is represented by variable tokens, i.e., variables and their values. The change in state is represented by an event-triggered transition, and may also represent flow through the network and synchronize events to describe remote interactions between the system components under study. GTS summarizes the reliability block diagram, Markov chains and Petri nets.
The basic purpose of flattening is to perform security analysis on a security critical system, the AltaRica3.0 hierarchical structure is used for describing the architecture information of the system, direct security analysis is impossible, and the flattened system can perform the security analysis of a model by using a reliability block diagram, a Markov chain and a Petri network. The flattening operation of AltaRica is a pure syntax operation, and based on the method, the transformation method based on the flattening of AltaRica3.0 of ANTLR provided by the invention carries out syntax analysis on AltaRica3.0 through ANTLR, and then carries out the corresponding flattening operation through AST.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides an ANTLR-based AltaRica3.0 flattening conversion method. The method mainly comprises two parts of contents: firstly, an ANTLR grammar file of AltaRica3.0 is written to obtain a corresponding abstract grammar tree. Secondly, the syntax tree is operated by using a designed algorithm, and the flattened file is obtained from the AltaRica3.0 hierarchical file of a certain input system.
In order to achieve the purpose, the invention adopts the following technical scheme:
the transformation method for flattening AltaRica3.0 based on ANTLR is characterized by comprising the following steps:
writing an ANTLR syntax file of AltaRica3.0 to obtain a corresponding abstract syntax tree;
and step two, compiling an algorithm, traversing the AST, acquiring a node value of the AST, and performing flattening operation according to a flattening algorithm.
In order to optimize the technical scheme, the specific measures adopted further comprise:
further, in the first step, an ANTLR grammar parsing file of AltaRica3.0 is constructed by using a grammar specification file of AltaRica3.0 and a meta language of ANTLR, a lexical method and a grammar parser of AltaRica3.0 are acquired by operating a built-in method of ANTLR, and corresponding AST is acquired by inputting an AltaRica3.0 instance.
Further, in the second step, the flattening operation of the AltaRica3.0 hierarchical structure is a pure syntax operation, a main module Block serves as an entrance of the whole flattening process, and a plurality of blocks and a plurality of Class files respectively establish abstract syntax trees according to ANTLR.
Further, in the second step, the flattening algorithm firstly divides an AltaRica3.0 model file, finds out a main module Block and a sub-module Block thereof, and all classes cited by the main module Block, acquires a plurality of [ alt ] files, combines an ANTLR syntax parsing file of AltaRica3.0, and uses the [ alt ] files as input files of the flattening algorithm, firstly analyzes AST of the main module Block, determines all classes cited by the main module Block and sub-module blocks contained by the main module Block, obtains the affiliated relationship between hierarchical files, and then carries out the same operation on classes and sub-modules blocks.
Further, in the second step, the flattening algorithm is a continuous iteration process performed in the following steps:
1) acquiring a main module Block as a program inlet of the whole flattening process, performing layered traversal on a syntax tree of the main module Block, acquiring nested Class and sub-module Block files of a first layer, storing referenced Class information into a corresponding map, and defining an indefinite length syntax tree as reference hierarchical structure information of a next Class syntax tree while defining an indefinite length syntax treeAdding the module name of the previous Block into the character string s, wherein the character string s is the prefix identifier of the current Block, and storing the flattened information of the Block into a flattened file B for storing the BlockflatPerforming hierarchy traversal and depth traversal again, and repeating the operations until the deepest node is obtained;
2) traversing the map according to the Class information quoted by the main module obtained in the step 1), automatically finding the AST file established corresponding to the Class file according to the Class name and the instance name stored in the map, determining the affiliation relationship of the Class, simultaneously obtaining the other Class file information quoted by the current Class file, storing the quoted other Class name and the instance name in the corresponding map, and repeating the above process until all the Class prefix identifiers are determined.
Further, in the second step, the flattened hierarchical file is operated, and the conversion information of the file includes three events: normal events, synchronous events and hidden events, wherein the synchronous events and the hidden events comprise normal events; in the AST formed by the flattened file, the type of the corresponding event is directly obtained according to the attribute of the node, the value stored by the node in the synchronization event and the hidden event, namely the normal conversion event, is obtained, the AST is traversed according to the obtained value, the expression and the instruction contained in the corresponding event are obtained, the expression and the instruction in the event are operated according to the synchronization flattening rule and the hidden flattening rule, and the flattened synchronization event and the hidden event are obtained.
The invention has the beneficial effects that: the invention provides an important solution for converting an AltaRica3.0 model hierarchical structure into a flat structure, and the AltaRica model of a certain system can be subjected to security analysis by converting the AltaRica3.0 model hierarchical structure into the flat structure, and the process is very important in the field of security key systems.
Drawings
Fig. 1 shows an analysis process of ANTLR.
Fig. 2 is an ANTLR-based altarica3.0 flattening algorithm framework.
FIG. 3 is Block flattening algorithm pseudo-code.
FIG. 4 is a Class flattening algorithm.
FIG. 5 is a synchronized flattening process.
Detailed Description
The present invention will now be described in further detail with reference to the accompanying drawings.
The invention mainly solves the problem of the flattening of AltaRica3.0, FIG. 1 is an analysis process of ANTLR, FIG. 2 is an AltaRica3.0 flattening algorithm framework based on ANTLR, and the transformation method of the flattening of AltaRica3.0 based on ANTLR provided by the invention mainly comprises the following two parts.
Firstly, writing an ANTLR grammar file of AltaRica3.0 to obtain a corresponding abstract grammar tree.
The method comprises the steps of constructing an ANTLR grammar analysis file of AltaRica3.0 by utilizing the meta language of ANTLR through a grammar description file of AltaRica3.0, obtaining a lexical method and a grammar analyzer of AltaRica3.0 by operating an ANTLR built-in method, and obtaining corresponding AST through a certain input AltaRica3.0 example.
And secondly, compiling an algorithm, traversing the AST, acquiring a node value of the AST, and performing flattening operation according to a flattening algorithm.
The flattening operation of the AltaRica3.0 hierarchical structure is a pure syntax operation, a main module Block is used as an entrance of the whole flattening process, and a plurality of blocks and a plurality of Class files respectively establish abstract syntax trees according to ANTLR. The flattening algorithm is named as an A2GTS algorithm, an AltaRica3.0 model file is divided, a main module Block and a sub-module Block of the AltaRica3.0 model file are found, all classes quoted by the main module Block are obtained, a plurality of 'alt' files are obtained, an ANTLR syntax parsing file of the AltaRica3.0 is combined, the 'alt' file serves as an input file of the A2GTS algorithm, AST of the main module Block is firstly analyzed, all classes quoted by the main module Block and sub-modules Block contained by the main module Block are determined, the affiliated relationship among the hierarchical files is obtained, then the same operation is carried out on the classes and the sub-modules Block, and the general idea of the A2GTS algorithm is that a continuous iteration process is carried out in the following steps 1) and 2).
1) The method comprises the steps of obtaining a main module Block as a program inlet of the whole flattening process, conducting layered traversal on a syntax tree of the main module Block, obtaining nested first-layer Class and sub-module Block files, storing quoted Class information into a corresponding map, using the quoted Class information as quoted hierarchical structure information of a next-step Class syntax tree, defining an indefinite-length character string s, adding a module name of the previous-layer Block into the character string s, wherein the character string s is a prefix identifier of the current Block, and storing flattened Block information into a flattened Block file B for storing the BlockflatAnd performing hierarchy traversal and depth traversal again, and repeating the operations until the deepest node is obtained. The specific algorithm pseudo code is shown in fig. 3.
2) Traversing the map according to the Class information quoted by the main module obtained in the step 1), automatically finding the AST file established corresponding to the Class file according to the Class name and the instance name stored in the map, determining the affiliation relationship of the Class, simultaneously obtaining the other Class file information quoted by the current Class file, storing the Class name and the instance name in the corresponding map, and repeating the process until the prefix identifiers of all classes are determined. The specific algorithm pseudo code is shown in fig. 4.
3) The method comprises the following steps of operating a flattened hierarchical file, wherein conversion information of the file comprises the three events: the relation of the normal event, the synchronous event and the hidden event is an inclusion relation, wherein the synchronous event and the hidden event comprise the normal event. In the AST formed by a flattened file, the main difference of the storage modes of the three events is the difference of the attribute information of the storage nodes, so that the types of the corresponding events can be directly obtained by the attributes of the nodes, the values (normal conversion events) stored by the nodes in the synchronous events and the hidden events are obtained, the AST is traversed according to the obtained values, the expressions and the instructions contained by the corresponding events are obtained, and the expressions and the instructions in the events are operated according to the synchronized flattening rule and the hidden flattening rule, so that the flattened synchronous events and the hidden events are obtained. The specific algorithm pseudo code is shown in fig. 5.
According to the steps of the present invention described above, the specific flattening steps are as follows:
1. to declaration element D, C in the master BlockE、TMAnd AMThe flattening operation is performed. Traverse the root node (master Block) of the recursion tree, according to the flattening rules, D, TMAnd AMCan be directly put into B without adding prefix identifiersflatIn (C)EAnd putting the class name into GetClassMap, wherein the class name is key, and the corresponding value is an array with an indefinite length and stores the instance name of the class which is quoted for multiple times. And performing operation in a sub-module Block, defining a data structure, putting the detailed information of the class referenced in the Block into GetClassMap, wherein the class name is used as a key, and since one class can be instantiated and used for multiple times, the value corresponding to one key stores different instantiation names of the same referenced class.
2. Determining each layer of sub-module BsThe prefix identifier of (2). Submodule B included in the main moduleS,BSAnd may further comprise BSThus, a recursive tree is formed, and the most important task is to determine the affiliation of the hierarchical structure, for example, Block b2 is contained in Block b1, and for all the components in b2, their names are predefined as "b 1. First, the AST hierarchy depth is recurred as a loop condition for each layer BSAnd operating, because the sub-modules can be nested in multiple layers, the instance name of each layer of Block can be used as the prefix identifier of the next layer of Block, the prefix identifier can be recorded layer by layer along with the increase of the nested structure and the depth of the tree, and the algorithm records by using a StringAppendBlockName ().
3. Declaration element D, C in submodule BlockE、TSAnd ASThe flattening operation is performed. In the iterative flattening process of the nested sub-modules, the FlattenIncludeBlock () is a recursive function and operates on all the sub-blocks. The prefix identifiers of the Block child nodes of the same Block root node are the same, and for each Block root nodeIts stringappedblockname () is unique and only works in this sub-tree. At this time, the prefix identifier of each sub-Block in each layer can be obtained, the prefix identifier is added to the declaration element D in the sub-Block by using an AddPrefix Identifier VarableAndEvent () method, and the AddPrefix Identifier transition () adds the prefix identifier to the T in each sub-BlockSA prefix identifier is added. AddPrefix IdentifierAssention () for A in each sub-moduleSAdding prefix identifier and adding the converted file to BflatIn (1). Then each layer BSInformation of the referenced class is added to the GetClassMap.
4. Flattening of the hierarchy of Class files. Acquiring all ASTs of the Class, firstly flattening the Block quoted in the Class according to the algorithm, secondly searching the AST with the same Class name and key and the corresponding value under the key according to the key of the GetClassMap acquired by the algorithm, and performing depth-first traversal on the AST to acquire all D, T and A in the corresponding Class; the addprefix identifier varableandevent () method adds a prefix identifier to declaration element D in a Class, the addprefix identifier transition () adds a prefix identifier to T in each Class, and the addprefix identifier rastertion () adds a prefix identifier to a in each Class.
And 5, obtaining the information of the referenced Class of each Class file. Traversing AST of the current Class to find C of the current ClassEInformation, repeating the process of the recursive function FlattenClass) until a Class which does not reference other classes is found, and ending the recursive process.
6. And taking out the normal event contained in the synchronous event. Go throughAccording to the attribute of the tree node, taking out the synchronous event, wherein the taken-out synchronous event comprises a normal event, namely [ a ] in the synchronous event e1,.....,an,b1,.....,bm]In this case, e, [ a ] can be directly coupled1,.....,an,b1,.....,bm]Is extended to a map mapping inDefined in the algorithm is mapFrandson used for storing the synchronous events and strong and weak synchronous events contained in the synchronous events.
7. And acquiring expression and instruction information contained in the normal event. Syntax tree pair by normal event contained in mapFrandsonAnd traversing again to obtain the contents of the strong and weak synchronous events, wherein the contents of the strong and weak synchronous events directly consist of expressions and instructions according to the definition of the conversion event, the nodes with the attributes of the expressions and the instructions are obtained, then traversing to the leaf nodes, obtaining the contained contents, and storing the contained contents into the mapSon.
8. And acquiring the flattened event. According to the flattening rule of synchronization, corresponding operations are carried out on expressions and instructions in the mapSon. The algorithm uses TranslateSchynRule () (synchronous flat rule function) to operate the content of mapSon, and the flattened result is put into mapAll. Traversing the contents of mapAll, merging the contents with the previous files (not including the synchronization events which are not flattened) subjected to hierarchical flattening to obtain corresponding flattened files, performing corresponding hiding operation according to rules of hide, and outputting the final flattened files after the flattening process is finished.
It should be noted that the terms "upper", "lower", "left", "right", "front", "back", etc. used in the present invention are for clarity of description only, and are not intended to limit the scope of the present invention, and the relative relationship between the terms and the terms is not limited by the technical contents of the essential changes.
The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above-mentioned embodiments, and all technical solutions belonging to the idea of the present invention belong to the protection scope of the present invention. It should be noted that modifications and embellishments within the scope of the invention may be made by those skilled in the art without departing from the principle of the invention.
Claims (4)
1. The transformation method for flattening AltaRica3.0 based on ANTLR is characterized by comprising the following steps:
writing an ANTLR grammar file of AltaRica3.0 to obtain a corresponding abstract grammar tree AST;
step two, compiling an algorithm, traversing the abstract syntax tree AST, acquiring a node value of the abstract syntax tree AST, and performing flat operation according to a flattening algorithm; in the second step, the flattening operation of the AltaRica3.0 hierarchical structure is a pure syntax operation, a main module Block is used as an inlet of the whole flattening process, and a plurality of blocks and a plurality of Class files respectively establish abstract syntax trees according to ANTLR; the flattening algorithm firstly divides an AltaRica3.0 model file, finds out a main module Block and sub-module blocks of the AltaRica3.0 model file and all classes quoted by the main module Block and the sub-module blocks, acquires a plurality of 'alt' files, combines an ANTLR syntax parsing file of the AltaRica3.0, and takes the 'alt' file as an input file of the flattening algorithm, firstly analyzes an abstract syntax tree AST of the main module Block, determines all classes quoted by the main module Block and sub-module blocks contained by the classes, acquires the affiliated relationship between hierarchical files, and then carries out the same operation on the classes and the sub-module blocks.
2. The ANTLR-based transformation method for flattening of AltaRica3.0 according to claim 1, characterized in that: in the first step, an ANTLR grammar parsing file of AltaRica3.0 is constructed by utilizing the meta language of ANTLR through the grammar description file of AltaRica3.0, a lexical method and a grammar parser of AltaRica3.0 are obtained by operating the built-in method of ANTLR, and a corresponding abstract grammar AST tree is obtained by inputting an AltaRica3.0 example.
3. The ANTLR-based transformation method for flattening of AltaRica3.0 according to claim 1, characterized in that: in the second step, the flattening algorithm is a continuous iteration process performed in the following steps:
1) acquiring a main module Block as a program inlet of the whole flattening process, and dividing a syntax tree of the main module BlockThe method comprises the steps of traversing layers, acquiring nested first-layer Class and submodule Block files, storing quoted Class information into a corresponding map, serving as quote hierarchical structure information of a next-step Class syntax tree, defining a character string s with an indefinite length, adding a module name of a previous-layer Block into the character string s, wherein the character string s is a prefix identifier of the current Block, and storing Block flattened information into a flattened file B for storing the BlockflatPerforming hierarchy traversal and depth traversal again, and repeating the operations until the deepest node is obtained;
2) traversing the map according to the Class information quoted by the main module obtained in the step 1), automatically finding an abstract syntax tree AST file established corresponding to the Class file according to the Class name and the instance name stored in the map, determining the affiliation relationship of the Class, simultaneously obtaining the other Class file information quoted by the current Class file, storing the quoted other Class name and the instance name in the corresponding map, and repeating the process until all the Class prefix identifiers are determined.
4. The ANTLR-based AltaRica3.0 flattening transformation method of claim 3, wherein: in the second step, the flattened hierarchical file is operated, and the conversion information of the file comprises three events: normal events, synchronous events and hidden events, wherein the synchronous events and the hidden events comprise normal events; in an abstract syntax tree AST formed by a flattened file, the type of a corresponding event is directly obtained according to the attribute of a node, the value stored by the node in a synchronization event and a hidden event, namely a normal conversion event, is obtained, the abstract syntax tree AST is traversed according to the obtained value, an expression and an instruction contained in the corresponding event are obtained, and the expression and the instruction in the event are operated according to a synchronized flattening rule and a hidden flattening rule, so that the flattened synchronization event and the hidden event are obtained.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910158660.5A CN109857458B (en) | 2019-03-01 | 2019-03-01 | ANTLR-based AltaRica3.0 flattening transformation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910158660.5A CN109857458B (en) | 2019-03-01 | 2019-03-01 | ANTLR-based AltaRica3.0 flattening transformation method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857458A CN109857458A (en) | 2019-06-07 |
CN109857458B true CN109857458B (en) | 2021-04-27 |
Family
ID=66899719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910158660.5A Active CN109857458B (en) | 2019-03-01 | 2019-03-01 | ANTLR-based AltaRica3.0 flattening transformation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857458B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716819B (en) * | 2019-10-10 | 2020-11-20 | 江苏科技大学 | AltaRica-based system fault tree automatic generation method |
CN111984233B (en) * | 2020-08-03 | 2022-02-01 | 南京航空航天大学 | Class flattening method in AltaRica model |
CN112115615B (en) * | 2020-09-21 | 2024-10-15 | 南京航空航天大学 | SCR-oriented safety key system model conversion method, device and system |
CN116679934A (en) * | 2023-05-29 | 2023-09-01 | 中国人民解放军军事科学院系统工程研究院 | Model conversion method and system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808366A (en) * | 2016-03-14 | 2016-07-27 | 南京航空航天大学 | Four-variable model based system safety analysis method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285708B2 (en) * | 2008-10-21 | 2012-10-09 | Microsoft Corporation | Query submission pipeline using LINQ |
FR3047827A1 (en) * | 2016-02-12 | 2017-08-18 | Alstom Transp Tech | METHOD AND SYSTEM FOR RISK MANAGEMENT FOR A GROUND TRANSPORT SYSTEM |
CN105938502A (en) * | 2016-03-17 | 2016-09-14 | 南京航空航天大学 | Validation method for design of system security of AltaRica model |
CN106776295B (en) * | 2016-11-30 | 2020-09-22 | 北京广利核系统工程有限公司 | Software FMEA analysis method based on Altarica formal language |
-
2019
- 2019-03-01 CN CN201910158660.5A patent/CN109857458B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808366A (en) * | 2016-03-14 | 2016-07-27 | 南京航空航天大学 | Four-variable model based system safety analysis method |
Non-Patent Citations (2)
Title |
---|
Reliability Assessment of Phased-Mission Systems with AltaRica 3.0;Michel Batteux等;《2018 3rd International Conference on System Reliability and Safety (ICSRS)》;20181125;400-407 * |
基于四变量模型的系统安全性建模与分析方法;石娇洁;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20170331(第3期);C031-282 * |
Also Published As
Publication number | Publication date |
---|---|
CN109857458A (en) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857458B (en) | ANTLR-based AltaRica3.0 flattening transformation method | |
CN103164249B (en) | Extension mechanism for script compiler | |
CN109739494B (en) | Tree-LSTM-based API (application program interface) use code generation type recommendation method | |
Kutter et al. | Montages Specifications of Realistic Programming Languages. | |
Blanchette et al. | Friends with benefits: Implementing corecursion in foundational proof assistants | |
Thakkar et al. | Two for one: Querying property graph databases using SPARQL via gremlinator | |
Lee | Building environment rule and analysis (BERA) language | |
KR20010024576A (en) | Method for the generation of ISA simulators and assemblers from a machine description | |
CN105556504A (en) | Generating a logical representation from a physical flow | |
Gadducci et al. | A concurrent graph semantics for mobile ambients | |
CN111124422B (en) | EOS intelligent contract language conversion method based on abstract syntax tree | |
CN101162480A (en) | Schedule drawing automatic recognition and comprehend method | |
JP5600301B2 (en) | System representation and handling technology | |
Wang et al. | Learning Program Representations with a Tree-Structured Transformer | |
CN107341021B (en) | Software network representation, storage and retrieval method for large complex software with constraint logic attribute | |
Manna et al. | On the complexity of regular-grammars with integer attributes | |
CN115879868B (en) | Expert system and deep learning integrated intelligent contract security audit method | |
Dodds et al. | From hyperedge replacement to separation logic and back | |
Hu et al. | An ANTLR-based flattening framework for AltaRica 3.0 model | |
Agrawal et al. | Model based software engineering, graph grammars and graph transformations | |
Wang et al. | Demystifying What Code Summarization Models Learned | |
More | Compiler construction | |
Selonen et al. | Generating structured implementation schemes from UML sequence diagrams | |
Pavlatos et al. | Parallel hardware stochastic context-free parsers | |
Janicki | Utility Libraries for Traversing and Manipulating Tree-like Data Structures with Varying Schemas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |