CN102270130A - Formal description method for adaptive software architecture during operation - Google Patents

Formal description method for adaptive software architecture during operation Download PDF

Info

Publication number
CN102270130A
CN102270130A CN201110175267A CN201110175267A CN102270130A CN 102270130 A CN102270130 A CN 102270130A CN 201110175267 A CN201110175267 A CN 201110175267A CN 201110175267 A CN201110175267 A CN 201110175267A CN 102270130 A CN102270130 A CN 102270130A
Authority
CN
China
Prior art keywords
sam
self
overbar
architecture
port
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.)
Pending
Application number
CN201110175267A
Other languages
Chinese (zh)
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.)
Zhejiang Industry Polytechnic College
Original Assignee
Zhejiang Industry Polytechnic College
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 Zhejiang Industry Polytechnic College filed Critical Zhejiang Industry Polytechnic College
Priority to CN201110175267A priority Critical patent/CN102270130A/en
Publication of CN102270130A publication Critical patent/CN102270130A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention discloses a formal description method for adaptive software architecture during operation. The formal description method comprises the following steps of: (1) describing the adaptive software architecture framework and setting a formally described architecture framework, wherein the framework comprises components, a connecting element and architecture configuration; (2) building an adaptive component model based on Agent internetware, and forming the internal part of the adaptive component by using a computing module which finishes calculation action and an adaptive model which finishes dynamic action in a manner of using the adaptive component as a component in the internetware; (3) formally describing various mental attitudes of the adaptive component in sequence, and providing formal definition of an atomic component and the connecting element; and (4) finishing appointed definition of the calculation action and dynamic action of the adaptive component, providing the corresponding relation of pi calculation thereof, and then dynamically reasoning the architecture action according to the performability and embedded background debug interface (EBDI) of the Pi calculation. The formal description method for adaptive software architecture during operation has performability, reasonability and legibility.

Description

