CN104899037B - A kind of intrusive mood ash box assembling verification method based on model - Google Patents

A kind of intrusive mood ash box assembling verification method based on model Download PDF

Info

Publication number
CN104899037B
CN104899037B CN201510319556.1A CN201510319556A CN104899037B CN 104899037 B CN104899037 B CN 104899037B CN 201510319556 A CN201510319556 A CN 201510319556A CN 104899037 B CN104899037 B CN 104899037B
Authority
CN
China
Prior art keywords
component
assembling
abstract
interface
intrusive mood
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
Application number
CN201510319556.1A
Other languages
Chinese (zh)
Other versions
CN104899037A (en
Inventor
高洪皓
陈颖
田野
曾红卫
缪淮扣
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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201510319556.1A priority Critical patent/CN104899037B/en
Publication of CN104899037A publication Critical patent/CN104899037A/en
Application granted granted Critical
Publication of CN104899037B publication Critical patent/CN104899037B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a kind of intrusive mood ash box based on model to assemble verification method, belongs to technical field of software engineering, including step:1) flow scheme design:According to the service logic of software to be developed, the Work flow model being made of multiple abstract components is designed;2) instantiate:Retrieved according to the functional requirement of each abstract component in workflow and interface message in example component storehouse, and it is confirmed whether that there are matched single-instance component, if yes, the example component is then inserted into abstract component position, if it has not, then select multiple example components to be combined as composite component and invade to abstract component position;3) Property Verification:Configuration file caused by conversion instantiation, obtains being suitable for the Kripke structure scripts of model testing device NuSMV execution, and based on the correctness and security of the script verify component assembling process.Compared with prior art, the present invention has the advantages that to improve component-based software development efficiency.

Description

