文档库 最新最全的文档下载
当前位置:文档库 › Goal-Oriented Requirements Engineering

Goal-Oriented Requirements Engineering

Goal-Oriented Requirements Engineering
Goal-Oriented Requirements Engineering

Goal-Oriented Requirements Engineering:A Guided Tour

Axel van Lamsweerde

Département d’Ingénierie Informatique

Universitécatholique de Louvain

B-1348Louvain-la-Neuve(Belgium)

avl@info.ucl.ac.be

Abstract

Goals capture,at different levels of abstraction,the various objectives the system under consideration should achieve. Goal-oriented requirements engineering is concerned with the use of goals for eliciting,elaborating,structuring,spec-ifying,analyzing,negotiating,documenting,and modifying requirements.This area has received increasing attention over the past few years.

The paper reviews various research efforts undertaken along this line of research.The arguments in favor of goal orientation are first briefly discussed.The paper then com-pares the main approaches to goal modeling,goal specifi-cation and goal-based reasoning in the many activities of the requirements engineering process.To make the discus-sion more concrete,a real case study is used to suggest what a goal-oriented requirements engineering method may look like.Experience with such approaches and tool support are briefly discussed as well.

1.Introduction

Goals have long been recognized to be essential compo-nents involved in the requirements engineering(RE)pro-cess.As Ross and Schoman stated in their seminal paper,“requirements definition must say why a system is needed, based on current or foreseen conditions,which may be internal operations or an external market.It must say what system features will serve and satisfy this context.And it must say how the system is to be constructed”[Ros77]. Many informal system development methodologies from the good old times included some form of goal-based analy-sis,called context analysiis[Ros77],definition study [Hic74],participative analysis[Mun81],and so forth.Typi-cally,the current system under consideration is analyzed in its organizational,operational and technical setting;prob-lems are pointed out and opportunities are identified;high-level goals are then identified and refined to address such problems and meet the opportunities;requirements are then elaborated to meet those goals.Such natural practice has led requirements documentation standards to require a specific document section devoted to the objectives the system should meet(see,e.g.,the IEEE-Std-830/1993standards). Surprisingly enough,goals have been largely ignored both from the literature on software modeling and specification and from the literature on object-oriented analysis(one notable exception is[Rub92]).UML advocates sometimes confess the need for higher-level abstractions:“In my work, I focus on user goals first,and then I come up with use cases to satisfy them;by the end of the elaboration period,I expect to have at least one set of system interaction use cases for each user goal I have identified”[Fow97,p.45]). The prominent tendency in software modeling research has been to abstract programming constructs up to requirements level rather than propagate requirements abstractions down to programming level[Myl99].

Requirements engineering research has increasingly recog-nized the leading role played by goals in the RE process [Yue87,Rob89,Ber91,Dar91,Myl92,Jar93,Zav97b]. Such recognition has led to a whole stream of research on goal modeling,goal specification,and goal-based reasoning for multiple purposes,such as requirements elaboration, verification or conflict management,and under multiple forms,from informal to qualitative to formal.

The objective of this paper is to provide a brief but hope-fully comprehensive review of the major efforts undertaken along this line of research.Section2first provides some background material on what goals are,what they are useful for,where they are coming from,and when they should be made explicit in the RE process.Section3discusses the major efforts in modeling goals in terms of features and links to other artefacts found in requirements models.Sec-tion4reviews the major techniques used for specifying goals.Section5on goal-based reasoning reviews how goals are used in basic activities of the RE process such as requirements elicitation,elaboration,verification,valida-tion,explanation,and negotiation,and in particular for dif-ficult aspects of that process such as conflict management, requirements deidealization,and alternative selection.Sec-tion6then suggests what a goal-oriented RE method may look like by enacting it on a real case study of a safety-criti-cal train control system.This naturally leads to a brief review,in Section7,of industrial projects in which the use of such methods was felt conclusive;the supporting tools used in those projects are also briefly discussed there.Sec-tion8just opens some fairly recent pieces of goal-based work beyong requirements engineering.

2.The background picture

Reviewing the current state of the art in goal-oriented RE would not make much sense without first addressing the what,why,where and when questions about this area of research.

Invited mini-tutorial paper,appeared in

Requirements Engineering,Toronto,August2001,249-263. Proceedings RE’01,5th IEEE International Symposium on

What are goals?

A goal is an objective the system under consideration should achieve.Goal formulations thus refer to intended properties to be ensured;they are optative statements as opposed to indicative ones,and bounded by the subject matter[Jac95, Zav97a].

Goals may be formulated at different levels of abstraction, ranging from high-level,strategic concerns(such as“serve more passengers”for a train transportation system or“pro-vide ubiquitous cash service”for an ATM network system) to low-level,technical concerns(such as“acceleration com-mand delivered on time”for a train transportation system or “card kept after3wrong password entries”for an ATM sys-tem).

Goals also cover different types of concerns:functional con-cerns associated with the services to be provided,and non-functional concerns associated with quality of service--such as safety,security,accuracy,performance,and so forth.

The system which a goal refers to may be the current one or the system-to-be;both of them are involved in the RE pro-cess.High-level goals often refer to both systems.The sys-tem-to-be is in essence composite;it comprises both the software and its environment,and is.made of active compo-nents such as humans,devices and software.As opposed to passive ones,active components have choice of behavior [Fea87,Yue87,Fic92];henceforth we will call them agents. Unlike requirements,a goal may in general require the coop-eration of a hybrid combination of multiple agents to achieve it[Dar93].In a train transportation system,for example,the high-level goal of safe transportation will typically require the cooperation of on board train controllers,the train track-ing system,station computers,the communication infra-structure,passengers,and so forth.In an ATM system,the goal of providing cash to eligible users will require the coop-eration of the ATM software,sensors/actuators,the cus-tomer,etc.One of the important outcomes of the RE process is the decision on what parts of the system will be automated and what parts will not.A goal under responsibility of a sin-gle agent in the software-to-be becomes a requirement whereas a goal under responsibility of a single agent in the environment of the software-to-be becomes an assumption [Lam98b,Lam98c].Unlike requirements,assumptions can-not be enforced by the software-to-be;they will hopefully be satisfied thanks to organizational norms and regulations, physical laws,etc.

Why are goals needed?

There are many reasons why goals are so important in the RE process.

?Achieving requirements completeness is a major RE con-cern..Goals provide a precise criterion for sufficient com-pleteness of a requirements specification;the specification is complete with respect to a set of goals if all the goals can be proved to be achieved from the specification and the properties known about the domain considered [Yue87].

?Avoiding irrelevant requirements is another major RE con-cern.Goals provide a precise criterion for requirements pertinence;a requirement is pertinent with respect to a set

of goals in the domain considered if its specification is used in the proof of one goal at least[Yue87].

?Explaining requirements to stakeholders is another impor-tant issue.Goals provide the rationale for requirements,in

a way similar to design goals in design processes[Mos85,

Lee91].A requirement appears because of some underly-ing goal which provides a base for it[Ros77,Dar91, Som97].More explicitly,a goal refinement tree provides traceability links from high-level strategic objectives to low-level technical requirements.In particular,for busi-ness application systems,goals may be used to relate the software-to-be to organizational and business contexts [Yu93].

?Goal refinement provides a natural mechanism for struc-turing complex requirements documents for increased readability.(This at least has been our experience in all industrial prjects we have been involved in,see Section7.)?Requirements engineers are faced with many alternatives to be considered during the requirements elaboration pro-cess.Our extensive experience revealed that alternative goal refinements provide the right level of abstraction at which decision makers can be involved for validating choices being made or suggesting other alternatives over-looked so far.Alternative goal refinements allow alterna-tive system proposals to be explored[Lam00c].

?Managing conflicts among multiple viewpoints is another major RE concern[Nus94].Goals have been recognized to provide the roots for detecting conflicts among require-ments and for resolving them eventually[Rob89, Lam98b].

?Separating stable from more volatile information is another important concern for managing requirements evolution.A requirement represents one particular way of achieving some specific goal;the requirement is therefore more likely to evolve,towards another way of achieving that same goal,than the goal itself.The higher level a goal is,the more stable it will be.Others have made that same observation[Ant94].It turns out that different system ver-sions often share a common set of high-level goals;the current system and the system-to-be correspond to alterna-tive refinements of common goals in the goal refinement graph,and can therefore be integrated into one single goal model(see Section3).

?Last but not least,goals drive the identification of require-ments to support them;they have been shown to be among the basic driving forces,together with scenarios,for a sys-tematic requirements elaboration process[Dar91,Rub92, Dar93,Ant98,Dub98,Kai00,Lam00c].We will come back to this in Sections5and6.

Where are goals coming from?

Goal identification is not necessarily an easy task[Lam95, Ant98,Hau98,Rol98].Sometimes they are explicitly stated by stakehokders or in preliminary material available to requirements engineers.Most often they are implicit so that goal elicitation has to be undertaken.

The preliminary analysis of the current system is an impor-tant source for goal identification.Such analysis usually results in a list of problems and deficiencies that can be for-

2

mulated precisely.Negating those formulations yields a first list of goals to be achieved by the system-to-be.

In our experience,goals can also be identified systematically by searching for intentional keywords in the preliminary documents provided,interview transcripts,etc.[Lam00c]. Once a preliminary set of goals and requirements is obtained and validated with stakeholders,many other goals can be identified by refinement and by abstraction,just by asking HOW and WHY questions about the goals/requirements already available,respectively[Lam95,Lam00c].

More sophisticated techniques for goal refinement and abstraction(notably,from scenarios)will be reviewed in Section5.Other goals are identified by resolving conflicts among goals or obstacles to goal achievement,see Section5 too.

A common misunderstanding about goal-oriented approaches is that they are inherently top-down;this is by no means the case as it should hopefully be clear now from the discussion above.

When should goals be made explicit?

It is generally argued that goal models are built during the early phases of the RE process[Dar93,Yu97,Dub98].The basis for the argument is the driving role played by goals in that process;the soonest a goal is identified and validated, the best.This does not imply any sort of waterfall-like requirements elaboration process,however.As requirements "implement"goals much the same way as programs imple-ment design specifications,there is some inevitable inter-twining of goal identification and requirements elaboration [Lam95,Swa82].Goals may thus sometimes be identified fairly lately in the RE process--especially when WHY ques-tions about technical details or scenarios,initially taken for granted,are raised lately in the process.

3.Modeling goals

The benefit of goal modeling is to support heuristic,qualita-tive or formal reasoning schemes during requirements engi-neering(see Section5).Goals are generally modelled by intrinsic features such as their type and attributes,and by their links to other goals and to other elements of a require-ments model.

Goal types and taxonomies.Goals can be of different types. Several classification axes have been proposed in the litera-ture.

Functional goals underlie services that the system is expected to deliver whereas non-functional goals refer to expected system qualities such as security,safety,perfor-mance,usability,flexibility,customizability,interoperability, and so forth[Kel90].This typology is overly general and can be specialized.For example,satisfaction goals are functional goals concerned with satisfying agent requests;information goals are functional goals concerned with keeping such agents informed about object states[Dar93].Non-functional goals can be specialized in a similar way.For example,accu-racy goals are non-functional goals requiring the state of software objects to accurately reflect the state of the corre-sponding monitored/controlled objects in the environment

[Myl92,Dar93]--such goals are often overlooked in the RE process;their violation may be responsible for major failures [Lam00a].Performance goals are specialized into time and space performance goals,the former being specialized into response time and throughput goals[Nix93].Security goals are specialized into confidentiality,integrity and availability goals[Amo94];the latter can be specialized in turn until reaching domain-specific security goals.A rich taxonomy for non-functional goals can be found in[Chu00].

Another distinction often made in the literature is between soft goals,whose satisfaction cannot be established in a clear-cut sense[Myl92],and(hard)goals whose satisfaction can be established through verification techniques[Dar93, Dar96].Soft goals are especially useful for comparing alter-native goal refinements and chosing one that contributes the “best”to them,see below.

Another classification axis is based on types of temporal behaviour prescribed by the goal.[Dar93].Achieve(resp.

cease)goals generate system behaviours,in that they require some target property to be eventually satisfied in some future state(resp.denied);maintain(resp.avoid)goals retrict behaviours,in that they require some target property to be permanently satisfied in every future state(resp.denied) unless some other property holds.Optimize goals compare behaviours to favor those which better ensure some soft tar-get property.

In a similar vein,[Sut93]proposes a classification according to desired system states(e.g.,positive,negative,alternative, feedback,or exception-repair)and to goal level(e.g.,policy level,functional level,domain level).[Ant94]makes a dis-tinction beween objective goals,that refer to objects in the system,and adverbial goals,that refer to ways of achieving objective goals.

Goal types and taxonomies are used to define heuristics for goal acquisition,goal refinement,requirements derivation, and semi-formal consistency/completeness checking[Dar93, Sut93,Ant98,Chu00,Ant01],or to retrieve goal specifica-tions in the context of specification reuse[Mas97].