A kind of formalized description method of runtime adaptable software architecture
Technical field
The present invention relates to the modeling technique of software, the formalized description method of software architecture during especially a kind of the operation.
Background technology
Formalization method also usefulness wider in based on the research of component software system design, a class are the direct general formal approach description architecture of utilization, and another kind of is to propose special architecture description language description architecture.
1, general formal approach description architecture
Use general formalization method that the software architecture specification is described, occurred many research work in recent years.The work of this respect at present roughly is divided into four classes:
(1) based on the method for model
Formalization method based on model is by making up the standard of a mathematics model supports system, providing the explicit operation of the state and the state transformation of system.Usually, the state of a system of a specification description and the operation on the state thereof, and the relation of description and next state.Therefore, specific mathematic(al) object (as data structure, relation or function) structurally is similar to the computer software demand of detailed description, the semanteme of these language is based on set theory, in the whole design process and realization of system, the mathematic(al) object of appointment is adjustable under the essential characteristic situation that keeps initial specifications.The representative of such specification normative language is: Vienna Development Method (VDM) and Z notion.Though the normalized illustration of a system can be constructed exactly in the VDM language, it does not support OO system development method.In order to obtain the advantage of object-oriented development methodology, VDM is expanded.VDM++ be VDM in conjunction with the object-oriented conception expansion, it has comprised variable continuous time, has expanded statement, the type of class on the VDM basis, increased dynamically and and be distributed as, comprise the mechanism of real-time property, can be used to describe concurrent and real-time system.Z is a kind of formal Specification descriptive language and the development approach that is proposed by Oxford university programming study group (PRG) eighties in 20th century.The combination of Z and object-oriented method typically has Object-Z, Z++.The former gets up state and operation encapsulation, carries out modularization as class, introduces OO key concept.Introduced the semanteme of object reference among the latter Z++.VDM and Z are the methods that adopts towards model, focus in the description of abstract data type, and abstract data type is described by axiom, and these axioms have defined the relation between the operation on the abstract data type.
Based on the formalization method of model mainly is description and analytical approach based on formal language, and they have strict definition, and can use for reference analytical technology perfect in the formal language.Can utilize the formalization checking of the theorem proving or the abbreviation execution of instrument system of standard logic.But these class methods have certain limitation.The Z notion is based upon on the Fundamentals of Mathematics of set theory and first order logic, and itself has ripe formalization representation system, and pattern can be expressed the notion of class very naturally.But also there is certain difficulty in the concurrent problem of Z conceptual description heterogeneous system, and VDM also falls into same category inevitably.
(2) method of logic-based
The method of logic-based is mainly used the characteristic of logical description system, comprises the rudimentary standard of program behavior and the standard of system time behavior.In the distributed system formalization analysis, logical model inspection method commonly used mainly contains: people such as people's such as P.Wolper method, K.Heljanko based on the logic of modality based on people such as the method for calculating tree logic CTL (Computation Tree Logic), domestic professor Tang Zhisong based on the method for sequential logic XYZ/E etc.People such as Fisher have defined description and the checking that a kind of sequential logic of faith TBL is used for the distributed multi-agent system.This method of TBL is compared with other formalization methods, has terseness aspect the definition logical language semanteme, and is having stronger inference function.The time preamble section of TBL is suitable for the analog response system.TBL can be used for analysis verification distributed system and other and have the system of synergetic structure.People such as Hirai have proposed to use proposition sequential linear logic simplation verification Real-time and Concurrent system.He is incorporated into the notion of time in the linear logic, and is called the sequential linear logic.The Reachability question that has provided Time Petri Nets simultaneously is equivalent to the vindicability problem of corresponding sequential linear logic sequent, and the prejudgementing character problem of accessibility in the sequential linear logic system has been discussed.In addition, use the sequential linear logic and described synchronous communication system.The sequential linear logic also can be used for the description and the checking of distributed system.
The common feature of the system description method of logic-based is for the description of distributed system and character proof provides a kind of compact way, and has strict inference mechanism.But because they all need system is carried out high-level abstractions, its range of application is subjected to certain restriction.As the general type method, they are handled at systems operational mechanism, can not embody the physical arrangement of system well.
(3) method of calculating based on process
Method based on the process calculation is to provide the concurrent behavior model of system, and represent behavior by the communication constraint of process, normally a kind of simple language of its core, transition system by tape label provides its operational semantics, when realization and specification are all used this language description, the behavior equivalence has been set up contact between the two, and the compound convenience that provides of system verification and derivation then is provided the behavior equivalence.The basic characteristics of process calculation are to have set up the potential uncertainty models of concurrent system.Communicating sequetial process CSP (Communication Sequentialprocesses, CSP), calculus of communicating systems CCS (Caleulus of Communicating Systems, CCS), π calculation etc. is the representative of process calculation method, be widely used in the specification and the checking of concurrent system, particularly communication protocol field.CSP is the thought basis of a lot of concurrent distributed languages, is a key concept arrangement to concurrent programming language, and it can regard a kind of injunctive programming language as.Calculus of communicating systems CCS can see a kind of functional program design language that is based upon on the minimum primitive collection as.Two kinds of models of CSP and CCS are all based on identical starting point, they are all with the basic building block of process as tectonic system, think that a system is combined by variety of way (select, compound, hiding etc.) by some process members, and the system of new formation can be used as a process member and is used to construct bigger, more complicated system.
The π calculation grows up on the CCS model, its maximum characteristics are between the permission process channel name to be transmitted as value, thereby but the concurrent system of communication topology structure dynamic change can be described, but π calculation descriptive system is very abstract, therefore, compare other formalization methods, the process calculation method may can not provide logical formula and proof than indigestibility and grasp for the personnel that realize exploitation.
2, special architecture description language aspect
At present, the ADLs that has certain influence power abroad has: Aesop, ACME, Rapide, C2, Darwin, SADL, UniCon and Wright.Aspect ADL, also do not form consistent viewpoint at present, therefore various ADL focus and research method all have bigger difference, for example Wright mainly describes the semanteme of connecting relation, and Rapide more pays close attention to component interface and behavior modeling analysis, further, even between the approaching formalization language of principle, form stipulations, module interconnects, program language are also not necessarily identical.
(1) Aesop:Aesop is an environment of support system structure style design.The vocabulary that this language adopts the object-oriented type framework and provides architecture to describe.Fundamental type in architecture (metaclass) has: " assembly ", " web member ", " port ", " role ", " configuration " and " binding ".Definitions component type if desired then needs this is defined as the subclass of " assembly " type.This architecture description language provides the design space of Architecture style, but the support of semantic aspect is not provided.
(2) purpose of ACME:ACME is to extract the common ground of many ADL, and such as system component and the corresponding relation between them, with this basis in return, meanwhile, also allowing increases some relevant informations, as supplementary.Current ACME is perfect relatively on grammer, but also has bigger limitation semantically.Though ACME occurs with the identity of language and since it pay close attention to be the ADL general character, so belong to job family.
(3) Rapide:Rapide is kind of an executable ADL, by definition and Simulation execution based on the distributed concurrent system of the behavior modeling of incident.Partial ordering set descriptive system behavior based on incident.The Event triggered member that member receives calculates, and produces dependent event and sends other member to according to result of calculation simultaneously, and trigger the calculating of associated components.Rapide pays close attention to the quick foundation of prototype, based on incident, concurrent, object-oriented language.The execution result of this model is an event sets, and the incident of the inside satisfies specific time sequence or cause-effect relationship.Its advantage is to provide multiple assistant analysis instrument.Analytical model is whether the incident that detects in certain specific simulation process has violated above-mentioned order relation.This model is only based on the interface definition architecture, the next stage in exploitation considers to utilize the member docking port with specific behavior to replace again, this shows, the developer can use new member in architecture, as long as this new structural member meets the interface of stipulating previously.
(4) C2: by the architecture description language of exploitations such as Richard N.Taylor.C2 is based on message, and the initial target that proposes is for being fit to describe the architecture of graphic user interface software.Component model is divided into two ends up and down, is responsible for message respectively and sends and receive, and its connection mechanism is a messaging bus, realizes filtration and forwarding to message.The ADL of this model provides the grammatical markers symbol of architecture stipulations, does not provide corresponding semantic stipulations, not support system structure style stipulations and analysis.
(5) Darwin: this architecture description language is by Magee and Kramer exploitation.It defines element type by interface, and interface mainly is divided into interface that service is provided and the interface of asking service, sets up the binding that provides between service interface and the request service interface simultaneously by system configuration definition member example.Provide in the model and postpone instantiation and the directly dynamic evolution of two kinds of technical support softwares of dynamic instanceization.This model adopts the π calculation that the semanteme of system architecture stipulations is provided, and the service that member provides shows the word of running after fame, and binding shows as process, and it transmits this service name in the member of this service of request.The developer of this model adopts this semantic model analysis to realize the distributed algorithm of Darwin configuration.But the character of any method and technology portrayal member and related service thereof is not provided in this model, and the semanteme of this model service type is realized by underlying platform, not relevant semantic interpretation.The notion of explicit web member is not provided in this model yet.Request link model in the Darwin is only supported asymmetrical interactive mode, can not be independent of member and carry out associated description.When definition system structure style, need its interaction models of definition, the definition of member is finished by architecture teacher, so its good support system structure style stipulations.This model adopts parametrization configuration mode descriptive system stipulations, and there is limitation too in this respect, well support system structure style.
(6) SADL: this model has proposed to guarantee the architecture of correctness and the property capable of being combined schema concept of refining, and the example of the pattern of refining in this model can be guaranteed the correctness of refinement procedure.Adopt this method can reduce architecture Design process mistake effectively, and can extensively, systematically realize multiplexing to the knowledge of design field and correctness proof process.Because the prerequisite of this model work is assumed to be: large complicated software system architecture is that the architecture by one group of relevant stratification is described, it is on the middle and senior level to be the abstract of low layer, low layer is high-rise refining, and has the member and the web member of variety classes and quantity in model.If this stratification and structure lack regular describing method, then refinement procedure is just made mistakes easily, the theoretical solution similar problem that needs equally of the abstract state machine of being mentioned in this article.
(7) Unicon: this model has an executable configuration tool, and a High Level Architecture design compiler is provided simultaneously, supports the combination of heterogeneous component and the web member type that some is special.Member and web member all have interface, and from higher abstraction hierarchy, they all belong to member, and wherein member has another name called " performer " (Player), and web member can be called " role " (Role), by configuration they is interconnected.But the extendability of this model is bad, and it is cumbersome that the inside increases new web member type, and it does not support the description architecture style.
(8) Wright: this architecture description language is developed by people such as Robert Allen.The formal semantics basis of this model is communicating sequetial process CSP.It has the similar stipulations framework with Unicon, promptly from member, web member and three angles of configuration architecture is portrayed.Different is with Unicon, and it is towards realization, but in high abstraction hierarchy description architecture.This model adopts CSP and to the expansion that it is correlated with, and the behavior that is used for portraying the member port reaches the calculating behavior alternately, describes interaction protocol and role's stipulations of web member.Therefore, it provides explicit, independently web member stipulations and the stipulations of supporting any complicated web member.This model connects between corresponding role and port by definition web member and member example, realizes system configuration, and deriving on the basis of this system configuration simultaneously draws the CSP process of this system configuration behavior of description.Realize the stratification structure of system by binding mechanism.The prominent feature of this model is not only to support the stipulations and the analysis of individual system architecture, also support system structure style stipulations and correlation analysis, and more preferably the stipulations of product family and production provide support.
Aspect architecture description language, domestic research field also proposes several more representational descriptive languages, as seating surface to the ABC/ADL of component software development approach, based on framework and actor model architecture specification language FRADL, based on the JB/ADL of level messaging bus, based on the XYZ/ADL of sequential logic, describe language Tracer etc. based on the architecture of active web member.
(1) ABC/ADL:ABC/ADL is kind the architecture description language based on XML, has the ability that most ADL describe the software systems high-level structure, progressively the refining and develop of back-up system simultaneously, and robotization assembling and checking aspect are provided support.This descriptive language is with the interoperability of standard x ML as the meta-language definition of data, and it not only makes ABC/ADL have and the ability of the interoperability of other ADL also helps to realize the traceability between the interim product and the interim product of other software life-cycle in the design process simultaneously.
(2) the primary stipulations object of FRADL:FRADL is the architecture fundamental element, this design philosophy thinks that framework also is a member, comprise the initiatively actor model connector of connection mechanism, the configuration of member example and connector example finally forms software architecture.Though this model provides the grammer of description architecture fundamental such as member, web member and configuration etc., still is short of at formal semantic model, do not provide the architecture of system to describe and analytical approach.
(3) JB/SADL: Beida Jadebird is with the background that is practiced as of Qingniao Co.'s software assembly line, proposition is based on the software architectural style of level messaging bus, designed corresponding architecture description language JB/SADL simultaneously, this language is described member from interface, static structure and three angles of dynamic behaviour.By JB/SADL, can realize easily software architecture structure, refine and verify to have the quick generative capacity of prototype, also providing support aspect the dynamic evolution of the automatic generation of code skeleton and system architecture simultaneously.
(4) Tracer: it is kind of the architecture description language based on the active web member.This method has been introduced engine mechanism in web member, make it with process that associated component is connected in become the triggering element of operation activity, correspondence is converted into visible part in goal systems realizes simultaneously.
The structure that architecture description language uses interconnective software to come descriptive system usually, and the stratification of back-up system structure configuration.They provide the Unified frame of architecture specification, and corresponding labeling method and symbol directly are provided, with the fundamental element of specification architecture.But these architecture description languages lack the formalization analysis technology of architecture specification, effectively support system structure style specification, the scarce capacity of component interactive is described, dynamic architecture in the time of can not describing running software.
Summary of the invention
The deficiency that self-adaptation is relatively poor, intelligibility is relatively poor, feasibility is relatively poor of the formalized description method of software architecture when having operation in order to overcome, the invention provides well feasibility of a kind of tool, the formalized description method of the runtime adaptable software architecture of reasoning and legibility.
The technical solution adopted for the present invention to solve the technical problems is:
A kind of formalized description method of runtime adaptable software architecture, described formalized description method may further comprise the steps:
(1) the adaptable software architecture frame is described:
Set the architecture frame of formalized description, framework comprises member, web member and architectural configuration, member is made of outside port and internal act, outside port is member and external environment or the mutual tie of other web members, and a port is made up of one or more of passages, and described passage comprises the transmission data channel, receive data channel and not only sent but also received data channel, member carries out exchanges data by the passage and the external world;
Web member is made up of outside port and internal act, the internal act of web member is made up of the route behavior, and dynamic behaviour is to instruct the rules of interaction and the constraint of communicating by letter between member, could be mutual between the member by web member, be attached to passage on member and the web member port and constitute a connection between them;
(2) set up self-adaptation component model based on the Agent network configuration software:
With the self-adaptation member as the component form in the network configuration software, the self-adaptation component inside is made of the computing module of finishing the calculating behavior and the adaptive model of finishing dynamic behaviour, the self-adaptation component model comprises the EBDI model of handling the default adaptive strategy that develops and handling non-default evolution again, suggestion function and filtrator have been increased in the EBDI model newly, the suggestion function performance is according to current a new goal set to be determined in the perception of environment and current conviction again, filtrator is the intention according to current beliefs and target update entity, abandon and to finish or insignificant intention, and select new implementation method for it;
(3) formalization representation of self-adaptation component model SAM:
Described self-adaptation component model SAM comprises clock, conviction, target and intention, and the various intelligence attitudes to the self-adaptation member give formalized description successively, provides the formalization definition:
. clock is the process that a kind of associated process to various mental states provides system time:
Clock ( t ) = ! time ( t ) ‾
Self-adaptation component model SAM always is in certain or certain period, as the past, now or in the future, this process provides system time by port time to the external world;
Conviction is the information about this world, and information is divided into objective fact knowledge and subjective attitude knowledge, and true class conviction is defined as the query script of a knowledge,
FactBasedBelief ( id ) = fact id ( x ‾ ) . Fact ( x ‾ )
Its expression process is by port fact IdObtain variable x, then by subprocess Fact IdFind the true class knowledge relevant with x, wherein id is the identifier of SAM example, and subjective attitude class belief representation believes that certain state or incident maybe will take place,
AttitudeBasedBelief ( id ) = time ( t ) . [ t = τ ] ( believe id ( nid , τt , s ‾ ) . nid ‾ ( t , τ ) )
It is illustrated in time τ, and identifier is that the SAM example of nid can be in state s, and wherein s is a vector, and the conviction process of SAM is:
Belief(id)=FactBasedBelief(id)|AttitudeBasedBelief(id)
Ability is meant which kind of state SAM can enter, and the SAM ability is relevant with its involved conviction knowledge,
Goal ( id ) = goal id ( x ‾ ) . fact id ‾ ( x ‾ )
Its expression is worked as the SAM example from port goal IdWhen obtaining the target x of institute's desire realization, by port fact IdInquiry will realize the conviction knowledge that this target is required.
The promise that intention expression SAM makes the target that self ability can realize, and will put into practice; Being intended that of SAM follows the target that will reach to produce,
Intention ( id ) = intention id ( t , g ) . time ‾ ( t ) | believe ‾ id ( id , t , g ‾ ) | goal ‾ id ( g ‾ )
Its implication is: when the SAM example passes through port intention IdPerceive external environment behind time t event or intention g that state contained, judge whether SAC believed in this moment can realize this target, propose to realize the request of target then to the SAM example;
The SAM case process is defined as follows formally:
SAC(id)=Belief(id)|Goal(d)|Intention(id)
It seems that from SAM environment provides the place of external event, and it self provides the place of internal event;
The environment process of certain SAM example correspondence can be defined as:
Env ( id ) = ( vt , c ) env id . inspect id ‾ ( τ , c )
Wherein, env IdObtain event in the environment, wait for that then the SAM example comes perception, the process of the inner generation time of SAM can be defined as:
Self ( id ) = ( vt , c ) self id . inspect id ‾ ( τ , c )
Wherein, Self (id) obtains the inner event of SAM example;
The adaptable software system definition of being made up of SAM example and environment thereof becomes following process:
SASystem=∑SAC(id i)|Self(id i)|Env(id i)
(4) according to the corresponding relation of π calculation and member and member behavior stipulations, finish the formalized description of when operation software architecture, again according to the enforceability and the behavior of the dynamic reasoning architecture of EBDI of π calculation, thus the self-adaptation when realizing running software.
Technical conceive of the present invention is: along with popularizing day by day and widespread use of Internet, increasing software systems are moved and are deployed on the network environment, new software forms---network configuration software (Internetware) produces thereupon, it requires to have independence, concertedness, reactive, feature such as evolution and many orders property, its general character can be summed up as adaptivity, the running environment Internet of network configuration software has opening simultaneously, dynamic and polytrope and the constantly user's request of change, this just requires network configuration software to carry out self-adjusting according to the environment and the user's request that constantly change.The main body of network configuration software is a member, and this has just impelled us should start with from the member entity to the research that realizes adaptive network configuration software.
In present stage, become the software development pattern of a new generation based on the software development methodology of CBSD (Component Based Software Development), with the architecture is that blueprint is dressed up system to component groups, dependence between member and the member realizes by interface specification, member is in passive status in whole assembling process, and when operation this stipulations and member self remain unchanged, thereby conventional components lacks the adaptive faculty to opening, dynamic and changeable environment and changeable user's request.How to design and realize adaptive member, and member is assembled into internetware system according to the architecture description, these a series of problems have proposed challenge to us.
In traditional development approach, what the specification of user's request adopted is the natural language and the graph structure description of non-form, because the ambiguity and the ambiguousness of informal description, the specification that produces is often inadequately accurately with complete, the different users of specification has different understanding for same specification, thereby causes the imperfection of system.The experience of many software projects shows that a big chunk of program error is from the error of demand analysis and design phase.And the basic thought of formal approach is that system is set up a mathematical model, study and provide a kind of software metrics descriptive language based on mathematics and formal semantics, with this language the function that is developed software is described strictly, then it is converted to the code that can carry out, whether the code of proof realization at last meets its specification, so produced present form of software method.
The form of software method is to grow up as a branch of soft project, and target is for the software development service provides the assistant analysis checking, thereby improves software correctness and reliability.Fully it is used at present actual software development process and still has bigger difficulty, mainly show the following aspects: manual proof is made mistakes easily, and formalization method also is difficult to grasp relatively, and aid is not a factor such as perfect especially.But the research of this respect has numerous people to participate in always, and has obtained many achievements.The mode that traditional software systems reliability guarantees is that goal systems is tested repeatedly and tried out, even this situation is successful to system testing, can only illustrates and not find mistake so far, can not guarantee not have mistake.On the contrary, as a kind of with mathematics, logic serve as the formalization analysis method on strict basis because of its accuracy and severity, and be subjected to the favor of industry member and academia, and in the exploitation of real system, rise gradually and instruct or booster action.
Formal description language (Formal Description Languages) all has a wide range of applications in computer science and association area thereof, it is main tool and the carrier that system is carried out formalized description, gets in touch the tie between pure form theory and technology and its application value realistic simultaneously again.Angle was described structure and two views of behavior of architecture when π-ADL that people such as F.Oquendo propose can be from operation, behavior simultaneously can be divided into calculating behavior and dynamic behaviour according to function again, the system-oriented service logic of calculating behavior, the predefined evolution logic of dynamic behaviour system-oriented, but dealing with when being difficult to predict with changeable environment and user's request, this predefined dynamic evolution logic seems awkward.Design a kind of architecture description language with tight formalization basis, and behavior and structure semantics during the operation of portrayal software systems, the design, checking and the evolution that utilize its relevant formalization instrument to come assistance system simultaneously, can yet be regarded as solves a good approach of software self-adaptive problem.
Agent is studied, some outstanding achievements have been obtained through ten years development, aspect development environment, representative achievement has JADE, the JACK engineering, and on engineering, realized a lot of application systems based on Agent, the Agent technology is introduced component software system obtain day by day paying close attention to.Software Agent has stipulated that by the control to self behavior Agent should take different countermeasures under the varying environment state, but Software Agent Technology is still immature on the one hand, does not also obtain the approval of industry; Software Agent is supported limitedly to different agreement on the other hand, is not that each software entity all is a Software Agent simultaneously, seems very difficult so go to solve the problem of the aspects such as autonomous, collaborative, reaction, evolution of network configuration software from the Software Agent Technology aspect.
The entity of network configuration software has relative independentability, initiative and adaptivity, ability with the operation of perception external system and environment for use, be difficult to deal with the environment and the user's request of continuous variation at conventional components in the component development method, we propose this notion of self-adaptation member.Aspect the realization of self-adaptation member, existing Agent technology or artificial intelligence technology, be difficult to realize and mainstream technology between integrated, if with Agent Study on Technology achievement, comprise reaction equation structure, BDI logic and model, be applied in the component technology based on structure of situation calculus etc., can bring into play dirigibility and technology potentiality that Agent calculates like this, again can be integrated with mainstream technology, realize adaptive software systems, strengthen the vitality of software, simultaneously quality and the confidence level that improves network configuration software had significance.In the implementation procedure of self-adaptation member, changeable external environment how to be dealt with by member and reasoning self behavior also is a difficult problem, formalized description method provides a good approach that addresses this problem to us, general, formal description language all has the grammer and the strict accurate semanteme of clear and definite standard, so the grammatical analysis instrument of standard can be provided for corresponding formalized description on the one hand, can also adopt means enforcement semantic automatic analyses in various degree such as area of computer aided on the other hand.Therefore need the adaptive architecture describing method of a kind of support software badly, analyze the behavior that has intelligent self-adaptation member with reasoning, also can be used for formalization checking, refinement and the evolution of architectural model, support to realize the adaptive characteristic of internetware system.
The present invention uses for reference reaction and the intelligent characteristic of Agent, made up a kind of self-adaptation component model, on the basis of available research achievements D-ADL architecture description language, invented a kind of formalization method (Formal Description Approach for Runtime SoftwareArchitecture) of describing the runtime adaptable software architecture again, hereinafter to be referred as FDA4RSA.The concrete technical scheme of creating is a theoretical foundation with the many types of π calculation of high-order, framework and component model to adaptable software are described, the formalization form of presentation of architecture self-adaptation behavior when proposing a cover on this basis at operation, then introduction done in the grammer stipulations and the formal semantics of this formalization method, develop a visual aid prototype simultaneously, proved the feasibility of method.
Utilize the traditional relatively method of distributed object technology exploitation network configuration software to have certain difficulty.For network configuration software, need serial of methods opinion, software engineering method and instrument and support.Formalization method is meant to have complete Fundamentals of Mathematics, and this Fundamentals of Mathematics not only provide the method for explication, has features such as consistance, integrality, and the method that does not need operational system just can simulate its character of proof is provided.Therefore.Formalization method no matter be from initial user's request to system design, realization, checking can both provide necessary support for system.Also the someone proposes general ADL, but the descriptive power of general ADL is also restricted, so propose the formalized description problem that a kind of formalization method of describing software architecture when moving solves network configuration software, FDA4RSA should be able to describe the independent behaviour of self-adaptation member, comprising default and non-default evolution behavior.The target that FDA4RSA should consider comprises:
1. can effectively reflect the distribution of computer network system, intrinsic propesties such as concurrent, mutual;
2. can be from when operation angle portrayal architecture, and have the ability of describing default and non-default self-adaptation behavior;
3. support the modeling element self-adaptation component model of network configuration software is carried out formalized description, and various modeling element can be assembled into actual internetware system;
4. has enforceability.Have certain reasoning, analysis and checking ability, go back the progressively refinement and the evolution of back-up system, and be suitable for developing corresponding C ASE instrument;
5. should keep simplicity and the easy balance between the property understood.
In conjunction with above target, on the basis of original architecture description language D-ADL, FDA4RSA has increased the semanteme of self-adaptation component description and the knowledge of grammar, can carry out formalization to the dynamic behaviour stipulations and explain.In when operation, software can according to the change dynamics of environment carry out the self-adaptation adjustment, simultaneously, by the FDA4RSA aid, the system maintenance personnel can instruct the port of member to connect, and assembling composite component or adaptable software system wait the operation of carrying out series of displaysization.
The development of following communication system and network distribution type to calculate, many computing machines relate to alternately, and therefore design has the software systems of a plurality of concurrent movable parts, and traditional computation model, as Turing machine and λYan Suan, they exist not enough aspect the interactive system modeling, and their basic activity is to read storage or function is used, the software systems of the mutual and concurrent execution of their also unable descriptions.By people such as Milner CCS is expanded the nineties in 20th century and obtained the π calculation.The π calculation is the most important concurrent computation model in the parallel field of computing machine, and the many types of π calculation of high-order is developed on the basis of single order π calculation by Sangiorgi, is intended to the concurrent system that description scheme and behavior constantly change.
The π calculation has 3 basic entities: process (process), name (name) and abstract (abstraction).Process is the unit of concurrent running entity, and the object (object) that comes unified Definition passage (channel) and transmit in passage with name, and each process all has promise to do the passage of getting in touch with other process, and passage that process is shared by their carries out alternately.The many types of π calculation of high-order is that with the different key of single order π calculation object name itself also can be a process, and the data of communication can be processes during this just made alternately, and process can be transmitted.On the abstract basis that is based upon process, be the process of band parameter.Abstract parameter is specialized, obtained general process.In the many types of π of high-order calculation, the object that transmits in parameter and the passage all has type, and abstract parameter is specialized and will be noted type compatibility during process interaction.
The definition 1. establish N represent the name (name) set, the name represent by lowercase,
Figure BDA0000071519860000121
P, Q represent high-order π calculation process, and then the many types of π calculation of high-order process may be defined as
P : : = 0 | αx . P | α ‾ y . P | P + Q | P | Q | ( vx ) P | [ x = y ] P | π , Wherein π : : = x ( y ) | x ‾ y .
Its meaning interpretation is as follows:
0 the expression non-active process, it can not with any process interaction;
α x.P: here, α refers to the input end of a certain passage, the behavior of this process be earlier by passage name α from receiving object y, activate process P[y/x again], wherein x be a local name (local name), [y/x] represents a operation of calling by name;
Figure BDA0000071519860000125
Here
Figure BDA0000071519860000126
The output terminal that refers to a certain passage, the behavior of this process are to pass through passage name α object output name y earlier, activate process P again, and wherein y is universe name (global name);
P+Q: this is the uncertain form of calculation of process, and this process will activate process P or Q according to certain inducement, and its behavior only is the behavior of this process that is activated;
P|Q: this is the process of a parallel work-flow form, and process P and Q exist concurrently in this formula, and they can carry out interactive operation with other process independently, also can communicate by the passage of sharing each other;
(vx) .P: in this process, x is the local name of process P, and it makes process P not communicate by passage x and other processes;
[x=y] P: this is a condition process, if x=y, it will activate process P, otherwise will not carry out any operation, becomes non-active process 0;
In multivalence π calculation, the data of transmitting on the passage can be a name vector, for example x (y 1... y n) .p or
Figure BDA0000071519860000131
Figure BDA0000071519860000132
Or
Figure BDA0000071519860000133
Deng.We are with x (y 1... y n) .p note makes x (λ y 1... y n) p, and incite somebody to action Note is done:
Figure BDA0000071519860000135
And definition, process is abstract: k=(λ y 1... y n) p, process is specialized: C=[λ y 1... y n] p.
Beneficial effect of the present invention mainly shows: dynamically ACME can be used for architectural elements optional or multiple in the description architecture, and then the dynamic perfromance that acquires a certain degree.Utilize the Armani specification language that the topological structure of architecture and element have been carried out constraint based on invariant simultaneously.C2 uses special architecture change language AML (Architecture Modification Language).In AML, defined one group and when operation, can insert, delete and the operation of associated architecture element again, as addcomponent, weld etc.ABC/ADL emphasizes the conversion of architectural model to programming language.ABC/ADL comprises with operations such as the increase of the object of architectural elements, deletion, replacements, and the information of internal state and external environment condition can be provided for run entity, such as number of number of threads, member example etc.But these ADL do not have tight theoretical foundation, can not carry out strict analysis and deduction to the dynamic behaviour of architecture.
Rapide carries out modeling based on the partial order event set to the calculating behavior and the interbehavior of member, allows to rebulid structure connection by link and unlink operational character in conditional statement.But Rapide does not allow separately connexon to be described and to analyze.
Dynamic Wright uses the label event technology that Wright is expanded, thereby supports dynamic architecture modeling and analysis.Carry out such as work such as Deadlock Detection, model consistency checkings though Dynamic Wright is longer than, dynamic behavior is changed the expressiveness deficiency.Simultaneously, based on the characteristics of CSP, be difficult to carry out Behavior modeling and equivalence judgement work.
Darwin provides and postpones instantiation and direct two kinds of technology of dynamic instanceization, supports the dynamic architecture modeling, and member duplicates, deletes and binds again when allowing operation planned in advance.The dynamic mechanism of Darwin does not provide any π calculus semantics.
The ArchWare project of European Union has proposed a dynamic architecture descriptive language π-ADL.π-ADL is a formalization language based on high-order π calculation, supports that dynamic architecture modeling, architecture analysis and constraint detect.π-ADL has formalization, can carry out, can develop and characteristics such as abstractness.Yet, π-ADL too abstract and formalization, indigestion and use.
People such as Michel Wermelinger. verify by CHAM whether certain architecture example defers to the constraint of its style etc.People such as Daniel Le Metayer. have introduced the method for coming the description architecture dynamic with figure, represent member with node, and connexon is represented on the limit, and introduce coordination system management architecture, and dynamic then is embodied on the rewriting rule of figure.But they all can't represent contextual information, can't handle the version of band parameter.
We can find that these formalization methods pay attention to the dynamic of architecture mostly, rather than adaptivity, so these method less relevance are to the description of environment.Secondly, these formalization methods or only concern connection are difficult to represent the nest relation of structure and the variation of structure; Only pay close attention to the position, be difficult to suitable description is carried out in behavior.The 3rd, the analysis and the checking of these formalization method less relevance architectures character in evolution.The 4th, formalization method is too abstract mostly, lacks graphically and supports indigestion.FDA4RSA is research object with the member, has added default evolution behavioral strategy and the EBDI model of mind of handling non-default evolution behavior at the component interface layer, has realized the self-adaptation on the member level.The self-adaptation member is the main body towards adaptive software systems, and it is being taken into account outside software developer's the layout strategy and can also make oneself's adjustment according to the situation of non-expectation, thereby has realized the software systems adaptivity.
Description of drawings
Fig. 1 is an architecture frame synoptic diagram of describing the formalization method of runtime adaptable software architecture.
Fig. 2 is the synoptic diagram of self-adaptation component model.
Embodiment
Below the present invention in conjunction with the accompanying drawings is further described.
See figures.1.and.2, a kind of formalization method of describing the runtime adaptable software architecture, according to the architecture of formalized description, its content comprises member 1, web member 2 and architectural configuration, the present invention is around above solid modelling, as shown in Figure 1.FDA4RSA is with the basis of the many types of π of high-order calculation as description behavior semanteme, and the characteristic such as concurrent, mutual that angle is described SA when giving operation provides support.
Member (component) is one of fundamental of SA, from topology view, it is made of outside port (ports) and internal act (behavior), outside port is member and external environment or the mutual tie of other web members, and a port is made up of one or more of passages (channel), these passages comprise the transmission data channel, receive data channel and not only send but also receive data channel, so port can be regarded the set of passage as.Member carries out exchanges data by the passage and the external world.The inlet port notion, thus make interactive function structuring, the localization of member, thus convenient to its analysis.The internal act of member is a carrier of realizing the system business logic, and wherein internal act logically can be divided into calculating behavior and dynamic behaviour again, and this will be in the further part introduction.
Web member also is the ingredient of SA, is a kind of special member, is intended to set up mutual between member and arranges these rules of interactions.The same with member, web member also is made up of outside port and internal act, and unique different place is, the internal act of web member is only to be made up of the route behavior, and dynamic behaviour is to instruct the rules of interaction and the constraint of communicating by letter between member.Can not directly connect between member, must have web member ability mutual between them.Be attached to passage (channels) on member and the web member port and just constitute a connection (connection) between them, the data of connection internal transmission can be that numerical value also can be connection itself, or even any architectural elements.
Composite component is made of outside port and inner element, and wherein inner element is a series of member's members and a series of member's web members that connect them, and outside port is the be exposed to outer port of inner element by the configuration demonstration.In the present invention, software systems itself just can be regarded a composite component as.
Traditional member outwards provides service by interface, can independently dispose and assemble, and can realize the software entity of fixed function, but environment is made a response to external world.The problem that faces at network configuration software, in FDA4RSA, we have proposed a self-adaptation component model based on the Agent network configuration software, with self-adaptation member (Self-Adaptive Component), hereinafter to be referred as SAC, as the component form in the network configuration software.As Fig. 2.
SAC inside is made of the computing module (computationmodule) of finishing calculating behavior (computation behavior) and the adaptive model (self-adaptation model) of finishing dynamic behaviour (dynamic behavior), be called for short SAM wherein adaptive model comprise the EBDI that handles default adaptive strategy (strategy) that develops and the non-default evolution of processing again.The essence of dynamic behaviour is the dynamic recognition to architecture, no matter be by adaptive strategy or the behavior stipulations that obtain by the EBDI controlling models, in the end all need to instruct (choreographer) to handle by behavior, choreographer is a kind of sequence of behavior.Suggestion function (opinion) and filtrator (filter) have been increased in the EBDI model newly, the suggestion function performance is according to current a new goal set to be determined in the perception of environment and current conviction again, filtrator is the intention according to current beliefs and target update entity, abandon and to finish or insignificant intention, and be that it selects new implementation method, promptly new action sequence.
The definition of EBDI model theory has multiple mental state, comprises clock (Clock), conviction (Belief), target (Goal), intention (Intention).Below we give formalized description to the various intelligence attitudes of self-adaptation member successively, provide formalization definition.
The associated process that defines 2. clocks (Clock) and be the various mental states of a kind of EBDI of giving provides the process of system time:
Clock ( t ) = ! time ( t ) ‾
Usually, SAM always is in certain or certain period, as the past, now or in the future, this process provides system time by port time to the external world.
Defining 3. convictions (Belief) is the information about this world that SAM has, and their possibilities are imperfect also may be incorrect, and information is divided into objective fact knowledge and subjective attitude knowledge.True class conviction is defined as the query script of a knowledge,
FactBasedBelief ( id ) = fact id ( x ‾ ) . Fact ( x ‾ )
Its expression process is by port fact IdObtain variable x, then by subprocess Fact IdFind the true class knowledge relevant with x, wherein id is the identifier of SAM example.Subjective attitude class belief representation believes that certain state or incident maybe will take place,
AttitudeBasedBelief ( id ) = time ( t ) . [ t = τ ] ( believe id ( nid , τt , s ‾ ) . nid ‾ ( t , τ ) )
Its expression SAM example believes that at time τ identifier is that the SAM example of nid can be in state s, and wherein s is a vector.Like this, the conviction process of SAM is:
Belief(id)=FactBasedBelief(id)|AttitudeBasedBelief(id)
Define 4. abilities (Goal) and be meant which kind of state SAM can enter, the SAM ability is relevant with its involved conviction knowledge,
Goal ( id ) = goal id ( x ‾ ) . fact id ‾ ( x ‾ )
Its expression is worked as the SAM example from port goal IdWhen obtaining the target x of institute's desire realization, by port fact IdInquiry will realize the conviction knowledge that this target is required.
The promise that the target that definition 5. intention (Intention) expression SAM can realize self ability is made, and will put into practice.Being intended that of SAM follows the target that will reach to produce,
Intention ( id ) = intention id ( t , g ) . time ‾ ( t ) | believe ‾ id ( id , t , g ‾ ) | goal ‾ id ( g ‾ )
Its implication is: when the SAM example passes through port intention IdPerceive external environment behind time t event or intention g that state contained, judge whether SAC believed in this moment can realize this target, propose to realize the request of target then to the SAM example.
SAM case process based on the EBDI model can be defined as follows formally:
SAC(id)=Belief(id)|Goal(d)|Intention(id)
It seems that from SAM environment provides the place of external event, and it self provides the place of internal event.The environment process of certain SAM example correspondence can be defined as:
Env ( id ) = ( vt , c ) env id . inspect id ‾ ( τ , c )
Wherein, env IdObtain event in the environment, wait for that then the SAM example comes perception, similarly, the process of the inner generation time of SAM can be defined as:
Self ( id ) = ( vt , c ) self id . inspect id ‾ ( τ , c )
Wherein, Self (id) obtains the inner event of SAM example.
Like this, the adaptable software system (SASystem) that is made up of SAM example and environment thereof can be defined as following process:
SASystem=∑SAC(id i)|Self(id i)|Env(id i)
So far, we represent with the π calculation that has provided the architecture describing framework of FDA4RSA to software systems, formed the relevant intellectual status in structure and the model of main body self-adaptation component model of software systems.Be easy to the formalized description of above-mentioned intellectual status is converted to the FDA4RSA description according to π calculus semantics and member behavior stipulations corresponding relation, following step will be introduced the self-adaptation behavior how FDA4RSA describes self-adaptation component specification and member.
The present invention's software architecture during for the operation described, the data type of definition except comprising general type (Ordinary Type) and type of architecture (Architecture Type), has increased attitude type (Attitude Type) newly in addition.The abstract syntax of type is defined as follows table:
Figure BDA0000071519860000171
Table 1 fundamental type
General type is the data type that is common in the general programming language, and system type can be divided into channel type, process type and abstract (Abstraction).Being connected between member and the web member is a kind of channel type; It all is process type (Process Type) that member calculates behavior and dynamic behaviour and behavior sequence, and wherein the calculating behavior is handled is general type data message in the service logic, is therefore only turned to the single order process by form; Abstraction in the high-order π calculation can represent member, web member or Architecture style type according to the parametrization abstract object; The behavior control EBDI of SAC need use three kinds of attitude types, is respectively Belief, Intention, Goal type.
The object that the present invention describes comprises atom member, composite component, former sub-connecting member and composite connector notion based on member.Element type is the means that realize component reusing, and it also can parametrization, has guaranteed that like this member can be repeatedly by instantiation in architecture is described, and the difference of each example counterpart member realizes, further promotes to reuse.The atom member is meant the member that does not possess inner structure, composite component is the combination of a plurality of members and web member, and at this, we regard web member as a kind of special member, be responsible for mutual between two members, represent with former daughter (Atomic) so atom member and former sub-connecting member are unified.This forwardly divides has done introduction, introduces the formalization syntactic representation of Atomic below.
The grammer specification of Atomic is as follows:
Figure BDA0000071519860000181
We can unify atom member and former sub-connecting member to define by above Atomic, specifically are that member or web member are then levied according to the value of Type to come calmly.The concrete syntax of Computation Behavior, the DynamicBehavior of member, Choreographer and Attitude operation is described and is seen the 2.2.3 trifle.
The designer pays close attention to entity than coarsegrain in the design starting stage, makes the easy Be Controlled of whole design process, thereby composite component and composite connector notion are arranged, and the adaptive system of FDA4RSA definition also can be regarded as a composite component, thereby is re-used.The differentiation of composite component and composite connector depends primarily on its function that is connected that externally shows or the function of the logic of managing business, and its modeling element does not have big difference yet, and we come unified Definition with complex (Composition), and its grammer specification is as follows:
Figure BDA0000071519860000182
Figure BDA0000071519860000191
Former daughter than complex many Instance and Configuration element, Instance is member and web member example, form with a member after these example combinations externally provides interface, Configuration is the topological relation of complex internal instance, and Property is its some attributes.Utilize such structure to make complex to realize carrying out modeling to the application function of complexity.Self-adaptation member behavior formal semantics is seen in the syntactic description of Configuration.
Member is an entity of finishing professional computational logic, and there is the branch of calculating behavior and dynamic behaviour its inside, the calculating behavior logic of managing business, and dynamic behaviour then is the dynamic recognition of architecture.Be described with regard to member behavior semanteme below.
The stipulations of calculating behavior and π calculus semantics are explained as follows:
Figure BDA0000071519860000192
Definition 6.Ordinary operate is the numerical operation in the general programming language, comprise add, subtract, multiplication and division, less than, greater than smaller or equal to, more than or equal to, judge of equal value, be not equal to, with or, the grammer specification is identical with general program language, and symbolic representation is as follows:
Figure BDA0000071519860000202
Prefix is an action prefix, and the operation of configuration comprises bind, and its expression is the opening of internals port, and assemble is an exposed inner web member port, connects for external member, and inaction does not carry out any operation.While...do... be condition circulation, other calculating behavior and D-ADL is described is as good as, no longer Ao Shu.
Dynamic behaviour is divided into two kinds: default with non-default, their difference is whether to have reckoned with change request when system design.The architecture language must provide certain mechanism to represent default and non-default evolution behavior.This evolution behavior is actually a kind of architecture and reshuffles, in the present invention, and by the choreographer processing of member.Choreographer is the executor of architecture change strategy, and its action comprises: member example that 1) dynamic component is new and web member example, and new port and passage; 2) dynamically delete member example and web member example, and port and passage; 3) change that connects between the architectural elements.Its grammer stipulations and π calculus semantics are explained as follows:
Figure BDA0000071519860000203
Figure BDA0000071519860000211
Default evolution behavior sequence is by the environmental information and the policy library information table that obtain are mated, every information in the policy library is made up of value type, value and action sequence, be that each node can be expressed as Node<valueType, value, behavior 〉, coupling obtains behavior sequence, is carried out by choreographer again; Non-default behavior is to obtain by intelligent EBDI controlling models thinking, and wherein thinking processes is as follows:
1. member has self conviction, and one is true class conviction, a subjective attitude class conviction, and in existing specific conviction, member has the Motor ability of self, the finishing all round an intention of these actions.
2. the passage of member obtains the value of environmental variance, and resulting environmental state information is the situation that the designer does not have expectation, and member around unified intention, is selected suitable behavior according to the conviction of self one by one in Motor ability at this moment, and Simulation execution.
3. Dong Zuo execution makes environmental information change again conversely, also might revise the conviction of member self, detects its whether intention of violation itself according to the result of Simulation execution,
4. conflict with intention, then cancel execution, turned to for second step, otherwise, write down this action sequence, carried out for the 3rd step, all be feasible up to amended environmental information or self information.
Thinking processes grammer stipulations are expressed as follows:
Figure BDA0000071519860000221
The calculating behavior stipulations of member also can expand to the intelligent thinking processes of EBDI, and concrete generative process and π calculus semantics are explained and can be represented by embodiment.
Modeling pattern proposed by the invention serves as that realize on the basis with reusable pel editing machine class libraries, language editing machine class libraries and the syntax parsing class libraries of open-source tissue.The design of visual pel editor and syntax parsing and realization itself are complicated, but are not new technology, start anew to design consuming time more, can utilize existing public achievement, quicken the realization of structure instrument.The visual constructor of SA is based upon on JGraph (a reusable pel editing machine java class libraries) basis, and JGraph has realized functions such as the event response, basic access of operation, the pel of definition, establishment, pel to element figure.The language editing machine of FDA4RSA aid and syntax parsing device are based upon on JEdit (a general purpose language editing machine, the syntax parsing device java class libraries) basis.The highlighted demonstration of language editing machine supporting language grammer among the JEdit, bookmark, Multistage U ndo and Redo operation; Support is searched replacement, row demonstration, Code Template and code and function such as is finished automatically.Syntax parsing device among the JEdit generates by the syntax rule definition of reading in corresponding language from the file of appointment, can check the grammer and the morphology mistake of user source code, can be with the process of the form display analysis of tree.
Present embodiment describes the member adaptive process in detail by the case of Online Video broadcast service system (Video on-Demand Service).In this case, logging in system by user is selected movie, and the video playback services component can be controlled the broadcast of film and stop, the user logins into account can appreciate film, but can consume ideal money, consume how much not fixing of currency, it is to determine according to the parameter between internet resource and the user, such as shared bandwidth, distance etc., user's shared resource is downloaded for other people, and therefrom can earn currency, the number of times that resource is downloaded is many more, and resulting ideal money is many more.We are ViewMovie to the process definition that uses the VoD service, and formalized description is as follows:
This definition of the component some default evolutionary strategy choreographer, its content is the user in appreciating the film process, if find that the resource provider that is more suitable for is arranged on the net, then disconnects original service and connects, be connected with the asset creation that is more suitable for, FDA4RSA is described below:
Figure BDA0000071519860000232
Figure BDA0000071519860000241
This choreographer represents, at first by environment ∧ message reception environment signal, and assignment is given sign, when the sign value is 0, carry out a series of behavior acts, comprise that the input and output of removing inner comp_link and conn_link are connected, and then destroy comp_link, then create new comp_link, again its port with the conn_link of inside is linked to each other.
Under some special situation, in appreciating the film process, because the cost of resource is higher, the ideal money of consumption is also many, the phenomenon of account balance deficiency at this moment occurs as the user.This situation does not have predefined evolutionary strategy in the member, can only start EBDI Based Intelligent Control model this moment.Produce this process of behavior sequence in order to illustrate that how the EBDI controlling models derives according to surrounding environment and oneself state, according to the description of component specification, we are easy to the ViewMovie process to be expressed as:
The adaptive ability of VoD service embodies in this case following, appreciates film to τ constantly the time as the user, and at this moment the ideal money deficiency instructs the service of shareResource member execution shared resource to earn ideal money temporarily.The shareResource service is another self-adaptation member process, and it can finish the target of appreciating film to obtain currency according to the shared resource that needs most on the internet in the optional resource, the network environment that realization is optimized very much, and process is expressed as follows with process:
Figure BDA0000071519860000251
Whether member is judged can also continue to reach the purpose that plays film at moment τ:
Figure BDA0000071519860000252
Realize target, the true class conviction of member search oneself, find and realize the required knowledge of target:
Figure BDA0000071519860000253
According to realize the relevant knowledge of target, adopt shared resource earning ideal money, finally realize target.
Figure BDA0000071519860000254
Start shared resource operation shareResource constantly at τ, finish the movie action.
The execution of above-mentioned behavior sequence realizes the self-adaptation of member to non-default situation at last by choreographer.