A kind of intrusive mood ash box assembling verification method based on model
Technical field
The present invention relates to a kind of software engineering technology, and verification is assembled more particularly, to a kind of intrusive mood ash box based on model Method.
Background technology
Component-based software development (Component-Based Software Development, CBSD) is software work The main trend of industry.Computer software framework be changed into by manual codes development mode reuse can independent operating, it is packed Component mode, it has the flexibility of higher.Due to multiplexing algorithm and software function, component-based software development greatly shortens The development progress of software systems, this method is to realize the optimal choosing of software project development especially in the case where funds are limited Select.
Component is to be packaged the module with specific function or code according to certain form.Component assembling is then ground Study carefully how the mechanism of assembled component, based on demand model, search suitable component integrated it is soft with rapid development system For the purpose of part.At present, component package technique is broadly divided into black box assemble method, and whitepack assemble method and ash box assemble three kinds of sides Method.But advantage and disadvantage are individually present:Black box assemble method need not realize that details has any understanding to component, it is not required that to structure Part is configured or changed, but the theory excessively realization of " application that ten thousand changes are assembled into constant component ", and practical application is difficult Degree is big.Black box assembling is described abstractly function, user can not be understood how component runs, lacks to black box component Credibility.Whitepack assemble method then requires all of component realizing that details is all shown, allow multiple user understand after again into Row assembling, and secondary modification can be carried out to component by application demand, but this method needs user to realizing details and specific requirements Have at fingertips, there is the limitation of application in terms of programmed readability and maintainability.And ash box assemble method between black box and Between whitepack, it realizes that user assembles demand by being used in mixed way composition mechanism come architecture system software, both flexible and efficient.Cause This, ash box assemble method is the research emphasis and difficult point of current component package technique.
In ash box assembling process, i.e., details is realized in the part that embody component, shows the part of module work(of component again Energy.In fact, component assembling operation it is more complicated, and assemble correctness and security it is difficult to ensure that.It is related to following two A main problem:
1) how to describe and express the assembling flow path of ash box assemblingDetails and partial function mould are realized including exposition Block.
2) how effectively ash box assembling to be verifiedInclude the correctness and security of component assembling.
In traditional assembling scene, the functional requirement of each assembling point sends component in the form of push is pushed away to component base Retrieval request, inquiry whether there is suitable component, while object instance component is inserted into assembling point in the form of pull is drawn Integrated.This mode is with clearly defined objective, group speed block.But in practical situations, there are the following problems:
1) due to lacking component Specification language, it is difficult to correctly, formally describe the component demand of push points;
2) since the number of components in component base is limited, it is difficult to retrieve the single component entity for meeting request exactly.
Therefore need set of system based on intrusive mood assembling mode, it is allowed to component is combined with full in an active manner The functional requirement of foot-eye assembling point.Either Atomic component or composite component, it passes through a kind of intrusion (intrusion) Mode is inserted into assembling point by force.Although intrusive mood assembling can make up the deficiency of conventional components assembling, equally exist Problem:
1) from the point of view of the source code level of details is realized, intrusive mood assembling will increase some dead codes or dangerous code;
2) from the point of view of the high-rise workflow of assembling, intrusive mood assembling is by some additional useless interfaces or threatens interface.
For these packing problems, on the one hand need to ensure the correctness of component interactive, i.e., for part, interactive interface In parameter, reference order etc. is compatible;On the other hand the component for needing to ensure combination is security, i.e., to overall Speech, there is no hiding threat, and there is no violate set demand.And supplementary means of the model testing as test, it is a kind of Property Verification method automate, based on Finite State Model, it passes through explicit state search or implicit fixed point meter Calculate and come whether detecting system model meets expected property, counter-example information is exported when model is unsatisfactory for property, i.e., is run counter in model The state mark of property.Based on this, the software that ash box assemble method of the Model Checking application verification based on intrusive mood is assembled, Can effectively verify component assembling process correctness and security, ensure the software qualitys of the software systems of Component- Based Development.
The content of the invention
It is an object of the present invention to overcome the above-mentioned drawbacks of the prior art and provide a kind of invading based on model Enter formula ash box assembling verification method.
The purpose of the present invention can be achieved through the following technical solutions:
A kind of intrusive mood ash box assembling verification method based on model, including step:
1) flow scheme design:According to the service logic of software to be developed, the workflow mould being made of multiple abstract components is designed Type;
2) instantiate:Examined according to the functional requirement of each abstract component in workflow and interface message in example component storehouse Rope, and be confirmed whether there are matched single-instance component, if it has, then it is in place that the example component is inserted into abstract component institute Put, if it has not, then selecting multiple example components to be combined as composite component and invading to abstract component position;
3) Property Verification:Configuration file caused by conversion instantiation, obtains being suitable for model testing device NuSMV execution Kripke structure scripts, and based on the correctness and security of the script verify component assembling process.
The building process in the example component storehouse includes step:
A1:Java applet, which is packaged, makes its componentization, addition assembling point, and parses program work(using reflection technology The functional based method of energy, and the interface message of assembling point;
A2:According to the interface message reflected, confirmation interface and interface parameters, including number of parameters, parameter name, Parameter type and reference order.
A3:The functional based method parsed is bound, produces call relation;
A4:Java applet after componentization is preserved in xml form, exports the package file of example component;
A5:Example component is saved in example component storehouse, establishes the index information of example component, while in package file Middle its relevant application field of mark, is used with providing during component assembling.
The step 1) specifically includes step:
11) assembled interface is created, according to the service logic drawing stream of software to be developed;
12) abstract component on designing workflows, and interface message and the functional requirement of abstract component are described.
13) in workflow, the member status of abstract component, including initial point, intermediate point, and terminating point are identified.
The process that single-instance component is inserted into abstract component position in the step 2) is specially:According to work Call relation is flowed, binds the interface parameters between the example component that the example component and adjacent abstract component instantiate, including Parameter name, parameter type, and reference order.
The multiple example components of selection are combined as composite component and invade to abstract component position in the step 2) During:
With field priority principle, the example component set for meeting current abstract component is provided using heuristic random algorithm, So that multiple example components are after combining, not only meet interface message, but also meet the requirement of field application;Or
With function priority principle, multiple cross-cutting example component set are provided using similarity calculating method so that more A example component after combining, not only meets interface message, but also meets the requirement of field application.
The step 3) specifically includes:
31) according to instantiation configuration information, corresponding configuration file is exported;
32) configuration file is converted, produces the Kripke structure scripts that can be used for model testing device NuSMV to perform;
33) examine whether assembled component meets correctness and security;
34) inspection is performed to structure script by performing model testing device NuSMV, whether assembling is judged according to inspection result Meet correctness and security.
The step 31) specifically includes step:
311) configuration file is created, writes the version number of configuration information wherein, and describes the title of assembled component And function;
312) part is defined according to the interface of configuration information, parses interface message, and the interface message that parsing is obtained is write The interface for entering the assembled component defines part;
313) according to the ordinal relation in workflow, concurrency relation, mutual exclusion order and choice relation, parse and for describing Call relation, is write the workflow defining part of the assembled component by component call relation.
314) it is marked to distinguish the relation between component, together using intrusive mood component of the deep search mode to every layer When mark assembling point lower floor's component between intrusion relation.
315) syntax check is carried out to configuration file, it is ensured that each abstract component is instantiated.
The step 32) specifically includes step:
321) according to the name information of the example component inside assembled component, the state set converted;
322) according to example component state, and the parameter information in interface message, obtain the atomic proposition of example component;
323) according to the call relation in workflow, it is converted into state transition relation;
324) script can verify that according to state set, atomic proposition and state transition relation, construction Kripke structures.
325) to can verify that script carries out syntax check, it is ensured that assembling grammer is correct.
The step 33) specifically includes step:
331) the interface parameters coverage criterion from interface message, examines the correctness of intrusive mood assembling;
332) examine whether assembled component has null interface not used;
333) from the angle of function migration covering, the security for examining intrusive mood to assemble;
334) examine whether assembled component is functional to there is not terminability.
The step 34) is specially:
Inspection is performed to structure script by performing model testing device NuSMV, and judges that component assembles according to inspection result Whether process meets correctness and security, if it has, then its configuration file is exported and is saved in component base, marks at the same time The function and application domain attribute of assembled component, if it has not, then performing prompting error message.
Compared with prior art, the present invention has the following advantages:
1) present invention extremely refers to when that can not find suitable single-instance component using by multiple example components combination intrusion Positioning is put, and can improve the development efficiency of software, and suitable solid memder can not be found when solving abstract component instantiation Problem.
2), application model inspection technology examines the configuration file of component assembling, such a to use Model Checking be real The purpose of existing Automated inspection ash box assembling rightness and security.
3) invasion procedure can increase the matching degree of invasion procedure using field and function as basic point.
Brief description of the drawings
Fig. 1 is the intrusive mood ash box assembling verification flow chart of the present invention;
The component mode of infection that Fig. 2 is the present invention represents figure;
Fig. 3 is the model example that lower floor's component invades upper strata component;
The component groups that Fig. 4 is the present invention shelve composition;
Fig. 5 is the component configuration file structure chart of the present invention;
Execution flow is examined in the assembling that Fig. 6 is the present invention.
Embodiment
The present invention is described in detail with specific embodiment below in conjunction with the accompanying drawings.The present embodiment is with technical solution of the present invention Premised on implemented, give detailed embodiment and specific operating process, but protection scope of the present invention is not limited to Following embodiments.
A kind of intrusive mood ash box assembling verification method based on model, as shown in Figure 1, first, being directed to using reflection technology Java executable programs are parsed, addition internal process logical AND assembling point, and add assembling point, are encapsulated into component base.Its Secondary, user is according to demand in visual interface design Abstract workflow.Then, for workflow, being retrieved in service library to expire The single-instance component of foot.If there is no the example component of satisfaction, then using algorithm by multiple example components according to certain Combined method invades assembling point.Abstract component instantiation the result is that obtain assembling configuration file.Then, configuration file is converted Obtain being suitable for the Kripke structure scripts of model testing device NuSMV execution.Inspection nature, inspection are produced according to different coverage criterions Test the correctness and security of component assembling.Finally, feedback user inspection result.
Wherein, the building process in example component storehouse includes step:
A1:Java applet, which is packaged, makes example componentization, addition assembling point, and using .class as suffix name can Perform the functional based method that code parses program function using reflection technology, and the interface message of assembling point;
A2:According to the interface message reflected, confirmation interface and interface parameters, including number of parameters, parameter name, Parameter type and reference order;
A3:On visualized graphs editing machine, the functional based method parsed is bound, produces call relation, specifically Including step:
A31:Instant example component is shown on visual editor, with solid line circular pattern element representation functional based method.
A32:Drag interface of the connecting line binding with tandem relation.
A33:Add other graphic elements and describe the component inside flow, with dashed circle represent functional entity be it is internal not Visible function.
A34:If front member can continue assembling extension, represented that the assembling of other components can be inserted into diamond shape Point.
A4:Java applet after componentization is preserved in xml form, and produces a description file using .des as suffix As example component package file;
A5:Example component is saved in example component storehouse, establishes the index information of example component, while in package file Middle its relevant application field of mark, is used with providing during component assembling.
Specifically, assembling verification method includes step:
1) flow scheme design:According to the service logic of software to be developed, the workflow mould being made of multiple abstract components is designed Type, specifically includes step:
11) assembled interface is created, according to the service logic drawing stream of software to be developed, is specially:In newly-built group Fill on interface, after being switched to the graphical edit pattern of workflow, according to assembling demand, dragging graphic element draws the work of assembling Stream;
12) abstract component on designing workflows, and interface message and the functional requirement of abstract component are described.
13) in workflow, the member status of abstract component, including initial point, intermediate point, and terminating point are identified.
14) using .wf as file suffixes name, Work flow model is preserved.
2) instantiate:Retrieved, and confirmed in storehouse according to the functional requirement of each abstract component in workflow and interface message With the presence or absence of matched single-instance component, if it has, then the example component is inserted into abstract component position, if It is no, then select multiple example components to be combined as composite component and invade to abstract component position, specifically include step:
21) assembling Scene case function interface is switched to, example component is screened, comprises the following steps that:
211) abstract component in workflow, the reading element requirement description from the component abstractdesription information are clicked on;
212) example component set is chosen according to member arts demand;
213) screening example component set is described according to member function;
214) the example component set of number of parameters is met according to data parameters number, screening;
215) the example component set of parameter type is met according to data parameters type, screening;
216) the example component set of reference order is met according to data parameters order, screening;
217) after performing step 211) to step 216), the component in example component set is ranked up.
22) it is confirmed whether there are matched single-instance component, if it has, then step 23) is performed, if it has not, then performing Step 24);
23) according to workflow call relation, bind between the component that the example component and adjacent abstract component instantiate Interface parameters, including parameter name, parameter type, and reference order comprise the following steps that:
231) in the attributes edit region of abstract component, the figure which being tied to where corresponding abstract component On the assembling point that shape element represents;
232) interface parameters between component, including parameter name are bound according to workflow call relation, parameter type, with And reference order;
233) when clicking on preservation instantiation assembling, whether inspection parameter type and reference order are set correctly.
24) with field priority principle, the example component collection for meeting current abstract component is provided using heuristic random algorithm Close so that example component is integrated under certain combination, not only meets interface message, but also meets the requirement of field application;Or
With function priority principle, multiple cross-cutting example component set are provided using similarity calculating method so that real Example component set not only meets interface message under the conditions of certain execution, but also meets the requirement of field application.
Fig. 2 gives the intrusive mood assemble method of four kinds of combination behaviors.The possible more than one of the sub- component of intrusion, intrusion Form is also had nothing in common with each other, and four kinds of relations are substantially existed between this little component:Selection, mutual exclusion, order, concurrently.Selection and mutual exclusion Between difference lies in selection can be that several components invade together, and the component of mutual exclusion to be one and only one meet condition is It can invade;Order represents that some components singly invade in order;Concurrency relation represents some sub- components in same a period of time Between put and invade together.C represents main member, I in Fig. 41…InRepresent the sub- component of intrusion.Select symbolization | | description, such as I1 ||I2||…||In;Mutual exclusion symbolization | description, such as I1|I2|…|In;Order use+description, such as I1+I2+…+In;And Hair uses<>Description, such as I1<>I2<>…<>In)。
Fig. 3 describes the data model of lower floor's component intrusion upper strata component.It is divided into from structure two layers:First layer is retouched Upper strata component a is stated, there are one for itPath, diamond-shaped area q3Represent the intrusion structure artificially designed Part;Relation between lower floor's component of second layer description intrusion, its sub- component b and c for choosing carry out that assembling point concurrently can be achieved q3Function.See on the whole, b and c are concurrently combined and invaded the assembling point q of main member a in a forced fashion3
The component groups that Fig. 4 is the present invention shelve composition.Ellipse represents the interface of component, and diamond shape represents point of entry, circular Represent function module, arrow represents component intrusion assembly orientation.Visualization layer Visual Application show workflow The flow of Workflow;Instantiate layer Concretization Level assembling example components;Components layer Component Level Member function is then described;Unified structure element storehouse UCR stores example component collection.The relation between component is described to stratification, is formalized Expression component intrusion is associated with being broken into component interactive;Bottom is components layer, and the component mode of infection can be passed through by being combined between component Form frame.Final visualized graphs file is made of several frames.Interface is supported to interact between each component.In structure In part internal process, assembling point is reserved and has been used for the combination of component intrusive mood, be known as external connection mouth.Layering is embodied by external connection mouth to think Think, represent in component is layered, for upper strata component when by lower floor's component intrusion, lower floor invades component by being participated in external connection mouth The interaction of layer component.Main member is top, and the application of bottom is inserted into component layer by layer in a manner of invading, therefore more bottom bag The content contained more refines.
25) it is assembling point identification assembled state attribute, comprises the following steps that:
251) node for the abstract component instantiation completed for step 23), identification-state is insertion point.
252) node for the abstract component instantiation completed for step 24), identification-state is point of entry, and the node is used Diamond shape represents.
253) if step 24) can not still find suitable example component (collection), then allow in the insertion of assembling point by hand The specific implementation code write.
26) if the example component of insertion assembling point also includes other assembling points, return and perform step 21) so that group Abstract component and assembling point in dress scene are fully completed instantiation operation.
3) Property Verification:Configuration file caused by conversion instantiation, obtains being suitable for model testing device NuSMV execution Kripke structure scripts, and based on the correctness and security of the structure script verify component assembling process for obtaining band, specifically include Step:
31) according to instantiation configuration information, corresponding configuration file is exported, specifically includes step:
311) configuration file is created, writes the version number of configuration information wherein, and describes the title of assembled component And function;
312) part is defined according to the interface of configuration information, parses interface message, and these information are write into the assembling structure The interface of part defines part;
313) according to the ordinal relation in workflow, concurrency relation, mutual exclusion order and choice relation, parse and for describing Call relation, is write the workflow defining part of the assembled component by component call relation;
314) it is marked to distinguish the relation between component, together using intrusive mood component of the deep search mode to every layer When mark assembling point lower floor's component between intrusion relation;
315) syntax check is carried out to configuration file, it is ensured that each abstract component is instantiated.
Fig. 5 gives the configuration file structure chart of a description component, the structure for supporting visualization ash box assembling process to be related to The XML configuration file of the graphical frame of part, for describing component input/output, and intrusive mood assembling verification.Following code institute Show, give the Schema patterns of component.
The definition of two parts is broadly divided into, Part I is the definition on component interface, and Part II is on structure The definition of part workflow.
Defined in interface:
<xs:Element name=" Interface " type=" xs:String " maxOccurs=" unbounded " >…</xs:element>Part, the corresponding label interpretation of above XML file are as shown in table 1:
Table 1:
In the definition of component workflow:
<xs:Element name=" Workflow " type=" xs:string”>…</xs:element>Part, with The corresponding label interpretation of upper XML file is as shown in table 2:
Table 2
32) configuration file is converted, produces the Kripke structure scripts that can be used for model testing device NuSMV to perform, specific bag Include step:
321) according to the name information of the example component inside assembled component, the state set converted;
322) according to example component state, and the parameter information in interface message, obtain the atomic proposition of example component;
323) according to the call relation in workflow, it is converted into state transition relation;
324) script can verify that according to state set, atomic proposition and state transition relation, construction Kripke structures;
325) to can verify that script carries out syntax check, it is ensured that assembling grammer is correct.
33) examine whether assembled component meets correctness and security, specifically include step:
331) the interface parameters coverage criterion from interface message, using temporal logic AG (p) property checking intrusive moods The correctness of assembling;
332) examine whether assembled component has null interface not used using order deadlock;
333) from the angle of function migration covering, the peace assembled using temporal logic AF (p) property checkings intrusive mood Quan Xing;
334) examine whether assembled component is functional to there is not terminability using order livelock.
34) inspection is performed to structure script by performing model testing device NuSMV, comprised the following steps that:
341) script of Kripke structures is input in model testing NuSMV;
342) input whether the target inspection nature (collection) for examining that 33) step obtains can meet;
342) model testing device NuSMV is performed, and checks implementing result.
35) judge whether assembling meets that correctness and security are specially according to inspection result:By performing model testing Device NuSMV performs structure script inspection, and judges whether component assembling process meets correctness and safety according to inspection result Property, if it has, then its configuration file is exported and is saved in component base, while mark the function and application field of assembled component Attribute, if it has not, then performing prompting error message.
Fig. 6 is that execution flow is examined in the present embodiment assembling.It can receive in order to which configuration file is converted into model testing device Feasible execution file, it is necessary to which configuration file is parsed and carries out Formal Modeling and verification.Comprise the following steps that:
S1:Formal definitions component configuration file, mapping XML label make it to be understood by machine.Comprise the following steps that:
S11:Definition component is five-tuple IC=(CN, FD, CD, I, W), and wherein CN represents component name, and FD describes component Function, CD describes the affiliated application field of component, and I represents the set of component interface, and W represents the collection of component inside flow behavior Close.
Wherein CN and XML tag Compoment_Name carries out mapping association, FD and XML tag Functional_ Description carries out mapping association, and CD and XML tag Compoment_Domain carries out mapping association, I and XML tag Interface carries out mapping association, and W and XML tag Workflow carries out mapping association.
S12:Defining interface is triple I=(IN, ID, IA), and wherein IN represents interface name, and ID describes the work(of interface Can, IA describes interface attributes set.
Wherein IN and XML tag Interface_Name carries out mapping association, ID and XML tag Interface_ Description carries out mapping association, and IA and XML tag Interface_Attribute carries out mapping association.
S13:Defining interface attribute is three pleasure trip on foot IA=(AN, AT, ANU), and wherein AN represents interface attributes, AT ∈ { String, Int, Char, Array, Float, Double, Boolean, Map, Byte } represents interface type, and ANU is indicated whether It can be sky.
Wherein AN and XML tag Attribute_Name carry out mapping association, AT and XML tag Attribute_Type into Row mapping association, ANU and XML tag Attribute_Nullable carry out mapping association.
S14:It is triple W=(SN, ST, AT) to define component inside flow, and wherein SN is flow state title, ST ∈ { Star, End, Inherent, Insert_Port, Intrusion_Port } is Status Type, and AT is transition relationship set.
Wherein SN and XML tag State_Name carries out mapping association, and ST and XML tag State_Type carries out mapping pass Connection, AT and XML tag Action_To carry out mapping association.
S15:Definition transition relationship is two tuple AT=(ATP, GC), and wherein ATP is to defend formula condition, and GC is Status Name.
Wherein ATP and XML tag Action_Type carry out mapping association, GC and XML tag Guard_Condition into Row mapping association.
S2:According to formal definitions, configuration file is parsed using following algorithm, mainly includes interface analytical algorithm With workflow analytical algorithm, the former user's obtain component interface essential information, the latter, which is used to parsing workflow, to be obtained meeting model The Kripke structure scripts of verifier syntax rule.Comprise the following steps that:
S21:According to following arithmetic analysis component interface.The algorithm is used as input, output link interface message using component IC. Wherein, set MapI_NameRepresent the interface name preserved, parsed for interface parameters, including set MultiHashMapI_NameRepresent to preserve multiple interface parameters names, set MultiHashMapA_TypeRepresent to preserve multiple interfaces Parameter type, set MultiHashMapI_NullableRepresent to preserve whether multiple interface parameters can be sky.
S22:Define targeted transformation formalized model.In order to which implementation model is examined, it is necessary to which assembling configuration file is converted into State transition system Kripke structures describe its behavior M=(S, I, AP, L, T), wherein
1st, S is limited state set, each state is defended formula condition with it by the component in assembling and formed.
2、It is original state collection.
3rd, AP is the atomic proposition of flag state, is determined by Interface status type.
4、It is transition relationship collection.
5、L:S → 2AP is status indication function, and L (s) represents the promising genuine atomic proposition collection of lower of state s.
S23:According to following arithmetic analysis component workflow, it is set to be converted into Kripke structures.Configuration text is assembled to ash box Part carries out the corresponding Kripke structures script of analytic construction.The algorithm is with component high level ICmAs input, output state migration system System.Wherein, the title and type of set SN (w) and ST (w) parsings workflow, and iteratively parse interface when interface is not empty Action_To is acted with tectonic transport transforming relationship.
S3:Inspection nature is produced according to coverage criterion.Comprise the following steps that:
S31:From interface parameters coverage criterion, using the correct of temporal logic AG (p) property checkings intrusive mood assembling Property.
S32:Examine whether assembled component has null interface not used using order deadlock.
S33:From the angle of function migration covering, the peace assembled using temporal logic AF (p) property checkings intrusive mood Quan Xing.
S34:Examine whether assembled component is functional to there is not terminability using order livelock.
S4:Assembling script after conversion and inspection nature are input in model testing NuSMV, perform model testing device NuSMV.Judge whether assembling meets correctness and security according to inspection result.

Claims (10)

1. a kind of intrusive mood ash box assembling verification method based on model, it is characterised in that including step:
1) flow scheme design:According to the service logic of software to be developed, the Work flow model being made of multiple abstract components is designed;
2) instantiate:Retrieved according to the functional requirement of each abstract component in workflow and interface message in example component storehouse, and It is confirmed whether there are matched single-instance component, if it has, then the example component is inserted into abstract component position, if It is no, then selects multiple example components to be combined as composite component and invade to abstract component position;
3) Property Verification:Configuration file caused by conversion instantiation, obtains being suitable for model testing device NuSMV execution Kripke structure scripts, and based on the correctness and security of the script verify component assembling process.
2. a kind of intrusive mood ash box assembling verification method based on model according to claim 1, it is characterised in that described The building process in example component storehouse includes step:
A1:Java applet, which is packaged, makes its componentization, addition assembling point, and parses program function using reflection technology Functional based method, and the interface message of assembling point;
A2:According to the interface message reflected, interface and interface parameters, including number of parameters, parameter name, parameter are confirmed Type and reference order;
A3:The functional based method parsed is bound, produces call relation;
A4:Java applet after componentization is preserved in xml form, exports the package file of example component;
A5:Example component is saved in example component storehouse, establishes the index information of example component, while get the bid in package file Know its relevant application field, used with providing during component assembling.
3. a kind of intrusive mood ash box assembling verification method based on model according to claim 1, it is characterised in that described Step 1) specifically includes step:
11) assembled interface is created, according to the service logic drawing stream of software to be developed;
12) abstract component on designing workflows, and interface message and the functional requirement of abstract component are described;
13) in workflow, the member status of abstract component, including initial point, intermediate point, and terminating point are identified.
4. a kind of intrusive mood ash box assembling verification method based on model according to claim 1, it is characterised in that described The process that single-instance component is inserted into abstract component position in step 2) is specially:According to workflow call relation, The interface parameters between the example component that the example component and adjacent abstract component instantiate, including parameter name are bound, is joined Several classes of types, and reference order.
5. a kind of intrusive mood ash box assembling verification method based on model according to claim 1, it is characterised in that described During the multiple example components of selection are combined as composite component and invade to abstract component position in step 2):
With field priority principle, the example component set for meeting current abstract component is provided using heuristic random algorithm so that Multiple example components after combining, not only meet interface message, but also meet the requirement of field application;Or
With function priority principle, multiple cross-cutting example component set are provided using similarity calculating method so that Duo Geshi Example component after combining, not only meets interface message, but also meets the requirement of field application.
6. a kind of intrusive mood ash box assembling verification method based on model according to claim 3, it is characterised in that described Step 3) specifically includes:
31) according to instantiation configuration information, corresponding configuration file is exported;
32) configuration file is converted, produces the Kripke structure scripts that can be used for model testing device NuSMV to perform;
33) examine whether assembled component meets correctness and security;
34) inspection is performed to structure script by performing model testing device NuSMV, judges whether assembling meets according to inspection result Correctness and security.
7. a kind of intrusive mood ash box assembling verification method based on model according to claim 6, it is characterised in that described Step 31) specifically includes step:
311) configuration file is created, writes the version number of configuration information wherein, and describes the title and work(of assembled component Energy;
312) part is defined according to the interface of configuration information, parses interface message, and the interface message write-in that parsing is obtained should The interface of assembled component defines part;
313) according to the ordinal relation in workflow, concurrency relation, mutual exclusion order and choice relation, parse and for describing component Call relation, is write the workflow defining part of the assembled component by call relation;
314) it is marked using intrusive mood component of the deep search mode to every layer to distinguish the relation between component, same to markers Intrusion relation between note assembling point and lower floor's component;
315) syntax check is carried out to configuration file, it is ensured that each abstract component is instantiated.
8. a kind of intrusive mood ash box assembling verification method based on model according to claim 6, it is characterised in that described Step 32) specifically includes step:
321) according to the name information of assembled component internal instance component, the state set converted;
322) according to example component state, and the parameter information in interface message, obtain the atomic proposition of example component;
323) according to the call relation in workflow, it is converted into state transition relation;
324) script can verify that according to state set, atomic proposition and state transition relation, construction Kripke structures;
325) to can verify that script carries out syntax check, it is ensured that assembling grammer is correct.
9. a kind of intrusive mood ash box assembling verification method based on model according to claim 6, it is characterised in that described Step 33) specifically includes step:
331) the interface parameters coverage criterion from interface message, examines the correctness of intrusive mood assembling;
332) examine whether assembled component has null interface not used;
333) from the angle of function migration covering, the security for examining intrusive mood to assemble;
334) examine whether assembled component is functional to there is not terminability.
A kind of 10. intrusive mood ash box assembling verification method based on model according to claim 6, it is characterised in that institute Stating step 34) is specially:
Inspection is performed to structure script by performing model testing device NuSMV, and component assembling process is judged according to inspection result Whether meet correctness and security, if it has, then its configuration file is exported and is saved in component base, while mark assembling The function and application domain attribute of component, if it has not, then performing prompting error message.
CN201510319556.1A 2015-06-11 2015-06-11 A kind of intrusive mood ash box assembling verification method based on model Active CN104899037B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510319556.1A CN104899037B (en) 2015-06-11 2015-06-11 A kind of intrusive mood ash box assembling verification method based on model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510319556.1A CN104899037B (en) 2015-06-11 2015-06-11 A kind of intrusive mood ash box assembling verification method based on model