Goal attributes.Beside their type,goals can also be intrinsi-cally characterized by attributes such as their name and their specification(see Section4).Priority is another important attribute that can be attached to goals[Dar93].Qualitative values for this attribute allow mandatory or optional goals to be modelled with various degrees of optionality.Priorities are often used for resolving conflicts among goals[Rob89, Lam98b].Other goal attributes that have been proposed include goal utility and feasibility[Rob89].

Goal Links.Many different types of links have been intro-duced in the literature to relate goals(a)with each other and

(b)with other elements of requirements models.Such links

form the basis for defining goal structures.We discuss inter-goal links first,and then links between goals and other ele-ments of requirements models such as agents,scenarios,or operations.

Links between goals are aimed at capturing situations where goals positively or negatively support other goals.Directly borrowed from problem reduction methods in Artificial

3

Intelligence[Nil71],AND/OR graphs may be used to cap-ture goal refinement links[Dar91,Dar93].AND-refinement links relate a goal to a set of subgoals(called refinement); this means that satisfying all subgoals in the refinement is sufficient for satisfying the parent goal.OR-refinement links relate a goal to an alternative set of refinements;this means that satisfying one of the refinements is sufficient for satisfy-ing the parent goal.In this framework,a conflict link between two goals is introduced when the satisfaction of one of them may prevent the other from being satisfied. Those link types are used to capture alternative goal refine-ments and potential conflicts,and to prove the correctness of goal refinements(see Section5).

Weaker versions of those link types have been introduced to relate soft goals[Rob89,Myl92,Chu00]as the latter can rarely be said to be satisfied in a clear-cut sense.Instead of goal satisfaction,goal satisficing is introduced to express that subgoals are expected to achieve the parent goal within acceptable limits,rather than absolutely.A subgoal is then said to contribute partially to the parent goal,regardless of other subgoals;it may contribute positively or negatively. The semantic rules are now as follows.If a goal is AND-decomposed into subgoals and all subgoals are satisficed, then the parent goal is satisficeable;but if a subgoal is denied then the parent goal is deniable.If a goal contributes nega-tively to another goal and the former is satisficed,then the latter is deniable.These rules are used for qualitative reason-ing about goal satisficing(see Section5).

Beside inter-goal links,goals are in general also linked to other elements of requirements models.KAOS introduces AND/OR operationalization links to relate goals to the oper-ations which ensure them through corresponding required pre-,post-,and trigger conditions[Lam98c,Lam00c](the older notion of operationalization[Dar91,Dar93]was revised and simplified from practical experience).Others have used similar links between goals and operations,e.g., [Ant94,Ant98,Kai00].In[Myl92],the inter-goal contribu-tion link types are extended to capture the positive/negative contribution of requirements to goals;argumentation links are also introduced to connect supporting arguments to con-tribution links.

There has been a massive amount of work on linking goals and scenarios together--e.g.,[Fic92,Dar93,Pot95,Lei97, Sut98,Ant98,Hau98,Lam98b,Rol98,Kai00,Ant01].The obvious reason is that scenarios and goals have complemen-tary characteristics;the former are concrete,narrative,proce-dural,and leave intended properties implicit;the latter are abstract,declarative,and make intended properties explicit. Scenarios and goals thus complement each other nicely for requirements elicitation and validation.By and large the link between a goal and a scenario is a coverage link;the main differences between the various modeling proposals lie in the fact that a scenario may be type-level or instance-level, may be an example or a counter-example of desired behav-ior,and may exercise a goal or an obtsacle to goal achieve-ment.

Goal models may also be related to object models as goal formulations refer to specific objects,e.g.,entities,relation-ships or agents[Dar93].This link type allows pertinent

object models to be systematically derived from goal models [Lam00c].

Various proposals have also been made to relate goals to agents.In KAOS,responsibility links are introduced to relate the goal and agent submodels.A goal may be assigned to alternative agents through OR responsibility links;this allows alternative boundaries to be explored between the software-to-be and its environment.“Responsibility”means that the agent is committed to restrict its behavior by per-forming the operations it is assigned to only under restricted conditions,namely,those prescribed by the required pre-, post-,and trigger conditions[Dar93].This notion of respon-sibility derives from[Fea87,Fin87];it is studied in depth in [Let01].Wish links are also sometimes used in heuristics for agent assignment[Dar91];e.g.,one should avoid assigning a goal to an agent wishing other goals in conflict with that goal..

In the i*framework[Yu93,Yu97],various types of agent dependency links are defined to model situations where an agent depends on another for a goal to be achieved,a task to be achieved,or a resource to become available.For each type of dependency an operator is defined;operators may be com-bined to define plans that agents may use to achieve goals.

The purpose of this modelling is to support various kinds of checks such as the viability of an agent's plan or the fulfil-ment of a commitment between agents.Although initially conceived for modeling the organizational environment of the software-to-be,the TROPOS project is currently aiming at propagating this framework to later stages of the software lifecycle,notably,for modeling agent-oriented software architectures.

Various authors have also suggested representing the links between goals and organizational policies, e.g.,[Sib93, Fea93,Sut93].

At the process level,it may be useful for traceability purpose [Got95]to record which actor owns which goal or some view of it[Lam98b].

4.Specifying goals

Goals must obviously be specified precisely to support requirements elaboration,verification/validation,conflict management,negotiation,explanation and evolution.

An informal(but precise)specification should always be given to make it precise what the goal name designates [Zav97a].

Semi-formal specifications generally declare goals in terms of their type,attribute,and links(see Section3).Such decla-rations may in general be provided alternatively using a tex-tual or a graphical syntax(see,e.g.,[Dar98]).In the NFR framework[Myl92],a goal is specified by the most specific subtype it is an instance of,parameters that denote the object attributes it refers to,and the degree of satisficing/denial by child goals.Semi-formal specifications often include key-word verbs with some predefined semantics.For example, Achieve,Maintain and Avoid verbs in KAOS specify a tempo-ral logic pattern for the goal name appearing as parameter [Dar93];they implicitly specify that a corresponding target condition should hold some time in the future,always in the

4

future unless some other condition holds,or never in the future.The intent is to provide a lightweight alternative to full formalization of the goal formulation,still amenable to some form of analysis.This basic set has been extended with qualitative verbs such as Improve,Increase,Reduce,Make, and so forth[Ant98].In a similar spirit,goals in[Rol98]are represented by verbs with different parameters playing dif-ferent roles with respect to the verb--e.g.,target entities affected by the goal,beneficiary agents of the goal achieve-ment,resource entities needed for goal achievement,source or destination of a communication goal,etc.

Formal specifications assert the goal formulation in a fully formal system amenable to analysis.In KAOS,such asser-tions are written in a real-time linear temporal logic heavily inspired from[Man92,Koy92]with the usual operators over past and future states,bound by time variables;semantically, they capture maximal sets of desired behaviors[Dar93, Let01].The KAOS language is“2-button”in that the formal assertion layer is optional;it is used typically for critical aspects of the system only.

More formal specifications yield more powerful reasoning schemes at the price of higher specification effort and lower usability by non-experts;the various techniques briefly reviewed here should thus be seen as complementary means rather than alternative ones;their suitability may heavily depend on the specific type of system being considered. 5.Reasoning about goals

The ultimate purpose of goal modelling and specification is to suport some form of goal-based reasoning for RE subpro-cesses such as requirements elaboration,consistency and completeness checking,alternative selection,evolution man-agement,and so forth.

5.1Goal verification

One of the benefits of goal-oriented RE is that one can verify that the requirements entail the goals identified,and check that the set of requirements specified is sufficiently complete for the set of goals identified[Yue87].More precisely,if R denotes the set of requirements,As the set of environmental assumptions,D the set of domain properties,and G the set of goals,the following satisfaction relation must hold for each goal g in G::

R,As,D|==g with R,As,D|=/=false

This may be checked informally,or formally if the goal specifications and domain properties are formalized.For temporal logic specifications one may rely on the proof the-ory of temporal logic and use tools such as,e.g.,STeP [Man96].

A lightweight alternative is to use formal refinement patterns fo Achieve,Maintain and Avoid goals[Dar96].Such patterns are proved correct and complete once for all;refinements in the goal graph are then verified by matching them to one applicable pattern from the library.The mathematical proof intricacies are thereby hidden.A frequently used pattern is the decomposition-by-milestone pattern that refines a parent Achieve goal

P??Q

into two subgoals:

P??R,R??Q

where the“?“temporal operator means“sometime in the future”.Another frequently used pattern is the decomposi-tion-by-case pattern that refines the same parent Achieve goal into three subgoals:

P∧R??Q,P??R,P?P W Q

where the“W“temporal operator means“always in the future unless”.

The techniques above can be used for goals that can be said to be established in a clear-cut sense.For soft goals,the qual-itative reasoning procedure provided by the NFR framework is particularly appropriate[Myl92].This procedure deter-mines the degree to which a goal is satisficed/denied by lower-level goals/requirements.A node or link in the goal graph is labelled S(satisficed)if it is satisficeable and not deniable;D(denied)if it is deniable but not satisficeable;C (conflicting)if it is both satisficeable and deniable;and U (undetermined)if it is neither satisficeable nor deniable.The general idea is to propagate such labels along satisficed links bottom-up,from lower-level nodes(i.e.requirements)to higher-level nodes(i.e.goals).Additional label values can be assigned at intermediate stages of the procedure,namely, U+(inconclusive positive support),U-inconclusive negative support,and?(requiring user intervention to specify an appropriate label value).Rules for bottom-up propagation of labels are then defined accordingly.A example of applica-tion of this framework to performance goals can be found in [Nix93].

5.2Goal validation

Goals can be validated by identifying or generating scenar-ios that are covered by them[Hau98].One may even think of enacting such scenarios to produce animations[Hey98].The scenario identification process is generally based on heuris-tics[Sut98,Ant98].

In[And89],plan-based techniques are used to tentatively generate scenarios showing that a goal can be achieved with-out reaching prohibited conditions.Goals,prohibited condi-tions and operations are specified formally by simple state predicates.An automated planner first produces a trial sce-nario to achieve the goal condition;it then checks for faults in the proposed scenario by looking for scenarios achieving the prohibited conditions;finally it assists the specifier in modifying the set of operations in case faults are found.

[Fic92]explores this deficiency-driven paradigm further.

The system is specified by a set of goals,formalized in some restricted temporal logic,a set of scenarios,expressed in a Petri net-like language,and a set of agents producing restricted scenarios to achieve the goals they are assigned to.

The general approach consists of(a)trying to detect incon-sistencies between scenarios and goals,and(b)applying operators that modify the specification to remove the incon-sistencies.Step(a)is carried out by a planner that searches for behaviours leading to some goal violation.The operators offered to the analyst in Step(b)encode heuristics for speci-fication debugging--e.g.,introduce an agent whose respon-sibility is to prevent the state transitions that are the last step

5

in breaking the goal.There are operators for introducing new types of agents with appropriate responsibilities,splitting existing types,introducing communication and synchroniza-tion protocols between agents,weakening idealized goals, etc.The repeated application of deficiency detection and debugging operators allows the analyst to explore the design space and hopefully converge towards a satisfactory specifi-cation.

5.3Goal-based requirements elaboration

The technique just sketched above is a first step towards making verification/validation contribute to the requirements elaboration process.The main reason for goal-oriented RE after all is to let goals help elaborating the requirements sup-porting them.A goal-based elaboration typically consists of a hybrid of top-down and bottom-up processes,plus addi-tional processes driven by the handling of possible abnormal agent behaviors,the management of conflicting goals,the recognition of analogical situations from which specifica-tions can be transposed,and so forth.Note,however,that for explanatory purpose the resulting requirements document is in general better presented in a top-down way.

Goal/requirement elicitation by refinement

An obvious(but effective)informal technique for finding out subgoals and requirements is to keep asking HOW questions about the goals already identified[Lam95,Lam00c]. Formal goal refinement patterns may also prove effective when goal specifications are formalized;typically,they help finding out subgoals that were overlooked but are needed to establish the parent goal.Consider a simple train control sys-tem,for example,and the functional goal of train progress through consecutive blocks:

Goal Achieve[TrainProgress]

FormalDef(?t:r Train,b:Block)[On(tr,b)??On(tr,b+1)]

A particular case that comes directly to mind is when block b+1’s signal is set to‘go’.Two subgoals coming naturally to mind are the following:

Goal Achieve[ProgressWhenGoSignal]

FormalDef?tr:Train,b:Block

On(tr,b)∧ Go[b+1]??On(tr,b+1)

Goal Achieve[SignalSetToGo]

FormalDef?tr:Train,b:Block

On(tr,b)??Go[b+1]

This tentative refinement matches the decomposition-by-case pattern in Section5.1and therefore allows the follow-ing missing subgoal to be pointed out:

Goal Maintain[TrainWaiting]

FormalDef?tr:Train,b:Block

On(tr,b)?On(tr,b)W On(tr,b+1)

Another effective way of driving the refinement process is based on the determination that an agent candidate to goal assignment cannot realize the goal,e.g.,because it cannot monitor the variables appearing in the goal antecedent or control the variables appearing in the goal consequent. [Let01]gives a set of conditions for goal unrealizability;this set is proved complete and provides the basis for a rich,sys-tematic set of agent-driven refinements tactics for generating realizable subgoals and auxiliary agents.

Goal/requirement elicitation by abstraction

An obvious(but effective)informal technique for finding out more abstract,parent goals is to keep asking WHY questions about operational descriptions already available[Lam95, Lam00c].

More sophisticated techniques have been devised to elicit goals from scenarios.Based on a bidirectional coupling between type-level scenarios and goal verb templates as dis-cussed in Section4,[Rol98]proposes heuristic rules for finding out alternative goals covering a scenario(corre-sponding to alternative values for the verb parameters), missing companion goals,or subgoals of the goal under con-sideration.On a more formal side,[Lam98c]describes an inductive learning technique that takes scenarios as exam-ples and counterexamples of intended behavior and gener-ates goal specifications in temporal logic that cover all the positive scenarios and exclude all the negative ones.

Note also that refinement patterns when applied in the reverse way correspond to abstraction patterns that may pro-duce more coarse-grained goals.

Goal operationalization

A few efforts have been made to support the process of

deriving pre-,post-,and trigger conditions on software oper-ations so as to ensure the terminal goals in the refinement process.The principle is to apply derivation rules whose premise match the goal under consideration[Dar93,Let01].

Consider,for example,the following goal:

Goal Maintain[DoorsClosedWhileMoving]

FormalDef?tr:Train,loc,loc’:Location

At(tr,loc)∧o At(tr,loc’)∧ loc<>loc’

?tr.Doors='closed'∧o(tr.Doors='closed') where the“o“temporal operator means“in the next state”.

Applying the following derivation rule

G:P∧ (P1∧ o P2?Q1∧ o Q2),DomPre:P1,DomPost:P2 ---------------------------------------------------------------------ReqPre for G:Q1,ReqPost for G:Q2 we derive the following operationalization:

Operation Move

Input tr:Train;loc,loc’:Location;Output At

DomPre At(tr,loc)∧ loc<>loc’

DomPost At(tr,loc’)

RequiredPre for DoorsClosedWhileMoving:tr.Doors='closed'

RequiredPost for DoorsClosedWhileMoving:tr.Doors='closed' Analogical reuse

Goal-based specifications can also be acquired by retrieving structurally and semantically analog specifications in a repository of reusable specification components,and then transposing the specifications found according to the struc-tural and semantic matching revealed by the retrieval pro-cess[Mas97].

Obstacle-driven elaboration

First-sketch specifications of goals,requirements and assumptions are often too ideal;they are likely to be violated from time to time in the running system due to unexpected behaviors of agents.The lack of anticipation of exceptional behaviors may result in unrealistic,unachievable and/or incomplete requirements.

6

Such exceptional behaviors are captured by assertions called obstacles to goal satisfaction.An obstacle O is said to obstruct a goal G in a domain Dom iff

{O,Dom}|=?G obstruction

Dom|=/=?O domain consistency Obstacles thus need to be identified and resolved at RE time in order to produce robust requirements and hence more reli-able software.The notion of obstacle was just mentioned in [Yue87].It was elaborated further in[Pot95]where scenarios are shown to be a good vehicle for identifying goal obstruc-tions.Some heuristics for identifying obstacles can be found in[Pot95]and[Ant98].More formal techniques are described in[Lam98a]and then[Lam00a]for:

?the abductive generation of obstacles from goal specifica-tions and domain properties,

?the systematic generation of various types of obstacle reso-lution, e.g.,goal substitution,agent substitution,goal weakening,goal restoration,obstacle mitigation,or obsta-cle prevention.

Obstacles can also be resolved at run time in some cases,see [Fea98].

5.4Conflict management

Requirements engineers live in a world where conflicts are the rule,not the exception[Eas94].Conflicts generally arise from multiple viewpoints and concerns[Nus94].They must be detected and eventually resolved even though they may be temporarily useful for eliciting further information [Hun98].Various forms of conflict are studied in[Lam88b], in particular,a weak form called divergence which occurs frequently in practice.

The goals G1,...,G n are said to be divergent iff there exists a non-trivial boundary condition B such that:

{B,?i G i,Dom}|=false inconsistency

{B,?j≠i G j,Dom}|=/=false minimality

(“Non-trivial”means that B is different from the bottom false and the complement??i G i).Note that the traditional case of conflict,in the sense of logical inconsistency,amounts to a particular case of divergence.

Divergences need to be identified and resolved at RE time in order to eventually produce consistent requirements.Formal and heuristic techniques are described in[Lam98b]for:?the abductive generation of boundary conditions from goal specifications and domain properties,

?the systematic generation of various types of divergence resolution.

A qualitative procedure is suggested in[Rob89]for handling conflicts.The idea is to detect them at requirements level and characterize them as differences at goal level.The user of the procedure first identifies the requirements elements that correspond to each other in the various viewpoints at hand;conflict detection is then carried out by mapping syn-tactic differences between the corresponding requirements elements to differences in values of variables involved in the goals supported by these elements.Conflict resolution is attempted next by appealing to compromises(e.g.,through

compensations or restriction specialization),or goal substitu-tions.Finally,the conflict resolution at goal level is down propagated to the requirements level.

5.5Goal-based negotiation

Conflict resolution often requires negotiation.[Boe95]pro-poses an iterative3-step process model for goal-based nego-tiation of requirements.At each iteration of a spiral model for requirements elaboration,

(1)all stakeholders involved are identified together with

their wished goals(called win conditions);

(2)conflicts between these goals are captured together with

their associated risks and uncertainties;

(3)goals are reconciled through negotiation to reach a mutu-

ally agreed set of goals,constraints,and alternatives for

the next iteration.

5.6Alternative selection

Which goal refinement should be selected when alternative ones are identified?Which agent assignment should be selected when alternative ones are identified?This is by and large an open problem.There are local tactics of course,such as favoring alternatives with less critical obstacles or con-flicts,but a systematic approach has not emerged so far in the RE literature.

One promising direction would be to use qualitative reason-ing schhemesàla NFR[Myl92]to select an alternative refinement that contributes the best to the satisficing of soft goals related to cost,reliability,performance etc.Multicrite-ria analysis techniques could be helpful here.

6.A goal-oriented RE method in action

It is now time to demonstrate how some of the techniques reviewed above can fit together in a goal-oriented RE method.We come back to a case study we have already pre-sented in[Lam00c]because it illustrates many of the issues raised here;the initial document is unbiased as it comes from an independent source involved in the development,;it is publically available[BAR99]--unlike most documents from the industrial projects we have been involved in;the system is a real,complex,real-time,safety-critical one(this allows one to suggest that goal-oriented RE is not only useful for business applications).The initial document focuses on the control of speed and acceleration of trains under responsibil-ity of the Advanced Automatic Train Control being devel-oped for the San Francisco Bay Area Rapid Transit(BART) system.

We follow the KAOS method[Dar93,Lam95,Lam00c]in order to incrementally elaborate four complementary sub-models:(1)the goal model,(2)the object model;(3)the agent responsibility model,leading to alternative system boundaries;(4)the operation model.The goal refinement graph is elaborated by eliciting goals from available sources and asking why and how questions(goal elaboration step);

objects,relationships and attributes are derived from the goal specifications(object modeling step);agents are identified, alternative responsibility assignments are explored,and agent interfaces are derived(responsibility assignment step);

7

8

operations and their domain pre-and postconditions are identified from the goal specifications,and strengthened pre-/postconditions and trigger conditions are derived so as to ensure the corresponding goals (operationalization step ).These steps are not strictly sequential as progress in one step may prompt parallel progress in the next one or backtracking to a previous one.

The presentation will be sketchy for lack of space;the inter-ested reader may refer to [Let01]for a much greater level of details.

Goal identification from the initial document

A first set of goals is identified from a first reading of the available source [BART99]by searching for intentional key-words such as “objective”,“purpose”,“intent”,“concern”,“in order to”,etc.A number of soft goals are thereby identi-fied,e.g.,“ServeMorePassengers ”,“NewTracksAdded ”,“Mini-mize[DevelopmentCosts]”,

“Minimize[DistanceBetweenTrains]”,“SafeTransportation ”,etc.These goals are qualitatively related to each other through support links:Contributes (+),Con-tributesStrongly (++),Conflicts (-),ConflictsStrongly (--).These weights are used to select among alternatives.Where possible,keywords from the semi-formal layer of the KAOS language are used to indicate the goal category.The Maintain and Avoid keywords specify “always”goals having the tem-poral pattern ?(P → Q)and ?(P →?Q),respectively.The Achieve keyword specifies “eventually”goals having the pattern P ? ? Q .The “→“connective denotes logical impli-cation;?(P → Q)is denoted by P ? Q for short.

Figure 1shows the result of this first elicitation.Clouds denote soft-goals,parallelograms denote formalizable goals,arrows denote goal-subgoal links,and a double line linking arrows denotes an OR-refinement into alternative subgoals.Formalizing goals and identifying objects

The object modeling step can start as soon as goals can be

formulated precisely enough.The principle here is to iden-tify objects,relationships and attributes from goal specifica-tions.Consider,for example,the following goal at the bottom of Figure 1:

Goal Maintain[TrackSegmentSpeedLimit]

InformalDef A train should stay below the maximum speed

the track segment can handle.FormalDef ?tr:Train,s:TrackSegment :

On(tr,s)?tr.Speed ≤s.SpeedLimit

From the predicate,objects,and attributes appearing in this goal formalization we derive the following portion of the object model:

Similarly,the other goal at the bottom of Figure 5is speci-fied as follows:

Goal Maintain[WCS-DistBetweenTrains]

InformalDef A train should never get so close to a train in

front so that if the train in front stops suddenly (e.g.,derailment)the next train would hit it.FormalDef ?tr1,tr2:Train :

Following(tr1,tr2)?tr1.Loc -tr2.Loc >tr1.WCS-Dist

(The InformalDef statements in those goal definitions are taken literally from the initial document;WCS-Dist denotes the physical worst-case stopping distance based on the phys-ical speed of the train.)This new goal specification allows the above portion of the object model to be enriched with Loc and WCS-Dist attributes for the Train object together with a reflexive Following relationship on it.The formalization of the goal Avoid[TrainEnterinClosedGate]in Figure 1will further enrich the object model by elements that are strictly neces-sary to the goals considered.Goals thus provide a precise driving criterion for identifying elements of the object model .Eliciting new goals through WHY questions

It is often the case that higher-level goals underpinning goals easily identified from initial sources are kept implicit in such sources.They may,however,be useful for finding out other important subgoals of the higher-level goal that were miss-ing for the higher-level goal to be achieved.

As mentioned before,higher-level goals are identified by asking WHY questions about the goals available.

For example,asking a WHY question about the goal Main-tain[WCS-DistBetweenTrains]yields the parent goal Avoid [Train-Collision ];asking a WHY question about the goal Avoid[TrainEnteringClosedGate]yields a new portion of the goal graph,shown in Figure 2.

In this goal subgraph,the companion subgoal Maintain[Gate-ClosedWhenSwitchInWrongPosition]was elicited formally by matching a formal refinement pattern to the formalization of the parent goal Avoid[TrainO nSwitchInWrongPosition],found by a WHY question,and to the formalization of the initial goal Avoid[TrainEnteringClosedGate][Dar96,Let01].The dot join-ing the two lower refinement links together in Figure 2

ServeMorePassengers

Max[Train-Speed]

NewTracksAdded

Minimize[Costs]

Min [Distance BetweenTrains]

SafeTransport

Avoid [TrainEntering

ClosedGate]

Maintain [WCS-DistBetweenTrains]Maintain

[TrackSegmentSpeedLimit]...

Min[DvlptCosts]

Min

[OperationCosts]

...

Figure 1-Preliminary goal graph for the BART system

--...

++

TrackSegment

SpeedLimit:SpeedUnit ...

Train

Speed:SpeedUnit ...

On

means that the refinement is(provably)complete.

Eliciting new goals through HOW questions

Goals need to be refined until subgoals are reached that can be assigned to individual agents in the software-to-be and in the environment.Terminal goals become requirements in the former case and assumptions in the latter.

More concrete goals are identified by asking HOW ques-tions.For example,a HOW question about the goal Main-tain[WCS-DistBetweenTrains]in Figure1yields an extension of the goal graph shown in Figure3.

The formalization of the three subgoals in Figure3may be used to prove that together they entail the parent goal Main-tain[WCS-DistBetweenTrains]formalized before[Let01].These subgoals need be refined in turn until assignable subgoals are reached.A complete refinement tree is given in Annex1. Identifying potential responsibility assignments