Claims (2)

1. the formalized description method of a runtime adaptable software architecture, it is characterized in that: described formalized description method may further comprise the steps:
(1) the adaptable software architecture frame is described:
Set the architecture frame of formalized description, framework comprises member, web member and architectural configuration, member is made of outside port and internal act, outside port is member and external environment or the mutual tie of other web members, and a port is made up of one or more of passages, and described passage comprises the transmission data channel, receive data channel and not only sent but also received data channel, member carries out exchanges data by the passage and the external world;
Web member is made up of outside port and internal act, the internal act of web member is made up of the route behavior, and dynamic behaviour is to instruct the rules of interaction and the constraint of communicating by letter between member, could be mutual between the member by web member, be attached to passage on member and the web member port and constitute a connection between them;
(2) set up self-adaptation component model based on the Agent network configuration software:
With the self-adaptation member as the component form in the network configuration software, the self-adaptation component inside is made of the computing module of finishing the calculating behavior and the adaptive model of finishing dynamic behaviour, the self-adaptation component model comprises the EBDI model of handling the default adaptive strategy that develops and handling non-default evolution again, suggestion function and filtrator have been increased in the EBDI model newly, the suggestion function performance is according to current a new goal set to be determined in the perception of environment and current conviction again, filtrator is the intention according to current beliefs and target update entity, abandon and to finish or insignificant intention, and select new implementation method for it;
(3) formalization representation of self-adaptation component model SAM:
Described self-adaptation component model SAM comprises clock, conviction, target and intention, and the various intelligence attitudes to the self-adaptation member give formalized description successively, provides the formalization definition:
Clock is the process that a kind of associated process to various mental states provides system time:
Clock ( t ) = ! time ( t ) ‾
Self-adaptation component model SAM always is in certain or certain period, as the past, now or in the future, this process provides system time by port time to the external world;
Conviction is the information about this world, and information is divided into objective fact knowledge and subjective attitude knowledge, and true class conviction is defined as the query script of a knowledge,
FactBasedBelief ( id ) = fact id ( x ‾ ) . Fact ( x ‾ )
Its expression process is by port fact IdObtain variable x, then by subprocess Fact IdFind the true class knowledge relevant with x, wherein id is the identifier of SAM example, and subjective attitude class belief representation believes that certain state or incident maybe will take place,
AttitudeBasedBelief ( id ) = time ( t ) . [ t = τ ] ( believe id ( nid , τt , s ‾ ) . nid ‾ ( t , τ ) )
It is illustrated in time τ, and identifier is that the SAM example of nid can be in state s, and wherein s is a vector, and the conviction process of SAM is:
Belief(id)=FactBasedBelief(id)|AttitudeBasedBelief(id)
Ability is meant which kind of state SAM can enter, and the SAM ability is relevant with its involved conviction knowledge,
Goal ( id ) = goal id ( x ‾ ) . fact id ‾ ( x ‾ )
Its expression is worked as the SAM example from port goal IdWhen obtaining the target x of institute's desire realization, by port fact IdInquiry will realize the conviction knowledge that this target is required.
The promise that intention expression SAM makes the target that self ability can realize, and will put into practice; Being intended that of SAM follows the target that will reach to produce,
Intention ( id ) = intention id ( t , g ) . time ‾ ( t ) | believe ‾ id ( id , t , g ‾ ) | goal ‾ id ( g ‾ )
Its implication is: when the SAM example passes through port intention IdPerceive external environment behind time t event or intention g that state contained, judge whether SAC believed in this moment can realize this target, propose to realize the request of target then to the SAM example;
The SAM case process is defined as follows formally:
SAC(id)=Belief(id)|Goal(d)|Intention(id)
It seems that from SAM environment provides the place of external event, and it self provides the place of internal event;
The environment process of certain SAM example correspondence can be defined as:
Env ( id ) = ( vt , c ) env id . inspect id ‾ ( τ , c )
Wherein, env IdObtain event in the environment, wait for that then the SAM example comes perception, the process of the inner generation time of SAM can be defined as:
Self ( id ) = ( vt , c ) self id . inspect id ‾ ( τ , c )
Wherein, Self (id) obtains the inner event of SAM example;
The adaptable software system definition of being made up of SAM example and environment thereof becomes following process:
SASystem=∑SAC(id i)|Self(id i)|Env(id i)
(4) according to the corresponding relation of π calculation and member and member behavior stipulations, finish the formalized description of when operation software architecture, again according to the enforceability and the behavior of the dynamic reasoning architecture of EBDI of π calculation, thus the self-adaptation when realizing running software.
2. the formalized description method of a kind of runtime adaptable software architecture as claimed in claim 1 is characterized in that: in the described step (3), the formalized description process of dynamic behaviour is as follows:
Dynamic behaviour is divided into two kinds: default with non-default, and member to be carried out choreographer handle, the action that described choreographer handles comprises: member example that 1) dynamic component is new and web member example, and new port and passage; 2) dynamically delete member example and web member example, and port and passage; 3) change that connects between the architectural elements.
CN201110175267A 2011-06-27 2011-06-27 Formal description method for adaptive software architecture during operation Pending CN102270130A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110175267A CN102270130A (en) 2011-06-27 2011-06-27 Formal description method for adaptive software architecture during operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110175267A CN102270130A (en) 2011-06-27 2011-06-27 Formal description method for adaptive software architecture during operation

Publications (1)

Publication Number Publication Date
CN102270130A true CN102270130A (en) 2011-12-07

Family

ID=45052441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110175267A Pending CN102270130A (en) 2011-06-27 2011-06-27 Formal description method for adaptive software architecture during operation

Country Status (1)

Country Link
CN (1) CN102270130A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831063A (en) * 2012-09-03 2012-12-19 东华理工大学 Detection method for software architecture parallel evolution conflict
CN103955369A (en) * 2014-04-28 2014-07-30 中国人民解放军理工大学 Software fuzzy self-adaptation modeling tool construction method based on expanded UML (Unified Modeling Language)
CN105488254A (en) * 2015-11-24 2016-04-13 上海核工程研究设计院 PDS three-dimensional model analysis and reconstruction method
CN106648833A (en) * 2016-12-12 2017-05-10 华东师范大学 Software architecture modeling and Simulation System
CN107526865A (en) * 2017-06-29 2017-12-29 南京航空航天大学 The modeling method towards CPS based on AADL
CN107562430A (en) * 2017-09-22 2018-01-09 吉林大学 A kind of Compilation Method of file process function for mobile π algorithmic language
CN107817970A (en) * 2017-10-23 2018-03-20 云南大学 A kind of construction system modeling and its dynamic evolution consistency verification method
CN109254764A (en) * 2018-09-28 2019-01-22 福州大学 The method of software architecture when the acquisition operation of curstomer-oriented end application program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794170A (en) * 2005-12-29 2006-06-28 吉林大学 Tele communication region modeling tool based on unified modeling language and modeling method
US20080263506A1 (en) * 2004-05-05 2008-10-23 Silverdata Limited Analytical Software Design System
CN101303646A (en) * 2008-06-18 2008-11-12 吉林大学 Modeling method based on electric communication field capable of performing meta language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263506A1 (en) * 2004-05-05 2008-10-23 Silverdata Limited Analytical Software Design System
CN1794170A (en) * 2005-12-29 2006-06-28 吉林大学 Tele communication region modeling tool based on unified modeling language and modeling method
CN101303646A (en) * 2008-06-18 2008-11-12 吉林大学 Modeling method based on electric communication field capable of performing meta language

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高俊等: ""一种面向自适应软件系统的体系结构描述语言"", 《计算机应用研究》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831063B (en) * 2012-09-03 2015-04-15 东华理工大学 Detection method for software architecture parallel evolution conflict
CN102831063A (en) * 2012-09-03 2012-12-19 东华理工大学 Detection method for software architecture parallel evolution conflict
CN103955369A (en) * 2014-04-28 2014-07-30 中国人民解放军理工大学 Software fuzzy self-adaptation modeling tool construction method based on expanded UML (Unified Modeling Language)
CN103955369B (en) * 2014-04-28 2017-05-17 中国人民解放军理工大学 Software fuzzy self-adaptation modeling tool construction method based on expanded UML (Unified Modeling Language)
CN105488254A (en) * 2015-11-24 2016-04-13 上海核工程研究设计院 PDS three-dimensional model analysis and reconstruction method
CN105488254B (en) * 2015-11-24 2021-06-08 上海核工程研究设计院 PDS three-dimensional model analysis and reconstruction method
CN106648833B (en) * 2016-12-12 2020-10-02 华东师范大学 Software architecture modeling and simulation system
CN106648833A (en) * 2016-12-12 2017-05-10 华东师范大学 Software architecture modeling and Simulation System
CN107526865A (en) * 2017-06-29 2017-12-29 南京航空航天大学 The modeling method towards CPS based on AADL
CN107562430A (en) * 2017-09-22 2018-01-09 吉林大学 A kind of Compilation Method of file process function for mobile π algorithmic language
CN107817970A (en) * 2017-10-23 2018-03-20 云南大学 A kind of construction system modeling and its dynamic evolution consistency verification method
CN107817970B (en) * 2017-10-23 2021-12-17 云南大学 Component system modeling and dynamic evolution consistency verification method thereof
CN109254764A (en) * 2018-09-28 2019-01-22 福州大学 The method of software architecture when the acquisition operation of curstomer-oriented end application program
CN109254764B (en) * 2018-09-28 2022-03-15 福州大学 Method for acquiring runtime software architecture facing client application program

Similar Documents

Publication Publication Date Title
Kendall et al. Ontology engineering
CN102270130A (en) Formal description method for adaptive software architecture during operation
Lin Semantic annotation for process models: Facilitating process knowledge management via semantic interoperability
Mkhinini et al. Combining UML and ontology: An exploratory survey
Olivieri et al. Compliant business process design by declarative specifications
Goguen et al. Formal methods and social context in software development
Aveiro et al. A new action meta-model and grammar for a DEMO based low-code platform rules processing engine
Aouad et al. Requirements engineering for computer integrated environments in construction
Hauksson Metamodeling for Business Model Design: Facilitating development and communication of Business Model Canvas (BMC) models with an OMG standards-based metamodel.
Lochmann et al. An integrated view on modeling with multiple domain-specific languages
Martínez-Ortiz et al. A flow-oriented visual language for learning designs
Fraternali et al. Multi-level tests for model driven web applications
Agostinho Sustainability of systems interoperability in dynamic business networks
Machado et al. OntoSoft Process: Towards an agile process for ontology-based software
Busch et al. A cross-disciplinary language for change propagation rules
Hassan et al. Reducing the modeling gap: On the use of metamodels in agent-based simulation
Karagöz A framework for developing conceptual models of the mission space for simulation systems
Kalinichenko et al. Extensible canonical process model synthesis applying formal interpretation
Pais et al. From SysML state machines to petri nets using ATL transformations
Sengupta et al. LTSA conformance testing to architectural design of LMS using ontology
Özhan et al. Modeling of field artillery tasks with live sequence charts
Blouin et al. An ontological foundation for multi-paradigm modelling for cyber-physical systems
Fuentes-Fernández et al. Application of model driven techniques for agent-based simulation
Sánchez et al. On the use of an IMS LD ontology for creating and executing Units of Learning: Application to the Astronomy case study
Vidal et al. OPENET LD: An ontology-based petri net engine to execute ims ld units of learning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111207