Publications (2)

Publication Number Publication Date
CN104899037A CN104899037A (en) 2015-09-09
CN104899037B true CN104899037B (en) 2018-05-01

Family

ID=54031715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510319556.1A Active CN104899037B (en) 2015-06-11 2015-06-11 A kind of intrusive mood ash box assembling verification method based on model

Country Status (1)

Country Link
CN (1) CN104899037B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607902A (en) * 2015-12-16 2016-05-25 苏州同元软控信息技术有限公司 Component model based system visualization design and code generation system and method
WO2019033400A1 (en) * 2017-08-18 2019-02-21 深圳怡化电脑股份有限公司 Service software development method and apparatus
CN108228182A (en) * 2018-01-12 2018-06-29 成都淞幸科技有限责任公司 A kind of page assembling of Component- Based Development and operation method
CN109165351B (en) * 2018-08-27 2021-11-26 成都信息工程大学 Service component search recommendation method based on semantics
CN109711710A (en) * 2018-12-24 2019-05-03 浙江蓝卓工业互联网信息技术有限公司 The sort method and device of component in a kind of Data Analysis Model
CN111427785B (en) * 2020-03-24 2023-08-18 北京金山云网络技术有限公司 Formalized task verification method, formalized task verification device, electronic equipment and computer readable medium
CN116304225B (en) * 2023-03-22 2024-05-17 联洋国融(上海)科技有限公司 Component retrieval and evaluation method based on MAS system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158894A (en) * 2006-10-08 2008-04-09 上海科泰世纪科技有限公司 Dynamically automatic adapting programming system and method in modular soft software system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158894A (en) * 2006-10-08 2008-04-09 上海科泰世纪科技有限公司 Dynamically automatic adapting programming system and method in modular soft software system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《一种基于流程模型的构件组装方法》;邢莹等;《计算机与网络》;20150430;第2015年卷(第8期);第41-44页 *
《基于软构件的应用系统组装研究》;曾鸿;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20070315;第2007年卷(第3期);I138-90 *