Annex1also provides a possible goal assignment among individual agents.This assignment seems the one suggested in the initial document[BAR99].For example,the accuracy goal Maintain[AccurateSpeed/PositionEstimates]is assignable to the TrackingSystem agent;the goal Maintain[SafeTrainResponse-ToCommand]is assignable to the OnBoardTrainController agent; the goal Maintain[SafeCmdMsg]is assignable to the Speed/ AccelerationControlSystem agent.

It is worth noticing that goal refinements and agent assign-ments are both captured by AND/OR relationships.Alterna-tive refinements and assignments can be(and probably have been)explored.For example,the parent goal Maintain[WCS-DistBetweenTrains]in Figure3may alternatively be refined by the following three Maintain subgoals:

PreceedingTrainSpeed/PositionKnownToFollowingTrain SafeAccelerationBasedOnPreceedingTrainSpeed/Position NoSuddenStopOfPreceedingTrain

The second subgoal above could be assigned to the OnBoard-TrainController agent.This alternative would give rise to a fully distributed system.

As suggested before,qualitative reasoning techniques in the style of[Myl99]might be applied to the softgoals identified in Figure1to help making choices among alternatives. Deriving agent interfaces

Let us now assume that the goal Maintain[SafeCmdMsg]at the bottom of the tree in Annex1has been actually assigned to the Speed/AccelerationControlSystem agent.The interfaces of this agent in terms of monitored and controlled variables can be derived from the formal specification of this goal(we just take its general form here for sake of simplicity):

Goal Maintain[SafeCmdMsg]

FormalDef?cm:CommandMessage,ti1,ti2:TrainInfo

cm.Sent∧ cm.TrainID=ti1.TrainID∧FollowingInfo(ti1,ti2)

?cm.Accel≤F(ti1,ti2)∧cm.Speed> G(ti1)

To fulfil its responsibility for this goal the Speed/Acceleration-ControlSystem agent must be able to evaluate the goal ante-cedent and establish the goal consequent.The agent’s monitored variable is therefore https://www.wendangku.net/doc/3c5332654.html, whereas its con-trolled variables are CommandMessage.Accel and CommandMessage.Speed.The latter will in turn become mon-itored variables of the OnBoardTrainController agent,by similar analysis.The technique for deriving the agent’s monitored and controlled variables is fairly systematic,see[Let01]for details.

Identifying operations

The operationalization step starts by identifying the opera-tions relevant to goals and defining their domain pre-and postconditions.Goals refer to specific state transitions;for each such transition an operation causing it is identified;its domain pre-and postcondition capture the state transition. For the goal Maintain[SafeCmdMsg]formalized above we get, for example,

Operation SendCommandMessage

Input Train{arg tr}

Output ComandMessage{res cm}

DomPre?cm.Sent

DomPost cm.Sent∧cm.TrainID=tr.ID

This definition minimally captures what any sending of a command to a train is about in the domain considered;it does not ensure any of the goals it should contribute to. Operationalizing goals

The next operationalization sub-step is to strengthen such domain conditions so that the various goals linked to the operation are ensured.For goals assigned to software agents, this step produces requirements on the operations for the cor-responding goals to be achieved.As mentioned before, derivation rules for an operationalization calculus are avail-able[Dar93,Let01].In our example,they yield the follow-ing requirements that strengthen the domain pre-and postconditions:

Figure2-Enriching the goal graph by WHY elicitation

Maintain

[WCS-DistBetweenTrains]

Maintain[Safe Speed/Acceleration Commanded]

Maintain [SafeTrainResponse

ToCommand]

Maintain

[NoSuddenStop

OfPrecedingTrain]

Figure3-Goal refinement

9

Operation SendCommandMessage

Input Train{arg tr},TrainInfo;Output ComandMsg{res cm}

DomPre... ; DomPost...

ReqPost for SafeCmdMsg:

Tracking(ti1,tr)∧Following(ti1,ti2)

→cm.Acc≤F(ti1,ti2)∧cm.Speed> G(ti1)

ReqTrig for CmdMsgSentInTime:

I≤0.5sec??cm2:CommandMessage:

cm2.Sent∧cm2.TrainID=tr.ID

(The trigger condition captures an obligation to trigger the operation as soon as the condition gets true and provided the domain precondition is true.In the example above the condi-tion says that no command has been sent in every past state up to one half-second[BAR99].)

Using a mix of semi-formal and formal techniques for goal-oriented requirements elaboration,we have reached the level at which most formal specification techniques would start. Anticipating obstacles

As mentioned before,goals also provide a basis for early generation of high-level exceptions which,if handled prop-erly at requirements engineering time,may generate new requirements for more robust systems.

The following obstacles were generated to obstruct the sub-goal Achieve[CommandMsgIssuedInTime]:

CommandMsgNotIssued,

CommandMsgIssuedLate,

CommandMsgSentToWrongTrain

For the companion subgoal Achieve[CommandMsgDeliveredIn-Time]we similarly generated obstacles such as:

CommandMsgDeliveredLate,

CommandMsgCorrupted

The last companion subgoal Maintain[SafeCmdMsg]may be obstructed by the condition

UnsafeAcceleration,

and so on.The obstacle generation process for a single goal results in a goal-anchored fault-tree,that is,a refinement tree whose root is the goal https://www.wendangku.net/doc/3c5332654.html,pared with standard fault-tree analysis[Lev95],obstacle analysis is goal-ori-ented,formal,and produces obstacle trees that are provably complete with respect to what is known about the domain [Lam00a].

Alternative obstacle resolutions may then be generated to produce new or alternative requirements.For example,the obstacle CommandMsgSentLate above could be resolved by an alternative design in which accelerations are calculated by the on-board train controller instead;this would correspond to a goal substitution strategy.The obstacle UnsafeAccelera-tion above could be resolved by assigning the responsibility for the subgoal SafeAccelerationCommanded of the goal Main-tain[SafeCmdMsg]to the VitalStationComputer agent instead

[BART99];this would correspond to an agent substitution strategy.An obstacle mitigation strategy could be applied to resolve the obstacle OutOfDateTrainInfo obstructing the accu-racy goal Maintain[AccurateSpeed/PositionEstimates],by intro-ducing a new subgoal of the goal Avoid[TrainCollisions], namely,the goal Avoid[CollisionWhenOutOfDateTrainInfo].This new goal has to be refined in turn,e.g.,by subgoals requiring full braking when the message origination time tag has

expired.

Handling conflicts

The initial BART document suggests an interesting example of divergence[BART99,p.13].Roughly speaking,the train commanded speed may not be too high,because otherwise it forces the distance between trains to be too high,in order to achieve the DistanceIncreasedWithCommandedSpeed subgoal of the SafeTransportation goal;on the other hand,the com-manded speed may not be too low,in order to achieve the LimitedAccelerAbove7mphOfPhysicalSpeed subgoal of the SmoothMove goal.There seems to be a flavor of divergence here.

We therefore look at the formalization of the suspect goals:

Goal Maintain[CmdedSpeedCloseToPhysicalSpeed]

FormalDef?tr:Train

tr.Acc CM≥0

?tr.Speed CM≤tr.Speed+f(dist-to-obstacle) and

Goal Maintain[CmdedSpeedAbove7mphOfPhysicalSpeed]

FormalDef?tr:Train

tr.Acc CM≥ 0?tr.Speed CM> tr.Speed+7 These two goals are formally detected to be divergent using the techniques described in[Lam98b].The generated bound-ary condition for making them logically inconsistent is

?(?tr:Train)(tr.Acc CM≥ 0∧f(dist-to-obstacle)≤7) The resolution operators from[Lam98b]may be used to generate possible resolutions;in this case one should keep the safety goal as it is and weaken the other conflicting goal to remove the divergence:

Goal Maintain[CmdedSpeedAbove7mphOfPhysicalSpeed]

FormalDef?tr:Train

tr.Acc CM≥ 0?tr.Speed CM> tr.Speed+7

∨ f(dist-to-obstacle)≤7

7.Experience and tool support

The purrpose of this paper is obviously not to deliver an experience report.We would just like to mention here that

LimitedAccelerWhen

CmdedSpeedAbove7mph

OfPhysicalSpeed

ServeMorePsgers

SmoothMove

Min[Dist

BetwTrains]

Max

[TrainSpeed]

SafeTransport

DistanceBetweenTrains

IncreasedWithCmdedSpeed

Maintain[CmdedSpeed

CloseToPhysicalSpeed]

Maintain[CmdedSpeed

Above7mphOfPhysicalSpeed] Figure4-Conflict in speed/acceleration control

10

experience with goal-oriented requirements engineering is growing significantly,in different domain,different types of projects,and different project sizes.For example,Anton and colleagues have reported their experience with BPR applica-tions[Ant94]and various electronic commerce systems [Ant98,Ant01].Our understanding is that the NFR and i* frameworks have been experienced in real settings as well. Our KAOS method has been used in11industrial projects to date.These include the goal-oriented reengineering of a complex,unintelligible requirements document for a phone system on TV cable;the goal-oriented modeling of a com-plex air traffic control application;the goal-oriented engi-neering of requirements for a variety of systems such as:a copyright management system for a major editor of cartoon strips,a management system for a hospital emergency ser-vice,a drug delivery management system for a big drug dis-tributor,a new information system for a big daily newspaper, a web-based job information server,a web-based language translation system,and various e-learning systems.To give an idea,the copyright management system has65goals,75 entity types and relationships,11agents,and45operations; the goal-oriented deliverable is115pages long.The size of the goal refinement graph for the other applications ranges from50to100goals and requirements.

Those projects could not have been undertaken without tool support.Our current GRAIL environment provides a graphi-cal editor tightly coupled with a syntax-directed editor,an object-oriented specification database server supporting que-ries for model analysis,static semantics checkers,view fil-tering mechanisms,a HTML generator for model browsing in hypertext mode,and various types of report generators. Current efforts are devoted to an open,full Java version;the plan then is to integrate more formal support such as anima-tors,model checkers,test data generators,formal verifica-tion tools,and so forth.

8.Goal orientation beyond RE

It has been suggested recently that the functional and(espe-cially)non-functional goals elaborated in the RE process could be used for deriving and refining architectures [Lam00c]and for annotating design patterns[Chu00].These are just preliminary efforts that should be expanded in a near future.

9.Conclusion

Goal-oriented requirements engineering has many advan-tages,some of which were recurrently felt in the aforemen-tioned projects,to restate a few of them:

?object models and requirements can be derived systemati-cally from goals;

?goals provide the rationale for requirements;

?a goal graph provides vertical traceability from high-level strategic concerns to low-level technical details;it allows evolving versions of the system under consideration to be integrated as alternatives into one single framework;?goal AND/OR graphs provide the right abstraction level at which decision makers can be involved for important deci-

sions;

?the goal refinement structure provides a comprehensible structure for the requirements document;

?alternative goal refinements and agent assignments allow alternative system proposals to be explored;

?goal formalization allows refinements to be proved correct and complete.

We hope to have convinced the reader that this area of RE is worth pursuing.There are many open issues to work on in the future,of course;the reader may refer to[Lam00c]for a discussion of them.

Acknowledgment.Discussions with Robert Darimont and Emmanuel Letier were a permanent source of inspiration and con-frontation of some of the issues raised in this paper;they were in particular instrumental in developing KAOS specifications for var-ious non-trivial systems,including the one outlined here[Let01].I am also grateful to the KAOS/GRAIL crew at CEDITI for using some of the ideas presented here in industrial projects and provid-ing regular feedback,among others,Emmanuelle Delor,Philippe Massonet,and AndréRifaut.All the people whose work is men-tioned in this paper had some influence on it in some way or another(whether they recognize and like it or not!).

References

[Amo94]E.J.Amoroso,Fundamentals of Computer Security.Prentice-Hall, 1994.

[And89]J.S.Anderson and S.Fickas,"A Proposed Perspective Shift:View-ing Specification Design as a Planning Problem",Proc.5th Intl.Work-

shop on Software Specification and Design,IEEE,1989,177-184.

[Ant94]A.I.Anton,W.M.McCracken,and C.Potts,"Goal Decomposition and Scenario Analysis in Business Process Reengineering,Proc.

CAISE'94,LNCS811,Springer-Verlag,1994,94-104.

[Ant98]A.I.Anton and C.Potts,“The Use of Goals to Surface Require-ments for Evolving Systems”,Proc.ICSE-98:20th Intrnational Con-

ference on Software Enginering,Kyoto,April1998.

[Ant01]A.I.Anton,R.Carter,A.Dagnino,J.Dempster and D.F.Siege,“Deriving Goals from a Use-Case Based Requirements Specification”,

Requirements Engineering Journal,Vol.6,2001,63-73.

[BAR99]Bay Area Rapid Transit District,Advance Automated Train Con-trol System,Case Study Description.Sandia National Labs,http://

https://www.wendangku.net/doc/3c5332654.html,/bart.htm.

[Ber91]V.Berzins and Luqi,Software Engineering with Abstractions.Add-ison-Wesley,1991.

[Boe95] B.W.Boehm,P.Bose,E.Horowitz,and Ming June Lee,“Soft-ware Requirements Negotiation and Renegotiation Aids:A Theory-W

Based Spiral Approach”,Proc.ICSE-17-17th Intl.Conf.on Software

Engineering,Seattle,1995,pp.243-253.

[Chu00]L.Chung,B.Nixon,E.Yu and J.Mylopoulos,Non-functional requirements in software engineering.Kluwer Academic,Boston,

2000.

[Dar91]A.Dardenne,S.Fickas and A.van Lamsweerde,“Goal-Directed Concept Acquisition in Requirements Elicitation”,Proc.IWSSD-6-6th

Intl.Workshop on Software Specification and Design,Como,1991,14-

21.

[Dar93]A.Dardenne,A.van Lamsweerde and S.Fickas,“Goal-Directed Requirements Acquisition”,Science of Computer Programming,Vol.

20,1993,3-50.

[Dar96]R.Darimont and A.van Lamsweerde,“Formal Refinement Pat-terns for Goal-Driven Requirements Elaboration”,Proc.FSE’4-

Fourth ACM SIGSOFT Symp.on the Foundations of Software Engi-

neering,San Francisco,October1996,179-190.

11

[Dar98]R.Darimont,E.Delor,P.Massonet,and A.van Lamsweerde,“GRAIL/KAOS:An Environment for Goal-Driven Requirements Engi-neering”,Proc.ICSE’98-20th Intl.Conf.on Software Engineering, Kyoto,April1998,vol.2,58-62.(Earlier and shorter version found in Proc.ICSE’97-19th Intl.Conf.on Software Engineering,Boston,May 1997,612-613.)

[Dub98]E.Dubois,E.Yu and M.Petit,"From Early to Late Formal Requirements:A Process-Control Case Study”,Proc.IWSSD’98-9th International Workshop on Software Specification and Design,Isobe, IEEE CS Press,April1998,34-42.

[Dwy99]M.B.Dwyer,G.S.Avrunin and J.C.Corbett,“Patterns in Property Specifications for Finite-State Verification”,Proc.ICSE-99:21th Intr-national Conference on Software Enginering,Los Angeles,411-420. [Eas94]S.Easterbrook,“Resolving Requirements Conflicts with Com-puter-Supported Negotiation”.In Requirements Engineering:Social and Technical Issues,M.Jirotka and J.Goguen(Eds.),Academic Press, 1994,41-65.

[Fea87]M.Feather,“Language Support for the Specification and Develop-ment of Composite Systems”,ACM Trans.on Programming Languages and Systems9(2),Apr.87,198-234.

[Fea93]M.Feather,"Requirements Reconnoitering at the Juncture of Domain and Instance",Proc.RE’93-1st Intl.IEEE Symp.on Require-ments Engineering,Jan.1993,73-77.

[Fea98]M.Feather,S.Fickas,A.van Lamsweerde,and C.Ponsard,“Rec-onciling System Requirements and Runtime Behaviour”,Proc.

IWSSD’98-9th International Workshop on Software Specification and Design,Isobe,IEEE CS Press,April1998.

[Fic92]S.Fickas and R.Helm,“Knowledge Representation and Reasoning in the Design of Composite Systems",IEEE Trans.on Software Engi-neering,June1992,470-482.

[Fin87]A.Finkelstein and C.Potts,"Building Formal Specifications Using Structured Common Sense",Proc.IWSSD-4-4th International Work-shop on Software Specification and Design(Monterey,Ca.),IEEE, April1987,108-113.

[Fow97]M.Fowler,UML Distilled.Addison-Wesley,1997.

[Got95]O.Gotel and A.Finkelstein,“Contribution Structures”,Proc.

RE’95-2nd Intl.IEEE Symp.on Requirements Engineering,York, IEEE,1995,100-107.

[Gro01] D.Gross and E.Yu,“From Non-Functional Requirements to Design through Patterns”,Requirements Engineering Journal V ol.6, 2001,18-36.

[Hau98]P.Haumer,K.Pohl,and K.Weidenhaupt,“Requirements Elicita-tion and Validation with Real World Scenes”,IEEE Trans.on Sofware.

Engineering,Special Issue on Scenario Management,December1998, 1036-1054.

[Hey98]P.Heymans and E.Dubois,“Scenario-Based Techniques for Sup-porting the Elaboration and the Validation of Formal Requirements”, Requirements Engineering Journal Vol.3No.3-4,1998,202-218. [Hic74]G.F.Hice,W.S.Turner,and L.F.Cashwell,System Development Methodology.North Holland,1974.

[Hun98]A.Hunter and B.Nuseibeh,“Managing Inconsistent Specifica-tions:Reasoning,Analysis and Action”,ACM Transactions on Soft-ware Engineering and Methodology,V ol.7No.4.October1998,335-367.

[Jac95]M.Jackson,Software Requirements&Specifications-A Lexicon of Practice,Principles and Pejudices.ACM Press,Addison-Wesley, 1995.

[Jar93]M.Jarke and K.Pohl,“Vision-Driven Requirements Engineering”, Proc.IFIP WG8.1Working Conference on Information System Devel-opment Process,North Holland,1993,3-22.

[Kai00]H.Kaindl,“A Design Process Based on a Model Combining Sce-narios with Goals and Functions”,IEEE Trans.on Systems,Man and Cybernetic,Vol.30No.5,September2000,537-551.

[Kel90]S.E.Keller,L.G.Kahn and R.B.Panara,"Specifying Software

Quality Requirements with Metrics",in Tutorial:System and Software

Requirements Enginering,R.H.Thayer and M.Dorfman,Eds.,IEEE

Computer Society Press,1990,145-163.

[Koy92]R.Koymans,Specifying message passing and time-critical systems with temporal logic,LNCS651,Springer-Verlag,1992.

[Lam95]A.van Lamsweerde,R.Darimont,and Ph.Massonet,"Goal-Directed Elaboration of Requirements for a Meeting Scheduler:Prob-

lems and Lessons Learnt",Proc.RE’95-2nd Intl.IEEE Symp.on

Requirements Engineering,March1995,194-203.

[Lam98a]A.van Lamsweerde and E.Letier,“Integrating Obstacles in Goal-Driven Requirements Engineering”,Proc.ICSE-98:20th Intrnational

Conference on Software Enginering,Kyoto,April1998.

[Lam98b]A.van Lamsweerde,R.Darimont and E.Letier,"Managing Con-flicts in Goal-Driven Requirements Engineering",IEEE Trans.on Sof-

ware.Engineering,Special Issue on Inconsistency Management in

Software Development,November1998.

[Lam98c]A.van Lamsweerde and L.Willemet,"Inferring Declarative Requirements Specifications from Operational Scenarios",IEEE Trans.

on Sofware.Engineering,Special Issue on Scenario Management,

December1998,1089-1114.

[Lam00a]A.van Lamsweerde and E.Letier,“Handling Obstacles in Goal-Oriented Requirements Engineering”,IEEE Transactions on Software

Engineering,Special Issue on Exception Handling,2000.

[Lam00b]A.van Lamsweerde,“Formal Specification:a Roadmap”.In The Future of Software Engineering,A.Finkelstein(ed.),ACM Press,2000.

[Lam00c]A.van Lamsweerde,“Requirements Engineering in the Year00:

A Research Perspective”.Invited Keynote Paper,Proc.ICSE’2000:

22nd International Conference on Software Engineering,ACM Press,

2000,pp.5-19.

[Lee91]J.Lee,"Extending the Potts and Bruns Model for Recording Design Rationale",Proc.ICSE-13-13th Intl.Conf.on Software Engi-

neering,IEEE-ACM,1991,114-125.

[Lei97]J.C.Leite,G.Rossi,F.Balaguer,V.Maiorana,G.Kaplan,G.Hadad and A.Oliveiros,“Enhancing a Requirements Baseline with Scenar-

ios”,Requirements Engineering Journal Vol.2No.4,1997,184-198.

[Let01]E.Letier,Reasoning about Agents in Goal-Oriented Requirements Engineering.Ph.D.Thesis,University of Louvain,May2001.

[Lev95]N.Leveson,Safeware-System Safety and Computers.Addison-Wesley,1995.

[Man92]Z.Manna and A.Pnueli,The Temporal Logic of Reactive and Con-current Systems,Springer-Verlag,1992.

[Man96]Z.Manna and the STep Group,“STeP:Deductive-Algorithmic Verification of Reactive and Real-Time Systems”,Proc.CAV’96-8th

Intl.Conf.on Computer-Aided Verification,LNCS1102,Springer-Ver-

lag,July1996,415-418.

[Mas97]P.Massonet and A.van Lamsweerde,“Analogical Reuse of Requirements Frameworks”,Proc.RE-97-3rd Int.Symp.on Require-

ments Engineering,Annapolis,1997,26-37.

[Mos85]J.Mostow,"Towards Better Models of the Design Process",AI Magazine,V ol.6,1985,pp.44-57.

[Mun81] E.Munford,"Participative Systems Design:Structure and Method",Systems,Objectives,Solutions,Vol.1,North-Holland,1981,

5-19.

[Myl92]Mylopoulos,J.,Chung,L.,Nixon,B.,“Representing and Using Nonfunctional Requirements:A Process-Oriented Approach”,IEEE

Trans.on Sofware.Engineering,Vol.18No.6,June1992,pp.483-497.

[Myl99]J.Mylopoulos,L.Chung and E.Yu,"From Object-Oriented to Goal-Oriented Requirements Analysis",Communications of the ACM,

V ol.42No.1,January1999,31-37.

[Nil71]N.J.Nilsson,Problem Solving Methods in Artificial Intelligence.

McGraw Hill,1971.

[Nix93]B.A.Nixon,"Dealing with Performance Requirements During the Development of Information Systems",Proc.RE’93-1st Intl.IEEE

Symp.on Requirements Engineering,Jan.1993,42-49.

12

[Nus94]B.Nuseibeh,J.Kramer and A.Finkelstein,"A Framework for Expressing the Relationships Between Multiple Views in Requirements Specifications",IEEE Transactions on Software Engineering,Vol.20 No.10,October1994,760-773.

[Par95]D.L.Parnas and J.Madey,“Functional Documents for Computer Systems”,Science of Computer Programming,Vol.25,1995,41-61. [Pot94]C.Potts,K.Takahashi and A.I.Anton,"Inquiry-Based Require-ments Analysis",IEEE Software,March1994,21-32.

[Pot95]C.Potts,“Using Schematic Scenarios to Understand User Needs”, Proc.DIS’95-ACM Symposium on Designing interactive Systems: Processes,Practices and Techniques,University of Michigan,August 1995.

[Rob89]Robinson,W.N.,“Integrating Multiple Specifications Using Domain Goals”,Proc.IWSSD-5-5th Intl.Workshop on Software Spec-ification and Design,IEEE,1989,219-225.

[Rol98]C.Rolland,C.Souveyet and C.Ben Achour,“Guiding Goal Model-ing Using Scenarios”,IEEE Trans.on Sofware.Engineering,Special Issue on Scenario Management,December1998,1055-1071.

[Ros77]D.T.Ross and K.E.Schoman,"Structured Analysis for Require-ments Definition",IEEE Transactions on Software Engineering,V ol.3, No.1,1977,6-15.

[Rub92]K.S.Rubin and A.Goldberg,"Object Behavior Analysis",Com-munications of the ACM V ol.35No.9,September1992,48-62. [Som97]I.Sommerville and P.Sawyer,Requirements Engineering:A Good

Practice Guide.Wiley,1997.

[Sut93]A.Sutcliffe and N.Maiden,“Bridging the Requirements Gap:Poli-cies,Goals and Domains”,Proc.IWSSD-7-7th Intl.Workshop on Soft-

ware Specification and Design,IEEE,1993.

[Sut98]A.Sutcliffe,“Scenario-Based Requirements Analysis”,Require-ments Engineering Journal V ol.3No.1,1998,48-65.

[Swa82]W.Swartout and R.Balzer,"On the Inevitable Intertwining of Specification and Implementation",Communications of the ACM,Vol.

25No.7,July1982,438-440.

[Yue87]K.Yue,“What Does It Mean to Say that a Specification is Com-plete?”,Proc.IWSSD-4,Fourth International Workshop on Software

Specification and Design,Monterey,1987.

[Yu93] E.S.K.Yu,"Modelling Organizations for Information Systems Requirements Engineering",Proc.RE'93-1st Intl Symp.on Require-

ments Engineering,IEEE,1993,34-41.

[Yu97]E.Yu,“Towards Modeling and Reasoning Support for Early-Phase Requirements Engineering”,Proc.RE-97-3rd Int.Symp.on Require-

ments Engineering,Annapolis,1997,226-235.

[Zav97a]P.Zave and M.Jackson,"Four Dark Corners of Requirements Engineering",ACM Transactions on Software Engineering and Meth-

odology,1997,1-30.

[Zav97b]P.Zave,“Classification of Research Efforts in Requirements Engineering”,ACM Computing Surveys,Vol.29No.4,1997,315-321.

13

14

Achieve

[CmdMsgSentInTime]

Maintain [SafeCmdMsg]

Achieve [SentCmdMsg DeliveredInTime]

Maintain

[WCS-DistBetweenTrains]

Avoid

[TrainCollisions]Maintain

[SafeComandToFollowingTrain BasedOnSpeed/PositionEstimates]

Maintain

[AccurateSpeed/Position

Estimates]

Maintain[Safe Speed/Acceleration Commanded]

Maintain

[SafeTrainResponse ToCommand]Maintain [NoSuddenStop OfPrecedingTrain]

Maintain

[DeliveredCmdMsg

Exercised]

Speed/Acceleration ControlSystem

Communication Infrastructure

OnBoard TrainController

Tracking System

OnBoard TrainController

Resp

Resp

Resp

Resp

Resp

Resp

ANNEX 1:GOAL REFINEMENT TREE AND RESPONSIBILITY ASSIGNMENT IN THE BART SYSTEM

a于ANSYS二次开发的管系结构应力分析系统

万方数据

第3期张庆峰等:基于ANSYS二次开发的管系结构应力分析系统—-79—.大,计算结果可靠。但它要求使用者具有一定的有限元知识背简单。 景,并同时具有较强专业知识水平、较强的结构分析能力和扎实 的英语基础。鉴于上述特点,使其对压力管系的有限元分析不 具有针对性。复杂的英文界面和繁琐的分析步骤都给从事压力 管系有限元分析的技术人员造成了很大的障碍。因此,基于这 些不便因素,为适用不同层次的用户使用,利用ANSYS内部提 供的二次开发工具。把ANSYS作为结构分析工具,建立了特别 适用于结构应力分析的中文界面环境、菜单和工具杆的管系结 构分析系统模块。此模块以向导的方式来进行每一步骤,各步 骤附有帮助文件,充分体现了专业化、用户化、便捷化的特点。 如图1所示。 图3管系图 图1绘制管系图 4应用实例 利用在役压力管道系统的应力分析模块对某厂核反应器再循环装置管线进行应力分析,如图2所示。 图2核反应器再循环装置回路管线图 4.1核反应器再循环装置回路管线概况 下面是一个应用该软件对在役核压力回路管线进行应力结构分析的简例。如图3所示,假定核反应器再循环装置的回路管线中发现了二处裂纹。这些裂纹可能是由于在生产或制造过程没有操作经验或某种晶间应力腐蚀所引起的。这两个裂纹,①和②,存在于旁路与核反应再循环装置回路管线主管路相连的焊接部位,它们可认为是复合缺陷。旁路管线的内径是282mm,主管路的内径是450ram,厚度是31.76mm。这些管路和弯管是SA333GR6型材料,弹性模量是188GPa。 4.2管系的结构分析 借助ANSYS的二次开发功能,在开发“含缺陷压力管系风险分析系统”时。在结构应力分析模块中,选择了国际著名的ANSYS有限元分析软件作为结构应力分析工具,并为适用不同层次的用户的需要,针对ANSYS的管路系统模块的特征,对ANSYS进行了二次开发,建立了专用程序的同时建立起对应的图形驱动界面,使得前处理建模、计算和后处理操作等变得十分 图4管系应力分布云图 5结论 通过开发以ANSYS为平台的管系应力分析系统,证实了运用ANSYS内部提供的APDL语言和UIDL语言进行开发专业模块的可行性,并且达到了界面简洁、易操作的预期功能。 利用建立在ANSYS二次开发基础上强大的管道结构应力分析模块,可以在制定管道的检修计划时,方便地确定出管道高度应集中部位,有针对性地选择焊缝并进行射线探伤,使管线的安全状况分析更加准确。有针对性地选择焊缝并进行射线探伤,使得管道的安全状况分析更为准确。同时,也可以利用该系统为分析工具,制定出旨在降低失效风险的管道结构改进措施,优化管道结构。以较低的成本提高管道的完整性水平。 因此,该系统的推广应用,对提高企业的压力管道管理水平,保障安全生产和技术进步具有重要意义。 参考文献 1ANSYSAPDLProgrammer’sGuideRelease5.5.ANSYS。Ine. 2TheUIDLProgrammer’sGuideRelease5.5.ANSYS.Ine. 3谢禹钧,蔺永诚,等.含缺陷压力关系失效风险分析系统(I)【J】.石油化工设备,2002,31(4):4—6. 4谢禹钧,蔺永诚等.含缺陷压力关系失效风险分析系统(n)【J】.石油化工设备,2002,31(5):4~6. 5程进,江见鲸等.基于ANSYS的程序界面设计及应用。四川建筑科学研究。2002,28. 6沈士明,在役压力管道安全评定研究的现状与发展。中国机械工程。 1997.8. 7APDL参数化有限元分析技术及其应用实例,中国水利水电出版社, 2003. 万方数据

ansys二次开发及实例

ansys二次开发教程+实例 第3章ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现 3.1 概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的 一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能 支持分布式并行及共享内存式并行。该软件具有如下特点: (1) 完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有 限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边 界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出 反映实际结构的仿真计算模型。 (2) 强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、 非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于 不同的问题及不同的硬件配置。 (3) 方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4) 多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interf ace Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户 不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服 准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。 3.2 程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计 语言,它的全称是ANSYS Parametric Design Language。使用APD L语言可以更加有效地进行分析计算,可以轻松地进行自动化工作(循环、分支、宏等结构),而且,它是一种高效的参数化建模手段。使用APDL语言进行封装的系统可以只要求操作人员输入前处理 参数,然后自动运行ANSYS进行求解。但完全用APDL编写的宏还存在弱点。比如用APDL语言较难控制程序的进程,虽然它提供了 循环语句和条件判断语句,但总的来说还是难以用来编写结构清晰的程序。它虽然提供了参数的界面输入,但功能还不是太强,交互性 不够流畅。针对这种情况,本文用VC++6.0开发框筒结构-桩筏基础-土相互作用有限元分析程序(简称LW S程序)。

ProENGINEER+Wildfire 5.0中文版基础教程-习题答案

ProENGINEER+Wildfire+5.0中文版基础教程习题答案 第1章 1. 练习使用Pro/ENGINEER 5.0用户环境。 (1) 启动Pro/ENGINEER 5.0,观察其用户界面的组成。 (2) 逐一熟悉设计环境中各组成要素的用途。 (3) 明确上工具箱和右工具箱分别所在的位置及各自的用途。 答案:略 2. 练习以下文件操作。 (1) 练习打开教学资源文件“\第1章\素材\blow.prt”,观察模型的特征构成。 (2) 将文件重命名:elec_blow.prt。 (3) 保存文件。 (4) 删除旧文件。 答案:略 3. 理解Pro/E的模型结构 (1) 打开教学资源文件“\第1章\素材\fig.prt”,观察该图形主要由哪些要素构成。 (2) 打开教学资源文件“\第1章\素材\mod.prt”,观察该模型主要由哪些特征构成。 答案:略 第2章 1. 在二维图形中,怎样方便快捷地修改图形的形状和大小? 答案: 修改图形的形状可以通过在图形中增加或删除图线来实现,同时,修改图形的尺寸参数后图形的形状也将发生改变。通过修改图形的尺寸参数可以修改图形的大小。 2. 二维图形和三维模型之间有何联系? 答案: 绘制二维图形是创建三维模型的基础,符合一定条件的二维图形可用作创建三维模型时的草绘截面图。 3. 绘制一个边长为100的正五边形。 答案: 设计过程见视频文件“练习2-3”。 4.绘制如图2-131所示的二维图形。 图2-131 绘制二维图形

答案: 设计过程见视频文件“练习2-4”。 第3章 1.在三维实体建模中,什么是“特征”?“特征”主要有哪些种类? 答案: 特征是一组几何元素组成的结构单元,是组成模型的基本元素,也是模型操作的基本单位。特征主要分为基准特征、实体特征和曲面特征等类型。 2.在三维建模过程,二维草绘图形有何用途? 答案: 在大多数实体特征的创建过程中,都需要绘制草绘剖面图,剖面图通常都是二维图形。3.使用实体建模手段创建如图3-247所示实体模型。 答案: 设计过程见视频文件“练习3-3”。 4.使用实体建模手段创建如图3-248所示实体模型。 答案: 设计过程见视频文件“练习3-4”。 图3-247 实体模型(1)图3-248 实体模型(2) 第4章 1.简要说明参数化建模的一般原理。 答案: 参数化建模的基本任务是床架参数化模型。参数化模型中包含一定的参数与关系,这些参数和关系可以为模型添加特殊的约束条件。修改参数的具体数值,可以在保持模型主要结构不变的情况下,调整其形状和大小。 2. 使用特征阵列的方法创建如图4-148所示的模型。 答案: 设计过程见视频文件“练习4-2”。 3.练习打开教学资源文件“\第4章\素材\gear.prt”。练习修改该齿轮模型的齿数、模数等参数,然后再生模型。 答案: 略。

ANSYS模拟大体积混凝土浇筑过程的参数分析_赵英菊

1.ANSYS分析的原理和步骤 ANSYS的热分析[1]包括稳态和瞬态两种,如果系统的温度场与时间无关,则称该系统处于稳定的热状态,简称稳态;如果系统的温度场随时间发生变化,则称系统处于瞬态。显然,大体积混凝土的浇筑过程属于瞬态分析,也属于非线性分析。 我们不仅要进行混凝土温度场的模拟还要进行应力场的模拟,所以要用到ANSYS中耦合分析,ANSYS提供了两种分析耦合场的方法:直接耦合与间接耦合。 直接耦合法的耦合单元包含所有必须的自由度,仅仅通过一次求解就能得出耦合场分析结果;间接耦合法是以特定的顺序求解单个物理场的模型,通过把第一次场分析的结果作为第二次场分析的载荷来实现两种场的耦合。如我们用到的热-应力耦合分析就是将热分析得到的节点温度作为载荷施加在后序的应力分析中来实现耦合的。基本步骤如下: 第一步:进行热分析,可选择SOLID70单元; 第二步:重新进入前处理器,转换单元类型;将热单元转换为相应的结构单元,原来的SOLID70单元将自动转换为SOLID45单元,其对应的命令是ETCHG,TTS。 第三步:设置结构分析中的材料属性; 第四步:读入热分析结果并将其作为载荷;可采用命令LDREAD读入热分析的节点温度,或点击MainMenu>Solution>LoadApply>Temperature>FromThermalAnalysis。注意,结果文件的扩展名为*.rth。 第五步:指定参考温度;在参考温度处,热应力值为零。 第六步:求解及后处理。 2.温度场的求解 2.1三种基本传热方式 (1)热传导,遵循傅里叶定律(导热基本定律):q″=-λdT dx ,式中q″为热流密度(W/m2),λ为导热系数(W/m?℃),“-”表示热量流向温度降低的方向。 (2)热对流,用牛顿冷却方程来描述:q″=β(TS-TB),式中β为对流换热系数,TS为固体表面的温度,TB为周围流体的温度。 (3)热辐射,指物体发射电磁能,并被其它物体吸收转变为热的热量交换过程。 2.2边界条件 (1)第一类边界条件是指混凝土表面温度T是时间τ的已知函数,即 T(x,y,z,τ)=Tb(τ) (2)第二类边界条件是指混凝土表面的热流量是时间的已知函数,即 -λ$T $n =T′(τ) 式中λ—— —导热系数,W/m?℃或kJ/m?h?℃,W/m?℃=3.6kJ/m?h?℃; n—— —表面外法线方向,若表面是绝热的,有:$T $n =0。 (3)第三类边界条件假定经过混凝土表面的热流量与混凝土表面温度T和气温Ta之差成正比,即 -λ$T $n =β(T-Ta) 式中β—— —表面放热系数,也称对流系数,W/m2?℃。其数值与风速va(m/s)有密切的关系,固体表面在空气中的放热系数可用以下两式计算,单位是kJ/m2?h?℃。 粗糙表面:β=23.9+14.50va(1)光滑表面:β=21.8+13.53va(2)当有模板和保温层时,可按下式计算:β=1 ∑ δ i λ i +1 β q (3)式中δi—— —各种保温材料的厚度(m); λi—— —各种保温材料的导热系数(W/m?K),可按表1取值[2]; βq—— —空气的传热系数,可取23(W/m2?K)。 表1各种保温材料的导热系数λ值(W/m?K) (4)当两种条件不同的固体接触时,如接触良好,则在接触面上温度和热流量都是连续的,即T1=T2,λ1( !T 1 !n )=λ2(!T2 !n )。 混凝土与空气接触(包括有养护条件)的边界可按照第三类边界条件处理: NSEL,,,!选择与空气接触的表面节点 SF,ALL,CONV,β,Tair,!加载表面散热系数和环境温度 混凝土与地基或基岩的边界可以按照第四类边界条件处理,通过定义两种材料的导热系数和初始温度即可。 2.3热学参数取值基本参数较容易获得,也可参考下表: 表2材料的基本热学参数 2.3.1水化热的施加在ANSYS中,混凝土的水化热是通过生热率HGEN来施加的。顾名思义,生热率就是单位时间内混凝土的生热量,即所产生的热量对时间的导数,用表达式表示为: hgen=dQ dt (4)式中:Q—— —混凝土中产生的热量; hgen—— —混凝土生热率。 混凝土的水化热放热过程与混凝土的绝热温升过程具有一致性,若取指数经验式: ANSYS模拟大体积混凝土浇筑过程的参数分析 赵英菊王社良康宁娟 (西安建筑科技大学土木工程学院陕西西安710055) 摘要:建筑工程中的大体积混凝土结构越来越多,利用有限元程序ANSYS进行施工过程的模拟仿真可以形象地给出温度场和应力场的分布情况,同时能考虑各参数随时间的变化。时变参数的选取及其在程序中的实现是仿真分析中的重点和难点,特总结归纳,并给出解决的方法供参考。 关键词:ANSYS;混凝土;浇筑;时变参数 材料名称λ材料名称λ 木模0.23黏土砖0.43 钢模58油毡0.05 草袋0.14沥青矿棉0.09~0.12 木屑0.17沥青玻璃棉毡0.05 矿渣0.47泡沫塑料制品0.03~0.05 黏土1.38~1.47泡沫混凝土0.10 干砂0.33水0.58 湿砂1.31空气0.03 名称数值单位名称数值单位 混凝土的密度2400kg/m3混凝土的导热系数2.710W/m?℃ 土壤的密度1750kg/m3土壤的导热系数0.586W/m?℃ 混凝土的比热0.963kJ/kg?℃混凝土的线膨胀系数10×10-6℃ 土壤的比热1.005kJ/kg?℃混凝土的导温系数0.0042m2/h96

Pro/ENGINEER工程图

第13章建立工程图 ?Pro/E具有强大的工程图设计功能,用户可直接将建立的三维模型生成工程图,其“参数化”与“全相关”的特征使得三维模型或工程图的任何一方进行尺寸更改,另一方会同时相应作出尺寸更改,确保两者的始终一致性,避免产生人为差错。在完成零件或装配模型的建立之后使用“绘图”模块,可快速建立符合工程标准的工程图。 ?本章主要讲述如下内容: ? 建立三视图的操作步骤 ? 建立辅助视图和局部视图的各种方法 ? 标注尺寸、标注几何公差的方法

13.1 绘图模块工作界面?在Pro/ENGINEER Wildfire主窗口中单击 菜单【文件】→【新 建】命令,在打开的 〖新建〗对话框中选 择“绘图”类型,在 〖名称〗栏中输入新 建文件名称,单击 【确定】按钮,系统 弹出〖新制图〗对话 框,如图13-1所示。

?在该对话框中设定要建立工程图的 三维模型文件,明确工程图图纸样 式及大小。〖新制图〗对话框中各 功能选项的意义说明如下。 ? 缺省模型:单击该栏中的【浏览】 按钮,在弹出的〖打开〗对话框中 选择要建立工程图的三维模型文件, 然后单击【打开】按钮,确认模型 文件的选取。 ? 指定模板:为工程图指定一个绘 图模板。该栏中有三个选项供用户 选择: ? 使用模板:使用系统中存在的或 系统提供的模板。 ? 格式为空:使用现有的图纸格式。 用户可以选择一个已经完成的工程 图文件作为模板。 ? 空:使用空白图纸。用户应指定 图纸方向和大小,〖新制图〗对话 图13-2框显示内容如图13-2所示。

? 模板:该栏中列出可供用户使用的图纸模板,也可单击【浏览】按钮,选择系统中存在的其他可用模板。 ? 方向:该栏供用户确定图纸的放置方式。 ? 纵向:纵向放置图纸。 ? 横向:横向放置图纸。 ? 可变:用户自定义图纸的长宽尺寸。 ? 大小:该栏供用户设定图纸规格。在〖标准大小〗下拉列表中,用户可选择标准尺寸的图纸。若在〖方向〗栏中选择“可变”选项,则应明确图纸的尺寸单位是英寸还是毫米,然后在〖宽度〗和〖高度〗文本栏中设定相应尺寸值。

ProENGINEER绘图软件说明

目录 Pro/ENGINEER绘图功能说明 (1) 主要特性 (1) 软件版本 (1) Pro/Engineer软件模块组成 (2) 1. Pro/Engineer (2) 2. Pro/ASSEMBLY (3) 3. PRO/CABLING (3) 4. PRO/CAT (3) 5. PRO/CDT (3) 6. PRO/COMPOSITE (4) 7. PRO/DEVELOP (4) 8. PRO/DESIGN (4) 9. PRO/DETAIL (4) 10. PRO/DIAGRAM (5) 11. PRO/DRAFT (5) 12. PRO/ECAD (5) 13. PRO/FEATURE (6) 14. PRO/HARDNESS-MFG (6) 15. PRO/INTERFACE (7) 16. PRO/LANGUAGE (7) 17. PRO/LIBRARYACCESS (7) 18. PRO/MESH (8) 19. PRO/MOLD DESIGN (8) 20. PRO/MANUFACTURING (8) 21. PRO/NC-CHECK (9) 22. PRO/PLOT (9) 23. PRO/PROJECT (9) 24. PRO/REPORT (10) 25. PRO/SHEETMETAL (10) 26. PRO/SURFACE (10)

Pro/ENGINEER绘图功能说明 Pro/Engineer操作软件是美国参数技术公司(PTC)旗下的CAD/CAM/CAE一体化的三维软件。Pro/Engineer软件以参数化著称,是参数化技术的最早应用者,在目前的三维造型软件领域中占有着重要地位,Pro/Engineer作为当今世界机械CAD/CAE/CAM领域的新标准而得到业界的认可和推广。是现今主流的CAD/CAM/CAE软件之一,特别是在国内产品设计领域占据重要位置。 其它名称 Pro/Engineer和WildFire是PTC官方使用的软件名称,但在中国用户所使用的名称中,并存着多个说法,比如ProE、Pro/E、破衣、野火、WildFire、proe3.0、proe4.0等等都是指Pro/Engineer软件。 主要特性 Pro/E第一个提出了参数化设计的概念,并且采用了单一数据库来解决特征的相关性问题。另外,它采用模块化方式,用户可以根据自身的需要进行选择,而不必安装所有模块。Pro/E的基于特征方式,能够将设计至生产全过程集成到一起,实现并行工程设计。它不但可以应用于工作站,而且也可以应用到单机上。Pro/E采用了模块方式,可以分别进行草图绘制、零件制作、装配设计、钣金设计、加工处理等,保证用户可以按照自己的需要进行选择使用。 1.参数化设计,相对于产品而言,我们可以把它看成几何模型,而无论多么复杂的几何模型,都可以分解成有限数量的构成特征,而每一种构成特征,都可以用有限的参数完全约束,这就是参数化的基本概念。 2.基于特征建模 Pro/E是基于特征的实体模型化系统,工程设计人员采用具有智能特性的基于特征的功能去生成模型,如腔、壳、倒角及圆角,您可以随意勾画草图,轻易改变模型。这一功能特性给工程设计者提供了在设计上从未有过的简易和灵活。 3.单一数据库(全相关) Pro/Engineer是建立在统一基层上的数据库上,不象一些传统的CAD/CAM系统建立在多个数据库上。所谓单一数据库,就是工程中的资料全部来自一个库,使得每一个独立用户在为一件产品造型而工作,不管他是哪一个部门的。换言之,在整个设计过程的任何一处发生改动,亦可以前后反应在整个设计过程的相关环节上。例如,一旦工程详图有改变,NC (数控)工具路径也会自动更新;组装工程图如有任何变动,也完全同样反应在整个三维模型上。这种独特的数据结构与工程设计的完整的结合,使得一件产品的设计结合起来。这一优点,使得设计更优化,成品质量更高,产品能更好地推向市场,价格也更便宜。 软件版本 目前Pro/E最高版本为Pro/ENGINEER Wildfire 5.0(野火5.0)。但在目前的市场应用中,不同的公司还在使用着从Proe2001到WildFire5.0的各中版本,WildFire3.0和

附代码基于C 的ANSYS二次开发

ansys二次开发 1概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能支持分布式并行及共享内存式并行。该软件具有如下特点:(1)完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出反映实际结构的仿真计算模型。 (2)强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于不同的问题及不同的硬件配置。 (3)方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4)多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interface Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。2程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计语言,它的全称是ANSYS Parametric

Pro/E经典工程图资料

创建绘图 新建绘图时输入必要的参数,选择相应的零件和图框 输入的与零件一致的名称,不使用缺省模板,选择对应的零件,选择格式为空,浏览。

绘图的基本过程 1,创建视图,调整剖面和视图的显示。 2,显示或创建尺寸标注,添加尺寸公差。 3,添加符号,添加表面粗糙度、形位公差、焊接符号等。 4,添加文字说明和技术要求,表格。 5,保存打印。

绘图视图 视图种类: ¤任意视图:与其他视图之间无投影关系,通常是第一个视图。 ¤投影视图:与其他视图之间有投影关系,视图之间始终维持投影关系。 ¤放大视图:在现有视图上进行局部放大。 ¤向视图:沿指定方向与其他视图进行投影,视图之间始终维持投影关系。 ¤全视图:完整的视图 ¤半视图:一半的视图 ¤断裂视图:断裂视图,可进行多出断裂 ¤部分视图:局部视图 ¤截面:有剖面的 ¤无截面:无剖面的 ¤比例:指定放大或缩小 ¤无比例:与图纸的总比例一致。

绘图视图 剖视图种类: ?完整的:全剖视图 ?一半:半剖视图 ?局部:局部剖视图 ?全部局部:全剖和局部视图 ?全部剖视图:剖视图 ?区域剖截:剖面图 ?对齐剖截:旋转剖面图 ?全部对齐:旋转剖视图 ?展开剖面:展开剖面图 ?全部展开:展开剖视图

绘图视图 视图的处理: ¤添加视图:增加新视图 ¤移动视图:移动现有视图的位置 ¤修改视图:修改已经生成的视图 ¤拭除视图:让已生成的视图不显示 ¤恢复视图:让已拭除的视图重新显示 ¤删除视图:永久删除视图 ¤相关视图:将草绘的图线与视图关联,并能一起移动 ¤显示模式:修改视图的各种现实状态 ¤绘图模型:管理多模型绘图,在同一图纸上添加或删除模型¤表示:对视图进行临时的简化

ProEngineer快捷键汇总

br-重命名patr cc-切减总目录 do-偏移基准面 fc-实体总目 录 ii -测量分析 pa -加胶总目录 tc -中曲线拔模 ui -曲面圆角 be-删除进程数据ce-切减拉伸 dx-基准轴总目录fp-阵 列 im -特征分析 tf -偏移 ua -高级曲面 qu-退出part cr-切减旋转 dt-两面建轴 dz-删除 ro -倒圆角目录 tp -曲面片 uj -边界曲 面 vv-视图 cs-切减扫描 de-曲线总目录 fd-删除阵列 ll -图层总目录 ra -高级倒圆角um -曲面合并 cu-切减面组 dk-草绘曲线 fr-恢复 rl -模型关系 uu -曲面总目录 ut -曲面修剪 en-环境总目录 ca-切减高级总目录dn-投影曲线 fv-重定义 po -实体总目录 ue -拉伸曲面 ux -曲面延 拓 ed -隐藏面 cg-倒角 dg-基准点总目录 fn-插入模式 pe -拉伸加胶 sh -抽壳 ur -旋转曲面 uk -曲面拔模 ep-隐藏点 co-复制总目录 dh-曲线+面 fm-镜像几何 pr -旋转加胶 tw -扭曲总目录 us -扫描曲面 xz -截面总目录 ea-隐藏轴 dy-坐标系总目录 pw -扫描加胶 td -中平面拔模 uo -曲面偏移 zz -设置总目录 ec-隐藏坐标系 da-基准面总目录 hh -孔总目录 pu -面组加胶 tr -替换 uc -曲面复制 zn -设置名称 A ARC(画弧) IN INTERSECT(求交) AA AREA(测量面积) L LINE(画线) AR ARRAY(阵列) LA LAYER(建立图层) ATT ATTDEF(定义属性) LE QLEADER(快速导引线 标注) ATE ATTEDIT(编辑属性) LEN LENGTHEN(加长) B BLOCK(定义图块) LI LIST(列表) BH BHATCH(图案填充) LT LINETYPE(设置线型) BR BREAK(打断) LTS LTSCALE(设置线型比 例) C CIRCLE(画圆) M MOVE(移动) CH PROPERTIES(特性修改) MA MATCHPROP(属性匹配) CHA CHAMFER(倒斜角) ME MEASURE(测量) COL COLOR(改变物体颜色) MI MIRROR(镜像) CO COPY(复制) ML MLINE(画多线) D DIMSTYLE(设置标柱样 式) MT MTEXT(多行文字) DAL DIMALIGNED(对齐标 注) O OFFSET(偏移) DAN DIMANGULAR(角度标 注) OP OPTIONS(系统设置) DBA DIMBASELINE(基线标 料) OS OSNAP(物体捕捉) DCE DIMCENTER(圆心标 注) P PAN(视图平移) DCO DIMCONTINUE(连续 标注) PE PEDIT(复和线编辑 )

Pro ENGINEER 5.0 【M080】win64安装完全教程,手把手教你会

Pro/ENGINEER 5.0 【M080】win64安装完全教程 手把手教你会 本机操作系统为windows7 64位旗舰版。 Pro/E版本为Pro/ENGINEER 5.0 【M080】win64。 目录 1 程序安装 (2) 2 程序破解 (10) 3 试用一下 (12) 后记 (13)

1 程序安装 用虚拟光驱打开下载下来的安装光盘,点击setup开始安装…… 运行setup进入安装页面后,左下角会显示主机ID,先记下来……

把crack文件夹复制到合适的位置(因为在光盘里里头的文件是无法修改的),比如说放桌面上,打开crack文件夹下的license.dat(用记事本打开就可以),按照下图所示,把图中蓝色选中位置的文字“全部替换”为之前记下来的主机ID,也就是上图左下角的那些数字,注意大小写哦…… 替换完了之后点击保存,然后关闭license文件。

这里只选择红色边框的那一项,其他的不要乱动哈……

然后就是设置安装位置,因为我所有的程序都安装在C盘(我分配给C盘的空间是200G),Pro/ENGINEER当然也不能特殊,建议图中保留自PTC开始及以后的文件位置(也就是光标闪动处之后的文件路径)不要改动。 选择合适的安装组件,视个人需要选择。这里我没有安装help文件,对于新手,建议按照默认的组件进行安装……

开始添加许可证了,点击“添加”,按照图中说明进行操作即可。建议先把之前修改保存的license文件复制到Pro/ENGINEER的安装目录下面,这样方便寻找,免得跟其他程序的license文件混淆,另外,之前的license是放在桌面的,肯定不能用放桌面的license啦,不然一不小心删掉了就完啦。 设置快捷方式和启动目录,一般默认的启动目录设置在我的文档下…… 至于环境变量,按照程序默认的选择即可。

ANSYS二次开发

ANSYS二次开发手册 UIDL解析 APDL解析

目录 第二章解析UIDL篇 (1) 2.1结识UIDL (1) 2.2看看UIDL的模样 (2) 2.3 Ansys调用UIDL的过程 (7) 第三章UIDL实例解析一 (10) 3.1问题描述: (10) 3.2环境准备: (10) 3.3添加菜单: (12) 3.4结束语 (16) 第四章UIDL实例解析二 (17) 4.1问题描述: (17) 4.2环境准备及构建对话框: (18) 4.3参数提取杂谈 (21) 4.4结束语 (23) 附录 (23) 第五章UIDL实例解析三 (27) 5.1问题描述 (27) 5.2环境准备及构建联机帮助: (28)

5.3几点说明 (34) 5.4 结束语 (35) 第六章解析APDL (36) 6.1 熟悉新朋友—APDL (36) 6.2 二次开发工具之间的比较 (36) 6.3 结束语 (37) 第七章APDL综合实例 (38) 7.1 问题说明 (38) 7.2 解题思想 (39) 7.3 构建步骤 (40) 7.4 几点说明 (47) 7.5 结束语 (48)

第二章解析UIDL篇 2.1结识UIDL UIDL是什么?Ansys二次开放语言的一种。 OK,那么它能带给我们什么?很多很多,如果你想让你在Ansys中制作的用户界面具有专业水准的话,请来结识一下我们的UIDL把。 ●全称: UIDL的全名是User Interface Design Language,是Ansys 中二次开发工具方面的三大金刚之一。GUI方面几乎全部的二次开发 功能都将由它运筹帷幄。 ●功用: ?组织我们自己强大的菜单系统。想象一下我们在Ansys中也能轻 松做出可以和VC,VB之类主流GUI开发工具媲美的菜单响应效 果,Ansys的世界将是多么的亲切、友好。 ?构建功能繁复的对话框。Ansys中美观易用的ContactWizard对 话框级联界面一定让你印象很深把,有了它,即使是最菜鸟的门 外汉也能构建一流的工程算例,Ansys5.7中的DesignSpace应 该就是无可争辩的例证之一。虽然从UNIX内核上讲(Windows

ANSYS添加toolbar的方法

ANSYS添加toolbar的方法 1. 创建命令abbr *ABBR命令或者GUI操作Utility Menu> Macro> Edit Abbreviations or Utility Menu> MenuCtrls> Edit Toolbar Abbr The abbreviation name that will appear on the toolbar button. The name can contain up to eight characters. String The String argument is the name of the macro or command that Abbr represents. If String is the name of a macro, the macro must be within the macro search path. For more information about using macros, see "APDL as a Macro Language". If de>Stringde> references an ANSYS picking menu or dialog box (using UIDL), then specify "Fnc_string." For example, in the abbreviation definitions for "QUIT" and "POWRGRPH" shown above, "Fnc_/QUIT" and "Fnc_/GRAPHICS" are unique UIDL function names which identify the ANSYS picking menu or dialog box associated with the QUIT and POWRGRPH abbreviations respectively. For more information about accessing UIDL functions, see Calling Dialog Boxes From a Macro. de>Stringde> can contain up to 60 characters but cannot include any of the following:

多版本ProEngineer下载大全

Pro/Engineer 2001、wildfire 3.0 M230、和4.0 M140、和5.0 M060 最新版DVD 免费下载 注:115网盘下载,打开后用迅雷下载即可;电驴地址可以用迅雷下载,推荐先用迅雷离线下载完成后,再从离线下载服务器下载到本地 (1)PTC Pro/Engineer 2001.2005030 最新版DVD 下载(多国语言) 32 位版本(大小:482M) https://www.wendangku.net/doc/3c5332654.html,/file/f827eb6b62 64 位版本:暂无 (2)PTC Pro/Engineer wildfire 3.0 M230 野火版DVD 下载(多国语言) 32 位版本(大小:1.52 G) PTC.PRO.ENGINEER.WILDFIRE.v3.0.M230.WIN32.iso (1.52 GB) 64 位版本:暂无 (3)PTC Pro/Engineer wildfire 4.0 M140 野火版DVD 下载(多国语言) 32 位版本(大小:2.97G) TLF-SOFT-PTC.PRO.ENGINEER.WILDFIRE.V4.M140.Win32.DVD-SHooTERS.iso (2.97 GB) 64 位版本(大小:3.16 G) TLF-SOFT-PTC.PRO.ENGINEER.WILDFIRE.V4.M140.Win64.DVD-SHooTERS.iso (3.17 GB) (4)PTC Pro/Engineer wildfire 5.0 M060 野火版DVD 下载(多国语言) 32 位版本(大小:3.19G) [CAD ( Bytes)CAM/CAE集成软件].TLF-SOFT-PTC.PRO.ENGINEER.WILDFIRE.V5.M060.WIN32-MAGNiTUDE.iso|3430361088|85957062297c0b73b02 4941e33ca86c1|h=mi262toq63ynykw5tn25zimolxbqu3tq|/ 64 位版本(大小:3.30 G) [CAD ( Bytes)CAM/CAE集成软件].PTC.PRO.ENGINEER.WILDFIRE.V5.M060.WIN64-MAGNiTUDE.iso|3547502592|9143726eb500198d3034a2664d57a 3df|h=sq46shidwdkk5yoptajlu234t72ift3z|/

UIDL二次开发步骤

UIDL二次开发工具在自卸车车厢设计中的实现 ANSYS调用UIDL的过程: 以下在ANSYS11.0环境下进行说明。ANSYS在启动时会自动在其安装目录下的\ansys11.0\v110\ANSYS\gui\en-us\UIDL文件夹中搜寻menulist110.ans文件,并调用其指向的UIDL文件,包括UIMENU.GRN、UIFUNCl.GRN和UIFUNC2.GRN文件。因此,只需将这4个文件复制到自己的工作目录中,并对其重新编辑,即可实现调用自己定制的GUI界面。 通常ANSYS按照以下顺序寻找menulist110.ans 文件:用户工作目录(可以在Interactive 启动方式中设定)->用户根目录->/ansys/docu 目录,可见只 要我们在用户工作目录中编辑自己的menulist110.ans 文件,ANSYS 将优先使用我们自己的menulist110.ans文件。如果生成了自己的UIDL 控制文件,并 在我们自己的menulist110.ans文件中指向它们,我们就能实现对UIDL 的全 控制。 所以,menulist110.ans文件可以复制到自己的工作目录,也可以不复制到自己的工作目录上。 假设工作目录为E:\ansys,安装目录为D:\Program Files\ansys11.0\v110\ANSYS\gui\en-us\uidl,则可以有以下几种做法:1)将UIMENU.GRN、UIFUNCl.GRN和UIFUNC2.GRN文件复制到工作目录中,menulist110.ans 文件不复制,对这四个文件重新编辑,即可实现调用自己定制的GUI界面。 2)将UIMENU.GRN、UIFUNCl.GRN和UIFUNC2.GRN文件和menulist110.ans文件这四个文件都复制到工作目录中,对这四个文件重新编辑,即可实现调用自己定制的GUI界面。 这两种方法下的menulist110.ans文件中的内容均为: 3)新建一个文件夹,比如命名为ansys1,路径为E:\ansys1,将UIMENU.GRN、UIFUNCl.GRN和UIFUNC2.GRN文件复制到文件夹ansys1中,menulist110.ans 文件复制不复制均可,对这四个文件重新编辑,将工作目录改为E:\ansys1,启动ansys,即可实现调用自己定制的GUI界面。 方法3下的menulist110.ans文件中的内容为:

[ProEngineer.野火版.V5.0.M040].TLF-SOFT-PTC.PRO.E.V5.0.M040安装方法

proe4.0和5.0安装方法教程 教程分类:环境配置来源链接:无维论坛(https://www.wendangku.net/doc/3c5332654.html,/bbs)作者:IceFai [IceFai专栏] 编辑: IceFai 日期:2010-10-23 浏览:10708 很多用户在安装的时候都会反映一步步按照教程安装却总也无法成功,实际上根本的原因是所参照的教程版本和使用的安装版本不对应所造成。为了解决这个问题,这里作者特别制作了这一个针对SHooTERS和MAGNiTUDE两个不同常见proe破解版本的安装作进一步的详细讲解,希望能解决更多用户的安装困惑。 实际上不同破解组织所发布的各种proe软件版本,破解的方法也不尽相同,因此有必要分别说明。本文不同于网络上的其它流水步骤式的安装教程,本教程将详细讲解针对不同的破解组织发布的版本安装过程中可能出现的各种问题和对应的优化处理方法。同时也对安装过程中的选择对以后的影响做了一一的讲解。真正让用户在一个教程内解决所有的安装问题。教程分别使用proe4.0的M060版本(SHooTERS破解)和proe5.0的M060版本(MAGNiTUDE)的安装来讲解,但实际上也适用于proe3.0的安装(根据破解组织的不同选择不同的安装方法)。无维网原创,自然与众不同。 准备工作 要进行软件的安装,自然需要有安装程序,这可以到无维网proe教程和免费资源中心下载,下载地址如下:proe4.0下载地址:https://www.wendangku.net/doc/3c5332654.html,/proe4.htm proe5.0下载地址:https://www.wendangku.net/doc/3c5332654.html,/WildFire5.html 需要注意的是你要根据你的操作系统来下载对应的版本。proe有32位操作系统和64位操作系统两个版本(分别用win32和win64标示)。通常来说winXP是32位的,win7一般是64位的。 一般来说,得到的安装程序都是刻录的映像文件,比如iso或cue+bin之类的文件,比如类似下面的文件名: 不要小看这个文件名,这个文件名其实也包含了不少相关的信息。而这些信息有些也会影响到后面的安装方法,特别是不同的“破解组织”有不同的破解方法,很多用户正是因为这点照搬不同破解组长的教程导致安装失败或者反映找不到破解程序,比如下面就是一个典型的安装文件软件包名称(SHooTERS破解)。

相关文档