Also Published As

Publication number Publication date
CN104899037A (en) 2015-09-09

Similar Documents

Publication Publication Date Title
CN104899037B (en) A kind of intrusive mood ash box assembling verification method based on model
Bergmann et al. A graph query language for EMF models
US8959481B2 (en) Determining system level dependencies
US11662998B2 (en) Detecting duplicated code patterns in visual programming language code instances
Li et al. Business-process-driven gray-box SOA testing
Miller et al. A case study in model‐based testing of specifications and implementations
Thiagarajan et al. Awas: AADL information flow and error propagation analysis framework
Lakshmanan et al. A business centric end-to-end monitoring approach for service composites
US20100162213A1 (en) System and method for message choreographies of services
WO2005010749A2 (en) Designing computer programs
Lochmann et al. An integrated view on modeling with multiple domain-specific languages
Angulo et al. An approach for creating kdm2psm transformation engines in adm context: The rute-k2j case
Kherbouche et al. An operationalized transformation for activity diagram into YAWL
Subahi et al. A New Framework for Classifying Information Systems Modelling Languages.
Barbosa et al. Checking semantics equivalence of mda transformations in concurrent systems.
Sunitha et al. Enhancing UML activity diagrams using OCL
Favre A formal foundation for metamodeling
Behnam Goal-oriented Pattern Family Framework for Business Process Modeling
Yang et al. Painting flowers: Reasons for using single-state state machines in model-driven engineering
Drago Quality driven model transformations for feedback provisioning
Najumudheen et al. Test coverage analysis based on an object‐oriented program model
Zhang et al. Aspect interference and composition in the motorola aspect-oriented modeling weaver
Hammouda A tool infrastructure for model-driven development using aspectual patterns
Schiewe Bridging the gap between source code and high-level concepts in static code analysis: student research abstract
Mani A configuration-based domain-specific rule generation framework for process model customization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant