Abstract Word-Level Decision Diagrams (WLDDs), like BMDs

合集下载

Solving Design Problems in OO-Software Engineering with Relations and RelView

Solving Design Problems in OO-Software Engineering with Relations and RelView

Solving Design Problems in OO-SoftwareEngineering with Relations and RelViewRudolf Berghammer1and Alexander Fronk21Institute of Computer Science and Applied MathematicsUniversity of Kiel,D-24098Kiel,Germany2Software TechnologyUniversity of Dortmund,D-44221Dortmund,GermanyAbstract.We demonstrate how relational algebra and its mechanization through the soft-ware system RelView can be used for solving practical problems in the design of object-oriented software.The examples we present range from the search of improper code piecesto the detection of code parts indicating some design pattern structure.1IntroductionRelations are very well-known in mathematics and computer science,the formal apparatus of relational algebra is well understood and mathematically well estab-lished.For its mechanization,there exist a couple of tools for the computer-aided manipulation of relations and relation-algebraic formulae,as well as for relation-algebraic theorem proving.Having a look on the abundance of literature(see e.g., the references in[21,13]or the proceedings of the past RelMiCS meetings),how-ever,it seems that in the last decades relational algebra and the respective tools have rarely been used for real practical purposes.Apart from some exceptions,their employment was of purely academic nature.For instance,in the domain of program-ming and software development people investigated semantics,data structures,and algorithm development.But,as far as we know,they did not treat design patterns, maintenance of code,and software refactoring,i.e.,topics which nowadays have an immense importance in practice.Caused by projects like the EU COST action274TARSKI“Theory and Appli-cation of Relational Structures as Knowledge Instruments”,presently the situation changes.People become more and more interested in problems arising from“real world”situations.This leads to a lot of work going on for practical applications of re-lational algebra and tools.Our article as well goes into this direction.We assemble some practical problems occurring in object-oriented software design and discuss how relations can formally and tool-based contribute to solve them.We use the tool RelView,developed at the University of Kiel since1993.With this software system at hand,relational algebra can fruitfully be integrated into object-oriented engineering-based software development.That is,both software engineering methods and tools are enriched by RelView which thereby pushes further the integration of formal methods and tools applying them.To demonstrate the wide applicability of the relation-algebraic approach,the examples we present are taken from different areas in software design and range from the search for improper code pieces to the detection of code parts which indicatesome design pattern structure.They are based on work done at the Universities of Kiel and Dortmund in cooperation with the software engineering group at the University of Cottbus and represent our most recent and prominent examples of applying relational algebra and RelView in object-oriented software design.This article is organized as follows.In Section2,we provide some relation-algebraic preliminaries.We briefly introduce the RelView system in Section3. Section4discusses different problems in object-oriented software design and shows how relational algebra and the RelView system can contribute to solve them.We terminate this article with a short summary and point out some interesting further work in Section5.2Relation-Algebraic PreliminariesWe assume the reader to be familiar with relational algebra.Nonetheless,we provide the notation and some definitions used throughout this article.We write R:X↔Y if R is a relation with domain X and range Y,i.e., a subset of X×Y.If the sets X and Y of R’s type X↔Y arefinite and of cardinality m and n,resp.,we may consider R as a Boolean matrix with m rows and n columns.Since this Boolean matrix interpretation is well suited for many purposes and Boolean matrices model relations in the RelView system,we use these notions and notations when appropriate.Particularly,we write R x,y instead of (x,y)∈R.We write R T for transposition,R for complement,R∪S for union,R∩S for intersection,R;S for composition,and R⊆S for inclusion.The empty relation is denoted by O,the universal relation by L,and the identity relation by I.A relation R is univalent if R T;R⊆I,and total if R;L=L.A univalent and total relation is called a function.A relation R is anti-symmetric if R∩R T⊆I holds,and transitive if R;R⊆R holds.The least transitive relation containing R is its transitive closure,R+,which equals the union of all powers R i where i≥1.The reflexive-transitive closure of R,denoted by R∗,is defined as I∪R+.The right residual R\S of two relations R:Z↔X and S:Z↔Y is defined as an abbreviation for the relation-algebraic term R T;S.From this definition itimmediately follows that R\S has the type X↔Y,and that(R\S)x,y holds ifand only if R z,x implies S z,y for all z∈Z.Given two relations R:X↔Y and S:X ↔Y,their relational sum is denoted by R+S.The domain of R+S is thedisjoint union X+X ,and the range is Y.If x comes from X,then(R+S)x,y isequivalent to R x,y;otherwise it is equivalent to S x,y.To model subsets of a given set with relation-algebraic means,we use vectors. These are relations v with v=v;L.For v:X↔Y,this condition means:Whatever set Z and universal relation L:Y↔Z we choose,an element x∈X with(v;L)x,z is either in relationship to no or to all elements z∈Z.Hence,the range of a vector is irrelevant,and we may consider a vector as a relation v:X↔1with a specific singleton set1={⊥}as its range.In this case,we omit the second subscript and write v x instead of v x,⊥.Such a vector can be considered as a Boolean matrix with exactly one column,i.e.,as a Boolean column vector,and represents the subset {x∈X|v x}of X.A vector is said to be a point if it is non-empty and its transposition is an univalent relation.These properties mean that it represents a singleton subset of its domain or an element from it if we identify a singleton set with the only element it contains.In the Boolean matrix model,hence,a point v:X↔1is a Boolean column vector in which exactly one component is true.3The RelView SystemRelView(see,e.g.,[4,5,8,10])is a software system for calculating with relations and relation-algebraic programming.In it all data are represented as relations,which the system visualizes in different ways.It offers several algorithms for pretty-printing a relation for which domain and range coincide as a directed graph.Alternatively, an arbitrary relation may be displayed as a Boolean matrix which is very useful for visual editing and also for discovering structural properties that are not evident from a graphical presentation.Because RelView often works on large data,it uses a very efficient implementation of relations based on ordered binary decision diagrams.For a more detailed treatment of this topic,see[20].RelView can manage as many relations simultaneously as memory allows and the user may manipulate and analyze them by pre-defined operations and tests, relational functions,and relational programs.The pre-defined operations include all operations presented so far,where the symbols for the basic operations of rela-tional algebra are^(transposition),-(negation),|(union),&(intersection),and* (composition).The pre-defined tests include e.g.,incl,eq,and empty for testing inclusion,equality,and emptiness of relations,respectively.All that can be accessed through simple mouse-clicks but the usual way is to compose it to functions and programs.A declaration of a relational function is of the form F(X1,...,X n)=t,where F is the function name,the X i,1≤i≤n, are the formal parameters(standing for relations),and t is a relation-algebraic term over the relations of the system’s workspace that can additionally contain the formal parameters X i,1≤i≤n.A relational program in RelView essentially is a while-program based on the datatype of relations.Such a program has many similarities with a function procedure in Pascal or Modula-2.It starts with a head line containing the program’s name and a list of formal parameters.Then the declaration part follows,which consists of the declarations of local relational domain constructions (direct products and sums),local relational functions,and local variables.The third part of a relational program is its body,a sequence of statements which are separated by semicolons and terminated by the return-clause.4Using Relations and RelView in Software EngineeringRelations occur in many places in Software Engineering.For example,the pipes-and-filters architecture can be seen as a system of relations[15]such that afilter with input X and output Y can be understood as a relation of type X↔Y.Pipes are connectors modelled by relational composition.UML class diagrams,as anotherexample,are based on elements and relations between them,i.e.class diagrams relate classes via association,aggregation,or inheritance.In predicate logic,it is well known that a predicate P over some sets X and Y can be understood as a relation R between exactly these sets:P(x,y)holds if and only if the pair(x,y)is in R.Speaking abstractly,whenever aspects of a software system are modelled by means of relations,and some of its properties are captured as predicate logical formulas,these properties can also be formulated in relational algebra by transforming them into relation-algebraic terms using well-defined correspondences as,for instance,found in[21].Theoretically,this may lead to terms involving relational descriptions of direct products;the following list of examples,however,taken from Software Engineering,can be presented without such advanced constructs.4.1Detecting Improper Code PiecesNowadays,software systems are too large to be comprehended and maintained ap-propriately only by reading and reorganizing their source code.Moreover,graphical representations of the underlying code and its properties need to be provided,and, indeed,both methods and tools for the automatization of many tasks in visualizing and analyzing code are developed.These tasks encompass,for example,detecting problematic code pieces,dead code,or code clones.Such analyses are vital to un-derstand source code,and a suitable visualization of such properties is helpful in understanding how the underlying code may be reorganized.Structural properties of source code can be extracted from it using parsing tech-niques and are frequently represented by a couple of relations.Then the goal is to visualize,to manipulate,and to transform the relations in order to analyze the underlying code and thereby obtain the information one is interested in.In this section,we briefly sketch how relational algebra and the RelView system can be used to analyze code.There also exist other specific relation-based tools for analyzing software,e.g.CrocoPat[12](see Figure1;this picture is taken from rmatik.tu-cottbus.de/CrocoCosmos/gdsw.html,in which Java classes are drawn as nodes and relations as arcs between them),or Grok[16].Compared to these tools,the main benefits of RelView are,first,its very effi-cient implementation of relations via ordered binary decision diagrams and,second, its sophisticated programming language.Ordered binary decision diagrams allow to deal with huge relations,and due to RelView’s programming language we can express many queries and manipulations in a very compact yet understandable way.To discuss the detection of improper code pieces,we assume an object-oriented software system,for instance,written in the Java programming language.To keep things easy,in the following we only consider method calls and deal with analysis based on a corresponding relation calls on the set C of classes of the system:calls:C↔C method callsFor classes x and x ,the relationship calls x,x holds if and only if in x there is a call of a method declared in x .Fig.1.Some relations between Java classesInitial Strongly Connected Components.When analyzing an object-oriented software system,essential information can be obtained by computing the strongly connected components with respect to the relation calls.Strong connectivity means that code cannot be invoked by classes outside this component.Experience has shown that strongly connected components which additionally are initial are very often candidates for dead code.The strongly connected components of calls are the equivalence classes of the equivalence relation comp,defined as intersection calls∗∩(calls T)∗.Using Boolean matrix terminology,the equivalence classes are described by the columns of comp such that each column assembles the(Java-)classes forming a strongly connected component.Furthermore,if the vector c:C↔1describes a single strongly con-nected component S,then the following calculation shows that S is terminal if and only if comp;c is contained in c:∀x,x :comp x,x ∧x ∈S→x∈S⇐⇒∀x,x :comp x,x ∧c x →c x⇐⇒∀x:(∃x :comp x,x ∧c x )→c x→c x⇐⇒∀x:(comp;c)x⇐⇒comp;c⊆cBased on this fact,it is rather trivial to compute all initial strongly connected com-ponents:One has to check each column c of comp and collect exactly those columns which satisfy comp;c⊆c,thereby avoiding duplicates.A RelView implementation of this procedure is presented in Section4.4.Detection of Cycles.It should be possible to understand the structure of a class xwithout knowing which other classes use a method of x.But it is absolutely necessaryto know about the methods called by methods of x–either directly or indirectly via a chain of calls of intermediate methods.This situation becomes more difficult to analyze if a chain of calls starting in x again leads back to x,i.e.,if the chain forms a cycle with respect to the relation calls.Therefore,a second task frequently occurring in the analysis of software systems is to test the relation calls being cycle-free and, if this test fails,to determine the classes lying on cycles.Since a class x lies on a cycle with respect to calls if and only if calls+x,x holds, a relation-algebraic description of cycle-freeness is rather simple:calls is cycle-free⇐⇒calls+⊆I.(1) The same is true for the vector describing the set of all classes lying on a cycle. Based on(1),a little reflection yields the relation-algebraic specification(calls+∩I);L:C↔1.(2) It occurs that the set described by this vector gets rather large.Experience has shown that in such a case it is advantageous to consider short cycles of a certain length,e.g.,all cycles of length less than10.Since x lies on a cycle of length n if and only if calls n x,x holds,these classes can be computed by replacing the transitive closure in the specification(2)by the n th power of calls.If one wants to draw the cycles of length n as graphs,especially using RelView,then this can be obtained by drawing the relation(calls n−1)T∩ing this term,for example,all such cycles contained in the code of the JWAM tool(which consists of1133classes and leads to a calls-relation with3499pairs)have been computed.Details can be found in[20].Direct Neighborhood.Let us consider a third situation exploiting relational al-gebra.To understand and visualize dependencies between the classes of a software system in general,it is reasonable to consider the direct neighborhood relation which for the calls-relation is element-wise described as follows:calls x,x ∧¬∃y:calls x,y∧calls+y,x .(3) This relation is called Hasse diagram in the case of strict order relations.If the relation under consideration contains cycles,it has turned out to be advantageous to consider strongly connect components as hyper vertices.In our context this means that two classes x and x are related if and only if they are in the same strongly connected component,or if they are in the direct neighborhood relation.Relation-algebraically this is described by(calls∗∩(calls T)∗)∪(calls∩calls;calls+):C↔C,(4) where the second part of the union of(4)is an immediate consequence of the element-wise description(3)of the direct neighborhood relation.4.2Checking Manipulations of DesignProgramming in the large is generally supported by tools allowing to design software in a graphical manner.Two-dimensional representations of object-oriented classes and their relations,such as e.g.UML diagrams,serve for automatically generating code frames and hence allow to manipulate code by manipulating these diagrams.In [1,3]and[2],however,we focus on3D representations of various relations between classes implemented in Java.Editing3D-diagrams requires not only to retain correct Java code as two-dimensional ones do.Moreover,three-dimensional arrangements are given meaning, and thus graphical constraints need to be considered both to define the syntax and semantics of our graphical language underlying3D representations.We declaratively define our visual language by means of predicates such that a3D-diagram is a term of the language–we say:is valid–if all predicates are satisfied.Editing is seen as term replacement,i.e.,editing may transfer valid diagrams into other valid diagrams. In constructive approaches to language definition using,for example,structural in-duction or production rules,a word or term is contained in a language if it can be constructed in a specific way.Our approach simulates this process by providing operations for editing obeying certain constraints.This means that the validity of 3D diagrams is proved by checking the constraints imposed on the visual language. We model these constraints with relational algebra,and use the RelView system to efficiently check them during the editing process.In[6],we discuss this approach in more detail.Java Class Relations.Java software is statically structured by packages,inter-faces and classes.Packages assemble classes,interfaces and(sub-)packages within a strict hierarchy.To keep things simple,we here only focus on packages and package containment as a relation on packages and classes.Information cubes display package containment and pipes relations between packages(see Figure2);the latter are of no concern rmation cubes glue together related information and may contain arbitrary arrangements of boxes rep-resenting Java classes.Cubes are semi-transparent and allow visual access to the information within.Let C and P be the sets of all classes and packages,resp.,of the Java code under consideration,and let CUBE and BOX be the pairwise disjoint sets of information cubes and boxes,resp.We denote the set of all graphical entities,i.e.the union of CUBE and BOX,as ENTITY.To relate graphical entities to Java code,we consider the following relations:C:BOX↔C class as boxP:CUBE↔P package as cubecM:CUBE↔C∪P cube membershipThe two relations C and P are univalent and ing the usual notation for functions,C(b)and P(c)is the Java code graphically represented by a box b or aFig.2.Some related packages containing related classescube c,respectively.The relation cM relates an information cube c to a class or a package x if the box or information cube representing x is displayed inside the information cube.We assume a3D coordinate system underlying our diagrams which allows us to unambiguously determine the position of each graphical entity by means of the following relation,where POINT is the set of all3D coordinates(points for short): point:POINT↔ENTITY point of an entity. Furthermore,we assume that different graphical entities always have different point sets and can therewith unambiguously be identified.With the help of the relation point we can easily define further relations to relate graphical entities displayed within a diagram.Here is a little example,saying that e is inside of e :inside e,e :⇐⇒∀p:point p,e→point p,e .(5) The element-wise definition(5)implies that,in relation-algebraic notation,inside equals the right residual point\ing inside,also the above mentioned de-mand that different graphical entities always have different point sets can easily be described by relation-algebraic means:It is equivalent to inside being anti-symmetric. Testing Constraints.3D-diagrams need to satisfy certain constraints the proper set of which describes the syntax of our3D-diagrams and is established by trans-lating Java code issues into graphical properties.Their maintenance needs to be checked during editing to determine valid3D diagrams from which Java code can be generated.We formulate two sample constraints as predicates and transform them into relation-algebraic terms as follows.Thefirst constraint claims that whenever a class represented by a box b is amember of a package p represented by a cube c,the box must be inside the cube or,recursively,of a cube representing a sub-package of ing the relations introduced so far and function notation for C and P,this representation property reads as∀b,c:cM c,C(b)↔inside b,c∨∃c :cM c,P(c )∧inside b,c .(6)Applying pure relational notation,cM c,C(b)is equivalent to∃x:C b,x∧cM c,x,and cM c,P(c )is equivalent to∃p:P c ,p∧cM c,p due to the totality of C and P.With this at hand,we transform(6)as follows:∀b,c:cM c,C(b)↔inside b,c∨∃c :cM c,P(c )∧inside b,c⇐⇒∀b,c:(∃x:C b,x∧cM c,x)↔inside b,c∨(∃c :∃p:P c ,p∧cM c,p∧inside b,c )⇐⇒∀b,c:(∃x:C b,x∧cM T x,c)↔inside b,c∨(∃c :∃p:P c ,p∧cM T p,c∧inside b,c )⇐⇒∀b,c:(C;cM T)b,c ↔(inside b,c∨(inside;P;cM T)b,c)⇐⇒∀b,c:(C;cM T)b,c ↔(inside∪(inside;P;cM T))b,c⇐⇒C;cM T=inside∪inside;P;cM TThat is,the representation property(6)holds if and only if the above equation holds which can simply and efficiently be tested by the RelView system(see Section4.4).The second constraints demands that each box b is contained in at most one cube c,i.e.,each Java class is a member of at most one package.An obvious formalization of this containment property using the cardinality operator on sets is∀b:|{c:cM c,C(b)}|≤1.(7) To transform property(7)into a relation-algebraic version,we again replace the relationship cM c,C(b)by∃x:C b,x∧cM c,x and proceed then as follows:∀b:|{c:cM c,C(b)}|≤1⇐⇒∀b:|{c:∃x:C b,x∧cM c,x}|≤1⇐⇒∀b:|{c:∃x:C b,x∧cM T x,c}|≤1⇐⇒∀b:|{c:(C;cM T)b,c}|≤1⇐⇒(C;cM T)T;(C;cM T)⊆IThat is,the containment property(7)holds if and only if C;cM T is an univalent relation.4.3Searching for Design PatternsThe construction of reusable software requires to provide a sophisticated and main-tainable design.For this purpose,Gamma et al.propose design patterns[18].A pattern factors out structural aspects of the software under construction and ar-ranges the classes involved in the pattern in a specific way.Patterns are based on experience and hence describe reoccurring problems.It is also clear that designing software is a non-trivial matter,and design needs to be reconsidered during software development more than once.Reengineering,i.e.changing design into a more maintainable one[22],or refactoring,i.e.enhancing design without altering the external behavior of the code[17],are such tasks a software engineer may face during the development process.The reorganization of software may thus embrace the replacement of parts of a design by an arrangement of classes following a design pattern.Since the classes under replacement may be scattered,both a suitable layout of a design document and experience in code inspection are vital to locate these classes.Again,methods and tools to automatically support this search may help in this situation.The automation requires a formal descriptions of both the design pat-terns and the software design documents given by,let’s say,a couple of UML class diagrams.It is then possible to analyze the latter and search for classes indicating possible occurrences of the former.Considering structural properties as done in the previous applications,a design pattern can be formalized by a couple of relations in analogy to software systems, since their structure is usually depicted by a UML class diagram as well.Hence,“matching patterns”can also be carried out by relation algebraic means. Formalizing Design Patterns.We model a design pattern by means of relations and express its structural properties in relation-algebraic terms.Such properties are necessary but not sufficient to identify classes forming a pattern,or to detect classes indicating they could be reorganized as a pattern.Moreover,code needs to be inspected since the methods of participating classes need to be considered as well to decide if a situation matches a pattern.Nonetheless,analyzing relations between classes in this way helps to detect suspicious parts of the design worth to be examined in more detail.Our approach thus works in three steps,thefirst two of which are treated by relational algebra.Thefirst step requires to formalize the structure of a pattern by means of relations.We call this step pattern formalization.The second stepfilters out(sub-)relations representing the formalization of a software design which have exactly the properties a design pattern requires.This step is called pattern indication. The third step,called pattern ascertainment,is not automated in this way since it requires to pairwise compare the methods defined in these classes to ascertain the composite pattern was indeed found.We study the Composite pattern as an example to explain thefirst two steps of our approach.The Composite Pattern.Figure3shows the Composite pattern.This pattern consists in essence of a class component and its two subclasses,composite and leaf.A composite aggregates components as its children which,recursively,may be com-posites or leafs.Graph-theoretically,the objects involved in a composition form a tree with respect to inheritance.The structurally interesting part of this pattern is given by the inheritance rela-tion and aggregation between the classes component and composite.Hence,we needFig.3.The Composite Patternto consider the following two relations:inherits:C↔C class inheritanceaggregates:C↔C class aggregationFor classes x and x the relationship inherits x,x holds if and only if x inherits from x ,and the relationship aggregates x,x holds if and only if x aggregates x .The structure of the Composite pattern leads to the task for two classes a and b to test whether a aggregates b,a is a subclass of b,and whether there exists a further subclass c of b at the same time.If this is true,then a is a candidate for the composite,b for the corresponding component,and c for the leaf.An element-wise formalization of the properties a and b have to fulfill isaggregates a,b∧inherits a,b∧∃c:a=c∧inherits c,b.(8) Using the definition of relational composition and the identity relation,formula(8) evolves to the following relation:aggregates∩inherits∩I;inherits:C↔C.(9) This relation enumerates as its members exactly all pairs a and b which are candi-dates for the Composite pattern.Notice,however,that this relation represents“direct matches”of the pattern. But the situation is not always that simple.The second step,pattern indication,is used to weaken the above test and to search for pairs of classes that do not directly match condition(8).For example,there might exist a class x that inherits from a class a inheriting from a class b which in turn is aggregated by x.In this case,b and x form a composition via the class a.Variations of this theme can be found using the inheritance relation,and,of course,any arbitrary mixture of these two situations.The pattern indication step hence formulates these possibilities relation-algebraically by simply using the transitive closures aggregates+and inherits+instead of aggregates and inherits in(9).Finding candidates possibly matching a pattern is done in these two steps,and the members of relation(9)and its variations can be further analyzed in the third step,the code inspection.。

chapter-3雅思王听力特别名词语料库

chapter-3雅思王听力特别名词语料库

Test Paper 1 ability abstract accountant accuracyacidaction activityactoradult adventure advertisements advertising adviceageagency agreement agricultureaidaimairallergyalley allowance alteration altitude ambition ambulance amount analysis analystangeranimalankleanswer Antarctica ape appearance architect architecture area argument aristocrat armyartarticle aspirin assignmentatlasaudienceauditoriumauthorauthorityaverageawardbachelorbackgroundbacteriabadgebadmintonbackpackbaldnessbandbandagebandsbankbanquetbasebasementbasesbasisbathbatteriesbatterybeachbeardbeatsbeautybedbedroombed sheetbedsitbehaviorsbeltbenefitbeveragebibliographybicyclebillbiologistbirdbirthblanketblastblockblouseboardboarderboatbonebowlbowlingbranchbreakfastbrickbridgebrochuresbuildingbungalowburgerburglarbuscabTest Paper 2cabinetcablecafécafeteriacageCambridgecamelcameracamp campus candidate candle canteen capital capsule carbon care career carpet carving cashier castle category cathedral cause cave cents century certificate chair chance chancellor channel chapter character charge charity chart chat checklist checks cheese chemist’s chest chick chicken child chin chocolate choice church cinema circlecity clarity cleanercleaningclientcliffsclimateclinicclockclothclothingclubcoachcoast codecokecolacolleague collegecomedycommercialscommutercompanioncompanycomplaintcomplexcomputerconcertconclusionconditionconferencesconfidenceconfirmationcongestionconquerorconquestconversationconservationconstructionconsultantconsumptioncontact containercontaminantscontaminationcontentcontinentcontractcontractscontroversyconveniencecooperationcopcopycorporationcorpsecorrespondencecostcostumecotcottagecoughcouncilcountrycoursecrack craftcreamcreditcreekcrimecrisiscrocodilecropcultivationculturecupcupboardcurtaincustomercutlerycyclecyclingdamagedangerdatadatedaydeadlinedebateTest Paper 3debtdecadedecisiondeclinedecorationsdelaydelegatedelight delivery demonstration dentist department deposit depth description desert design designer desiredesks destination detaildiary dictationdietdining dinner dioxide direction director disagreement disaster discipline disco discomfort discos discount discovery diseasedish disposal dispute distance divorce document documentarydonationdonkeydraftdramadrawdrawerdrinkdrinkingdriverdrivingdrugdrumduedurationdustdutyeagleeareasteatingeconomyeditoreducationelbowelderelectricityelementselevatoremotionemperoremployeeemployerencyclopediaendingenergiesengineengineerentranceepidemicequipmentethiceveningeventevidenceexaminationexampleexceptionexchangeexcitementexcursionexcuseexercisesexhibitionexistenceexistingexpansionexpenseexperimentexpertexplanationexplosionexpositionexposureextensionfacilityfactorfactoryTest Paper 4 faculty failure falconfanfarefarm farmer farming fashionfatfeastfeatherfeaturefeedbackfellowshipfemaleferriesfestival fieldfigurefilmfindingfingerfirmsfishfishingflagflashflatflightfloodfloodingflourflourishflowflufly forest forestry form formula fortnight fortune foyer freedom freezer freshman fruitfur furniture future gallery gap garage garbage garden gasoline gender germ gesture glass goal goldgolf grade grades graduate graduates grain grass green ground group growth guest guide gulfguygym habit handhandballhandbookshandlinghandouthatheadacheheadinghealthhearingheartheatinghenherbheroheroesheroinehikehikinghinthintshistorianhithitshobbyholidayhorsehospitalhouseworkhousinghouseholdshourTest Paper 5hotelhotline ]hunthuntingideaidentificationidentityimageimpactimportsinabilityincomingindexindustryinfectioninfluenceinformationinjectioninjuryinlandinsectinsomniainstituteinstitutioninstructioninstructorinstrumentinterestInternetinterviewerintroductioninvestigatorinvestmentirrigationislandisolationitemjacketjamjawjeansjournaljudgejuicejunctionjuniorkeeperkelpkeywordkidkingkioskkitkitchenkitsknifeknowledgekoalalablakelamplandlandmarklandscapelanguagelaptoplaserlavalawyerlayerlecturelecturerleisurelemonlenderlengthlessonletterlevellibraryliftlightlinelionlistsloanlocationlocklossloungeloyaltylucklunchlungmachinemagazine maidmail majority making male manager mane manufacture map margin mark market marketingmarshmastermatmatchingmaterialmaturitymaximummealmeasuremeasurementmeatmediamedicationmedicinemediummethodmicrophonemigrationmilemileagemilkminemineralmillminimumminutemixturemodelmoneymonopolymonthmoodmoralitymosquitomotelmountainTest Paper 6 moustache mouthmovie muscle museum music musical musiciannapnature naught=nought necknet newspaper nightnoisenorth northeast northwestnosenotenoticenurse nursery nursing nutnutrition objectiveoccasionoccupantoceanoculistointmentoption orderordinaryorganizeroriginal outlineoverdraftownerownershipOxfordpackagepagepaintpaintingpairpa;palacepanicpaperparcelparentparkparkingparticipantpassagespassengerpastimepatientpaymentpedestrianpensionpensionerspercentperformerperfumeperiodperiodicalperkpermitpersonpersonalitypetpetrolpetroleumphilosopherphotophotographphysicianphysicspianistpianopicnicpicturepiepillpinkplaceplacementplanplannersplansplantplantingplasticplateplayerplaygroundpleasurepocketpointpolicepollpollutantpollutepollutionportpositionpostpostgraduateparticularsTest Paper 7potteriespower powerpoint precaution precision preference preposition prescription presentation preservation president prevention printing priority privacyprize problem product production professors profit project promotion prone property prospectus protein psychiatrist psychologist psychotherapy publication pump purpose purse quality quantity quarter question radar radiator radio railwayrainrainfall range rankratrateratsrayreaderreadingreasonreceptionreciperecorderrecordingrecreationrecruitrecyclingrefereereferencereflectancereformrefugeregionregulationrelationrelationshiprelaxationreliefreligionremarkremovalrenewalrentrentalrepetitionreplacementreportreproduceresearchreservationreserveresidenceresidentresourcerespondentresponserestaurantresultretirementreturnreviewrevisionriceriderridersriskriverrobotrockrocketroleTest Paper 8roommatesrouterulesafarisafetysailsailingsaladsaladssalarysalesaltsamplesandalsatellitesaucesavingscalescandalscandalsscarscentscheduleschemescholarscholarshipsciencescientistscorescriptsculptureseaseasonseatsecondsecretarysectionsectorselectionselectionsseminarsensesentenceservantservicesewagesewersexshadesheepsheetshelfshellsheltership shoeshopliftersshoppershortageshowersidesightsignsignaturesilencesimulationsinglesitesizeskatingskeleton skillskinskirt slang slave sleep sleeping slip smell smoke smoking snacksoil solution sound source south southeast southwest space speaker speaking speed spending spider sponsor spoons sportsman spot stability stack stage stair standard star starter starting state statement station status steak steam stepstingstockstomachstomachachestonestorestorystrategystrengthstrikestylesubjectsubmitsubsidysuburbsugarsuitsunshieldsupervisorsupportssurfacesurgeonsurnamesurprisesurveysurvivalsweaterswitchswitchessymptomsyndicatesyrupsystemtabletablettapetaxTest Paper 9taxiteateacherteachingteamjargontermtechnologyteethtelephonetelescopetelevisiontempertempletexttexturegalaxythefttheorytherapisttherapythesisthiefthievesthinkingthirdthoughtthreatthrillertickettidetidestiletimbertimetitletoastertoilettomatotonetooltoptopictotaltouchingtourtouringtourismtouristtoweltowertowntracktractortradetramtragedytrailertrainingtrendtraveltravelertreatmenttriptribetributetributesTrinitytrolleytroubletubetunnelstuitiontunetunestutortypeumpireunderstandingutensiluniformunionuniversityusagevacancyvacationvalueparticularsvarietyvegetablevelvetvetvideo view village vinegar visa visitor vitamin vocation volunteer volunteers waist waiter walk walking wall world warming washing wasp waste wasteland water wavewax wealth weapon weather weeds week weekday weekend weight welfare west wetland whale wheel width willows windwing word workforce working wound writing year yoga youth zero。

IT常用英文词汇

IT常用英文词汇

第一部分、计算机算法常用术语中英对照Data Structures 基本数据结构Dictionaries 字典Priority Queues 堆Graph Data Structures 图Set Data Structures 集合Kd-Trees 线段树Numerical Problems 数值问题Solving Linear Equations 线性方程组Bandwidth Reduction 带宽压缩Matrix Multiplication 矩阵乘法Determinants and Permanents 行列式Constrained and Unconstrained Optimization 最值问题Linear Programming 线性规划Random Number Generation 随机数生成Factoring and Primality Testing 因子分解/质数判定Arbitrary Precision Arithmetic 高精度计算Knapsack Problem 背包问题Discrete Fourier Transform 离散Fourier变换Combinatorial Problems 组合问题Sorting 排序Searching 查找Median and Selection 中位数Generating Permutations 排列生成Generating Subsets 子集生成Generating Partitions 划分生成Generating Graphs 图的生成Calendrical Calculations 日期Job Scheduling 工程安排Satisfiability 可满足性Graph Problems -- polynomial 图论-多项式算法Connected Components 连通分支Topological Sorting 拓扑排序Minimum Spanning Tree 最小生成树Shortest Path 最短路径Transitive Closure and Reduction 传递闭包Matching 匹配Eulerian Cycle / Chinese Postman Euler回路/中国邮路Edge and Vertex Connectivity 割边/割点Network Flow 网络流Drawing Graphs Nicely 图的描绘Drawing Trees 树的描绘Planarity Detection and Embedding 平面性检测和嵌入Graph Problems -- hard 图论-NP问题Clique 最大团Independent Set 独立集Vertex Cover 点覆盖Traveling Salesman Problem 旅行商问题Hamiltonian Cycle Hamilton回路Graph Partition 图的划分Vertex Coloring 点染色Edge Coloring 边染色Graph Isomorphism 同构Steiner Tree Steiner树Feedback Edge/Vertex Set 最大无环子图Computational Geometry 计算几何Convex Hull 凸包Triangulation 三角剖分Voronoi Diagrams Voronoi图Nearest Neighbor Search 最近点对查询Range Search 范围查询Point Location 位置查询Intersection Detection 碰撞测试Bin Packing 装箱问题Medial-Axis Transformation 中轴变换Polygon Partitioning 多边形分割Simplifying Polygons 多边形化简Shape Similarity 相似多边形Motion Planning 运动规划Maintaining Line Arrangements 平面分割Minkowski Sum Minkowski和Set and String Problems 集合与串的问题Set Cover 集合覆盖Set Packing 集合配置String Matching 模式匹配Approximate String Matching 模糊匹配Text Compression 压缩Cryptography 密码Finite State Machine Minimization 有穷自动机简化Longest Common Substring 最长公共子串Shortest Common Superstring 最短公共父串DP——Dynamic Programming——动态规划recursion ——递归第二部分、编程词汇A2A integration A2A整合abstract 抽象的abstract base class (ABC)抽象基类abstract class 抽象类abstraction 抽象、抽象物、抽象性access 存取、访问access level访问级别access function 访问函数account 账户action 动作activate 激活active 活动的actual parameter 实参adapter 适配器add-in 插件address 地址address space 地址空间address-of operator 取地址操作符ADL (argument-dependent lookup)ADO(ActiveX Data Object)ActiveX数据对象advancedaggregation 聚合、聚集algorithm 算法alias 别名align 排列、对齐allocate 分配、配置allocator分配器、配置器angle bracket 尖括号annotation 注解、评注API (Application Programming Interface) 应用(程序)编程接口app domain (application domain)应用域application 应用、应用程序application framework 应用程序框架appearance 外观append 附加architecture 架构、体系结构archive file 归档文件、存档文件argument引数(传给函式的值)。

投稿过程中的英文理解问题汇总

投稿过程中的英文理解问题汇总

投稿过程中的英文理解问题汇总decision pending是具体负责稿件的编辑已做出决定,发给主编确认阶段。

即从责任编辑转到主编手里,由主编决定。

说明:(1)将内容大体分几类,请大家按类查找。

(2)基本贴出了一些原文。

使用者可以使用搜索功能寻找自己的INTERSTING。

方法为使用网页工具栏中的:编辑——查找当前页。

(3)希望大家以后还有类似问题,在该贴后跟贴。

(4)不全之处,请其他战友补充。

1、1)Supply illustrations at the size they are to be printed, usually 76 mm wide (single column of text) or for especially large figures 161 mm (two columns of text). The intermediate width of 100 mm is also available should neither of these suffice.2)Do not put a box around graphs, diagrams or other artwork.3)Ensure that lettering is appropriately sized – should correspond to 8 or 9 pt when... amp;tpg=2&age=02、Conflicts of interestWe ask authors to state all possible conflicts of interest, including financial and other relationships. If you are sure that there is no conflict of interest, please state this. You might like to look at an editorial in the British Medical Journal on Beyond conflict of interest (cgi/content/short/317/7154/291). Remember that sources of funding should be acknowledged in your paper.... amp;tpg=2&age=03、Submission items include a cover letter (Authors are highly encouraged to include a list of 5-6 potential reviewers for their manuscript, with complete contact information), the manuscript (including title page, abstract, manuscript text, references, and table/figure legends), tables, and figures.The manuscript must be accompanied by a covering letter detailing what you are submitting (type of contribution, title, authors' names and affiliation, etc.).... amp;tpg=3&age=04、1).Authors can submit their articles electronically via the “Author Gateway” page of this journal ( system automatically converts source files to a single Adobe Acrobat PDF version of the article, which is used in the peer-review process. Please note that even though manuscript source files are converted to PDF at submission for the review process, these source files are needed for further processing after acceptance.2).Alternatively authors can submit by sending three hard copies of the manuscript and matching disk or e-mail directly to an editor who is an expert in the field of work being submitted.3).The Publisher welcomes the receipt of an electronic version of your accepted manuscript (preferably encoded in LATEX). If there is not already a copy of this (on diskette) with the journal Editor at the time the manuscript is being refereed, you will be asked to send a file with the text of the accepted manuscript directly to the Publisher by e-mail or on diskette to the address given the electronic file is suitable for processing by the Publisher, the article will be published without rekeying the full text. The article should be encoded in LATEX, preferably using the Elsevier document class ‘elsart’, or alternatively the standar d document class ‘article’ or the document style ‘re-vtex’. ... amp;tpg=3&age=05、1)Manuscripts should be written in clear, concise form and sent to the Director,Three copies of the manuscripts must be written in English and double-spaced throughout.2) Each table should be titled, appropriately numbered and typed on a separate sheet.Units of measurement should be indicated and all abbreviations defined. 3) All the illustrations (graphs, drawings and photographs) should be referred to in the text as Figures. These should be good quality glossy photographs (or original India-ink drawings).4) Since graphs are generally reduced in size to cm, numbers, letters and symbols are to be originally large enough so that, when reduced, they will remain at least 2 mm high to maintain legibility. To avoid reduction, photographs' width should generally not exceed cm. When necessary, photographs can be arranged to form a plate of the maximum size of 17 cm (width) x 18 cm (height). Legends to figures should be typed on a separate sheet.5) Reprints should be ordered when returning the revised proofs and will be charged to the Authors.... amp;tpg=3&age=06、The Title page should include (1) a short and informative full articletitle (series titles are not accepted); (2) names of all authors (with one forename in full for each author), followed by their affiliations (department, institution, city with postcode, country); (3) the mailing address, fax and phone number and e-mail address of the corresponding author; (4) a running title of 50 characters or less.... amp;tpg=4&age=07、Entering a Comment is Required for Submission.You must include below an ethical statement that the manuscript has not and will not be submitted for publication elsewhere, while it is in review for MRB.Please suggest 3 suitable reviewers for your manuscript. Please provide the full name and e-mail address, and if possible, telephone number and postal address of each suggested reviewer.Please enter any additional comments that you would like to send to the editorial office. These comments do not appear in your manuscript. ... amp;tpg=4&age=08、running title,teaching cases... amp;tpg=5&age=09、Two complete sets of ullitrations must be submitted with legends typed on the same sheet... amp;tpg=6&age=010、All illustrations should accompany the typescript, but not be inserted in the textphotographs....should have the author's name, bthe figure number and an indication as to which is the top of the picture.Script should be typed doulbe-spaced on one side of the paper only", "doulbe-spaced“... amp;tpg=6&age=011、“The name of the author and the number of the figure (in Arabic numbers) should be written in the margin in blue pencil.”The legends of the figures should be typed on a separate sheet headed "Figure legends".)(figure legend)... amp;tpg=7&age=012、Submit the text (including any Tables) as a single file, in a standard disk inch, not high density; 100 and 250 MB Zip disk and CD are also accepted), together with two hard copies of the manuscript and two sets of figures (not photocopies). Not photocopies... amp;tpg=7&age=013、reviewer suggestions... amp;tpg=8&age=014、The manuscript must be accompanied by copies of all relevant papers published elsewhere by the authors and by copies of relevant manuscripts that are in press or under editorial consideration. If any tables or illustrations have been published elsewhere the editorial office must be informed so that permission to reproduce can be obtained from the original publishers.Papers must be arranged in the following order of presentation: title of paper; names of the authors; address of the place at which the work was carried out; a self-contained synopsis of the paper (100-200 words in length); tables; an abbreviated title for use as a running headline; captions to figures (on a separate page). Submissions not conforming to these guidelines may be returned to the authors.a self-contained synopsis of the paper (100-200 words in length); tables; an abbreviated title for use as a running headline; captions to figures (on a separate page)Figure captions should be submitted on a separate sheet of manuscript paper, clearly labeled. A total of 25 reprints of each paper will be provided free of charge to the author... amp;tpg=1&age=015、cover letter和reviewer suggestions... mp;tpg=17&age=016、In my experience, most overseas English journals with IF 1-5 don't require any review fees and publication fees. Moreover, you may receive up to 50 reprints for free when the paper is published.However, some (not all) journals with higher IF, you may need such fees. You have to check if before or when you submit (normally online) your paper.... mp;tpg=19&age=017、The authors should submit all the following files:official letter (paper with the heading of the institute, laboratory or company submitting the manuscript) signed by one of the authors, scanned as an image or pdf file.... mp;tpg=21&age=018、cover letter 和comment... mp;tpg=25&age=019、Running Title... mp;tpg=30&age=0【投稿状态】1、awaiting AE assignment... amp;tpg=3&age=02、with mini-hanging committee... amp;tpg=4&age=03、Current Status:Required Reviews Completed... amp;tpg=4&age=04、Awaiting Chief Editor Decision... amp;tpg=4&age=05、with referees Awaiting ED Recommendation... amp;tpg=5&age=0... amp;tpg=6&age=06、under review... amp;tpg=5&age=07、Required reviews completed... amp;tpg=5&age=08、with editor... amp;tpg=6&age=09、status date... amp;tpg=6&age=0awaiting reviwer assignment... amp;tpg=7&age=010、in press ;Corrected Proof;Available online 16 September 2005 ... amp;tpg=8&age=011、awaiting scores awaiting AE decision AE... mp;tpg=13&age=012、in review... mp;tpg=17&age=013、with editor for decision... mp;tpg=23&age=0【图表要求】1、Submit original figures with the final manuscript. Figures are normally glossy prints of photographs or crisp black and white reproductions (photostats) of line drawings. To submit figures as computer files follow the instructions below. Image resolution must be 300 ppi at final printed image size. If the final printed image size is unknown, size the image at a larger than final print size, maintaining at least 300 ppi resolution, and we will downsample the image to fit the final print dimensions (we cannot enlarge a digitized image). Image sizes as follows: 2175 pixels wide for a 2-column image; 975 pixels wide fora 1-column image.... amp;tpg=1&age=02、line artwork, halftone artwork, combination artwork(line/tone) ... amp;tpg=1&age=0... mp;tpg=13&age=03、“ Authors should NOT in addition then post a hard copy submission to the editorial office, unless you are supplying artwork, letters or files that cannot be submitted electronically, or have been instructed to do so by the editorial office.”“References to figures and tables should be made in order of appearance in the text and should be in Arabic numerals in parentheses, . (Fig. 2). Most file formats are accepted, but TIFF and EPS files, with fonts embedded, are preferred. If scanned, line art should be at a resolution of 800 dpi, and halftones and colour at 300 dpi. All colour values should be CMYK. ”... amp;tpg=2&age=04、Figures (photographs, diagrams and graphs)All illustrations should be provided in camera-ready form, suitable for reproduction (which may include reduction) without retouching. In addition, illustrations should be sent in electronic form wherever possible, with each illustration included as an individual TIFF or EPS file.Figures should be numbered consecutively in the order which they are referred to. They should not be included in the manuscript pages. The following standard symbols should be used as they are readily available to the typesetter: [] ע. Figure captions should be typed on a single sheet and placed at the end of the manuscript. The amount of lettering on a drawing should be reduced as far as possible by transferring it to the legend.... amp;tpg=3&age=05、Tables should be typed on separate pages and be numbered consecutively using Arabic numerals.... amp;tpg=4&age=06、For each item you wish to submit, scroll down and:Select the appropriate Item from the drop-down list. Mandatory Items are marked with an asterisk *.Enter a Description in the text box. Click Browse. In the open a window, select the file on your computer (original source file, not a PDF) and click Open. 'File Name' is filled now. Click Attach This File.Repeat steps 1-5 to attach the next submission Item When all Items have been attached, click Next at the bottom of the page.Note 1: Figures, graphics, photos should not be embedded in the manuscript text file. Please upload separate figure files, preferred formats are EPS, TIFF, JPEG.Note 2: If a Figure or Table is uploaded as a separate file, then please exclude this from the manuscript textfile, otherwise it will be shown in the PDF twice.... mp;tpg=15&age=07、Line graphs and bar charts should be sent in bitmap TIFF files witha minimum resolution of 1200 dpi, or as EPS files, with a preferred line width of 1 pt (minimum line width of pt). Bitmap images should be sent as TIFF files and not placed within EPS files .... mp;tpg=23&age=0。

分支图表英文作文

分支图表英文作文

分支图表英文作文Title: Branching Diagrams: A Comprehensive Overview。

Branching diagrams, also known as tree diagrams or tree structures, are graphical representations that display the relationships between different components or elements of a system. They are widely used in various fields such as computer science, linguistics, biology, and decision-making processes. In this essay, we will explore the significance, types, and applications of branching diagrams.Firstly, branching diagrams serve as invaluable tools for organizing and visualizing complex information. By depicting hierarchical relationships in a clear and concise manner, they facilitate understanding and analysis. For instance, in computer science, tree diagrams are commonly used to illustrate the hierarchical structure ofdirectories and files in a file system. Each branch represents a directory, subdirectory, or file, with the root node at the top representing the main directory.There are several types of branching diagrams, each suited to different purposes and domains. The most common types include:1. Hierarchical Tree Diagrams: These diagrams depict hierarchical relationships, with each node representing a category or subcategory, and branches indicating the connections between them. They are extensively used in taxonomy, organizational charts, and family trees.2. Decision Trees: Decision trees are a type of branching diagram used for decision analysis and decision-making processes. They represent decisions, probabilities, and possible outcomes in a tree-like structure, making it easier to visualize and evaluate different options.3. Syntax Trees: In linguistics and computer science, syntax trees are used to represent the grammaticalstructure of sentences or phrases. Each node corresponds to a word or phrase, and branches indicate syntactic relationships such as subject-verb-object.4. Evolutionary Trees: Evolutionary trees, also knownas phylogenetic trees, illustrate the evolutionary relationships between different species or groups of organisms. They are crucial for understanding evolutionary history and biodiversity.5. Mind Maps: While not strictly hierarchical, mind maps can be considered a type of branching diagram. Theyare used for brainstorming, organizing ideas, andvisualizing connections between concepts or information.The applications of branching diagrams are diverse and far-reaching. In biology, phylogenetic trees are used to study evolutionary relationships and track the divergenceof species over time. In business and finance, decisiontrees are employed for risk analysis, investment strategies, and project management. In natural language processing, syntax trees are used for parsing and analyzing thestructure of sentences in computational linguistics.Moreover, branching diagrams play a vital role ineducation and learning. They provide visual aids for students to understand complex concepts, relationships, and processes. Teachers often use tree diagrams to explain topics such as classification systems, decision-making strategies, and sentence structure.In conclusion, branching diagrams are powerful toolsfor organizing, analyzing, and visualizing complex information in various fields. Whether representing hierarchical structures, decision processes, evolutionary relationships, or linguistic syntax, they offer a clear and intuitive way to comprehend intricate systems. As technology advances and interdisciplinary research expands, the importance and utility of branching diagrams continue to grow, contributing to enhanced understanding and innovation across diverse domains.。

《英语学术论文写作教程》教学课件 Unit 6 Abstract

《英语学术论文写作教程》教学课件 Unit 6 Abstract

Abstract
Questions: 3. What tenses are used in this abstract? How are these
tenses used?
Past tense and present tense are used in this abstract. The opening statement and the purpose of the research are in the present. The past tense is used in the discussion about the methodology, results and conclusion.
英语学术论文写作教程
Unit 6 Abstract
Overview
An abstract is an overview of a research paper. It always appears at the beginning of the paper, acting as the point-of-entry. An abstract may explicitly or implicitly give information about Research Background, Introduction, Objectives, Methods, Results, and Conclusions, providing readers with brief preview about the whole study, upon which many readers depend to decide whether to read the entire paper or not. Therefore, as your first readers, publishers of some journals may determine a rejection of your manuscript by skimming the abstract alone.

cfa level 1词汇 L1word4

cfa level 1词汇 L1word4

cfa level 1词汇L1word4Prioritize vt. 按优先次序列出, 优先考虑profile n.侧面;人物简介;轮廓,曲线vt.为…描绘pet n.宠物vt.抚摸,轻抚a.宠爱的a pet project of senior management 有公司高管偏好在里面的项目perk vi.昂首,振作,举止高傲,神气活现vt.竖起,打扮,使振作,滤煮n.小费,津贴;额外补贴ad hoc adj. 特别地; 专门地; 格外地仅为某一目的(而做或安排)(的); 特别(的): 非事先计划(的); 非正式(的):Yield SpreadThe difference between yields on differing debt instruments, calculated by deductingthe yield of one instrument from another. The higher the yield spread, the greater the difference between the yields offered by each instrument. The spread can be measured between debt instruments of differing maturities, credit ratings and risk. Investopedia Says:Looking at the yield spread, often with historical spreads, can give investors ideas for potential investment opportunities.For example, if the five-year Treasury bond is at 5% and the 30-year Treasury bond is at 6%, the yield spread between the two debt instruments is 1% (6% - 5%). If the yield spread has historically been closer to 5%, the investor is much more likely to invest in the five-year bond compared to the 30-year bond (as it should be trading around 1% instead of 6%).In other words, if the 30-year bond is trading at 6%, then based on the historical yield spread, the five-year should be trading at around 1%, making it very attractive at its current yield of 5%.收益利差:不同品质证券的收益率之间的差额。

大学英语三级词汇表

大学英语三级词汇表

大学英语三级词汇表1. IntroductionThe College English Level Test (CET) is an important assessment tool for students in China aiming to enhance their English proficiency. The CET Level 3, also known as the College English Test Band 3, is designed to measure students’ ability to understand and use English effectively in academic and social contexts.To prepare for the CET Level 3, it is crucial for students to develop a strong vocabulary. This document aims to provide an extensive word list that covers the vocabulary typically tested in the CET Level 3. By familiarizing themselves with these words, students can enhance their reading, writing, listening, and speaking skills.2. CET Level 3 Word ListThe following word list includes words frequently used in the CET Level 3 examination. These words have been categorized into different parts of speech for ease of understanding and learning.Nouns1.analysis - the process of examining something in detail in order tounderstand it better2.concept - an abstract idea or general notion3.criticism - the act of analyzing or evaluating something critically4.factor - a fact or situation that influences or contributes to a result5.implementation - the act of putting a plan or decision into effectVerbs1.acquire - to gain or obtain something through effort or experienceprehend - to understand or grasp the meaning of something3.conflict - to be in opposition or disagreement with someone orsomething4.distinguish - to recognize or understand the difference betweenthings5.interpret - to explain or understand the meaning of somethingAdjectives1.adequate - sufficient or satisfactory in quality or quantityplex - consisting of many different and connected parts3.distinct - clearly different or separate from others4.significant - important or meaningful in a particular context5.substantial - large in amount, size, or importanceAdverbs1.approximately - about, around, or roughly2.effectively - in a way that produces the intended or desired result3.necessarily - as a necessary result or consequence; inevitably4.simultaneously - happening or existing at the same time5.specifically - in a precise or explicit wayOther Parts of Speech1.abundance - a large quantity or amount of something2.consequently - as a result or therefore3.devotion - enthusiasm or loyalty towards a person, activity, or cause4.implementation - the carrying out or execution of a plan, idea, orpolicy5.literally - in a strict or literal sense, without exaggeration ormetaphor3. ConclusionThis CET Level 3 vocabulary list provides students with a comprehensive range of words commonly encountered in the examination. By studying and practicing these words, students can improve their language proficiency and increase their chances of success in the CET Level 3. Remember to use these words in various contexts to reinforce your understanding and usage. Good luck with your preparations!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IEEE International Conference on Computer Design (ICCD’00)Austin, September 2000Efficient Dynamic Minimization of Word-Level DDsbased on Lower Bound ComputationWolfgang G¨u nther Rolf Drechsler Stefan H¨o rethInstitute of Computer Science Siemens AGAlbert-Ludwigs-University Corporate TechnologyFreiburg im Breisgau,Germany Munich,Germany guenther,drechsle@informatik.uni-freiburg.de Stefan.Hoereth@mchp.siemens.deAbstractWord-Level Decision Diagrams(WLDDs),like BMDs or K BMDs,have been introduced to overcome the limita-tions of Binary Decision Diagrams(BDDs),which are the state-of-the-art data structure to represent and manipulate Boolean functions.However,the size of these graph types largely depends on the variable ordering,i.e.it may vary from linear to exponential.In the meantime,dynamic ap-proaches tofind a good variable ordering are also known for WLDDs.In this paper we show how these approaches can be accelerated significantly using a combination of a lower bound computation and synthesis operations.In the exper-iments it turned out that by this technique,the runtime for dynamic minimization can be reduced by more than40% on average without loss of quality.1IntroductionFormal verification has become one of the most impor-tant steps in circuit design.Since modern circuit designs can contain several million transistors,also verification of such large designs becomes more and more difficult.Pure simulation cannot guarantee the correct behavior and ex-haustive simulation is often impossible.However,many designs have a very regular structure, like ALUs,that can be described easily on a higher level of abstraction.For example,describing and verifying an in-teger multiplier on the bit-level is very difficult,while the verification becomes easy if the outputs are grouped to a bit-string[9].Recently,several approaches to formal cir-cuit verification have been proposed that make use of these regularities[1,15,3].All these approaches have in com-mon that they are based on Word-Level Decision Diagrams (WLDDs),i.e.a graph based representation of functions (similar to BDDs[8])that allow to represent functions with a Boolean range and an integer domain.Examples of WLDDs are EVBDDs[25],MTBDDs[12,2],*BMDs[9], HDDs[13],and K*BMDs[18].In the meantime WLDDs have been integrated in verifications tools[1,11]and are also used for symbolic model checking[14,10,16].BDDs and WLDDs have in common that the underly-ing variable ordering determines the size of the diagram and by this the memory needed to represent a function. Therefore,finding a good variable ordering is very impor-tant for WLDDs.For BDDs,the best results were obtained by sifting[27],measured in the number of nodes of the re-sulting BDD.Sifting can be used for WLDDs,too,and it can also be extended to improve the Decomposition Type List(DTL)of WLDDs simultaneously[23].(This is also known as DTL-sifting[17].)However,especially for larger functions,dynamic minimization can become very time consuming.In[24],it is reported that for automatic ver-ification of a BCD-to-binary converter60%of the runtime was used for dynamic minimization.Therefore,methods to speed up sifting are increasingly important.In this paper we investigate the use of lower bound techniques during dynamic minimization of WLDDs.We prove for thefirst time lower bounds for WLDDs.Simi-lar lower bounds have already successfully been used for BDDs[19].Furthermore,we show why dynamically ap-plying the approach from[19]in the word-level domain cannot reduce the runtime much and how these problems can be solved.Finally,we give experimental results to show the efficiency of our approach.It is shown that run-time for both sifting and DTL-sifting can be reduced by more than40%using these methods.The paper is structured as follows:first,the concept of WLDDs is reviewed and dynamic variable reordering tech-niques are described.In Section3,the proof for the lower bounds is given.A method to incorporate these lower bounds to DTL-sifting is outlined in Section4.Experi-mental results are given in Section5.Finally,the paper is summarized.2Preliminaries2.1Word-Level Decision Diagrams(WLDDs)Decision Diagrams(DDs)are a graph-based represen-tation for functions(bit-level DDs)or(word-level DDs,WLDDs).At each(non-terminal)node labeled with a variable,a decomposi-tion of function represented by into two sub-functions and is performed.For bit-level DDs the following three decompositions have been considered[17]:negative Davio Function is represented at node,while()denotes the function represented by the low-edge(high-edge)of.is the Boolean Exclusive OR operation.The recursion stops at terminal nodes labeled with0or1.If a decomposition of type(,)is carried out at some node,then is called a-node(a,-node).If only decompositions of type S are applied the resulting DD is a BDD[8],while in OKFDDs[20]all three are allowed.In this paper,we consider the same three decomposi-tions for WLDDs:The notation,,and is used analogously to the bit-level.still denotes a Boolean variable,but the values of the functions are integer numbers and they are combined with the usual operations(addition,subtraction,and multi-plication)in the ring of integers.The functions and can be computed as follows(denotes the cofactor of to):For two variables,and,we defineDecomposition types are associated with the Boolean variables using a Decomposition Type List (DTL)where, i.e.provides the decomposition type for variable ().While it turned out that complement edges are a good extension to BDDs[7],for WLDDs also additive and mul-tiplicative edge values were introduced.For K BMDs which are the most general WLDD the function repre-sented by a node and edge values and is obtained bywhere and are integer numbers and is the function represented by node.Of course,the size of the representation for a given function depends on the chosen variable ordering and DTL.There are examples of parameterized functions which provide exponential gaps between representations with differing variable order and DTL[8,4].On theotherFigure1.Sifting one variablehand,finding good variable orderings and DTLs turns out to be difficult[6]and therefore heuristics have been devel-oped tofind at least reasonable orderings and DTLs.The most successful approaches are based on Dynamic Vari-able Ordering(DVO)[27,23]and DVO with DTL change [17].2.2Exchange of Neighboring VariablesMost DVO methods are based on exchanging adjacent variables of the variable ordering[21,27].If the exchange is a local operation,it can be performed very quickly since only edges must be redirected within both levels,and a complete reconstruction of the DD is not necessary.For BDDs it has been shown that level exchange is a local op-eration[21].For WLDDs,the level exchange is not in all cases a local operation,but several restrictions/extensions allow to handle it efficiently[23].In case of K BMDs,it has been shown that one repair run after sifting is sufficient to restore canonicity,as only the sign of the multiplicative edge values may be affected.For more details see[23]. 2.3SiftingThe most popular DVO algorithm is sifting[27].All variables of a given DD are successively considered.When a variable is chosen,the goal is tofind the best local posi-tion of the variable,assuming that the relative order of all other variables remains the same.In afirst step,the order in which the variables are considered is determined.This is done by sorting the levels according to their size with largest levelfirst.Tofind the best position,the variable is moved across the whole DD.In[27],this is done in three steps(see Figure1):1.The variable is exchanged with its successor variableuntil it is the last variable.2.The variable is exchanged with its predecessor until itis the topmost variable.3.The variable is moved back to the closest positionwhich led to the minimal size of the DD.2.4DTL-SiftingThe idea of DTL-sifting is to alter the DTL if it is easy to do so,i.e.when the variable is in the lowest level of the DD.For any node of the lowest level,both outgoingDTL changeFigure2.DTL-sifting for one variable edges are constants and thus the decomposition type can easily be modified.An additional repair run is necessary only if a transformation to(or from)is performed[17]. Therefore,has not been considered in[23]as a decom-position type,i.e.only and are used.The following procedure has been proposed(see Figure2):1.The variable is exchanged with its predecessor vari-able until it is the topmost variable.2.The variable is exchanged with its successor until it isthe last variable.3.The decomposition type of the variable is modified,i.e.if the decomposition type was,it is set to,and vice versa.4.The variable is exchanged with its predecessor until itis the topmost variable.5.The variable is moved back to the closest positionwhich led to the minimal size of the DD.If the decom-position type before has led to a better size,then the type is modified again,i.e.the variable is again sifted down,the type is exchanged,andfinally the variable is moved to the optimal position.3Lower Bounds on WLDD SizesThe idea of using lower bounds during sifting is that the process of moving a variable into some direction can be stopped as soon as it is known that no further improve-ment is possible.If the computation of the lower bound is less expensive than actually moving the variable,then the overall computation time can be reduced without loss of quality.In the approach proposed in this paper a lower bound that can be computed efficiently is used.It specifies how much the size can be reduced at most if a given variable is moved in the variable order.In fact this is the same lower bound that is already known as a theoretical result for BDDs(see[5])and that was already used to accelerate sifting of BDDs[19].However,it is not obvious at all that this lower bound transfers to WLDDs.3.1Bounds for Level ExchangesIn the following,the node increase for the exchange of neighboring levels is examined.In the whole section it is assumed that the function essentially depends on all its variables and that the variable ordering before the ex-change operation is.The number of nodes labeled with is denoted by label.Furthermore,we restrict to the case of K BMDs since this is the most gen-eral data structure.Theorem1Let be represented by a K BMD and let.If the levels and are exchanged, the resulting level sizes label are bounded bylabel labelandlabel label,bel label label.Cases1and4directly transfer from BDDs to WLDDs[5]. Case3follows from Case2since exchanging two levels twice leads to the original representation.To prove Case2, more detailed observations have to be made.Level has to represent the following set of functions:and depends onIt is represented by a set of nodes,such thatIf the levels and are exchanged,the setand depends onhas to be represented in level by a set of nodes. The size of is at most twice the size of.is given byi.e.also the size of can double at most(see Figure3).Now it has to be shown that all nodes of can re-ally be represented by.Let the decomposition type of be(all other cases are handled analogously). Let.Assume that depends essentially on (otherwise the node is not affected by the level exchange). Then for some,i+1x i+1x ix ix i+1x ix v’0vv’1V’VFigure 3.Nodes during level exchangesi.e.or .Let be the node representing ,i.e.for some .For ,we know that after exchanging the two levels,it holdsand that these functions are represented by some nodes and ,respectively.In case that ,then can simply be represented by ,as.In the other case,.Thus,all elements ofcan be represented using nodes of set only.Remark 1If neighboring levels do not interact,the re-sulting level sizes remain unchanged,bel label and label label .This can be checked efficiently using an interaction matrix [26].3.2Lower Bounds for one VariableIn this section we give lower bounds for the WLDD size if a single variable is moved in the variable ordering and the relative order of all other variables remains unchanged.Since these bounds follow from Theorem 1in the same way as for BDDs [19],no proofs are given in the following.Letbe a Boolean function represented by a WLDD and assume that the initial variable ordering is .Letdenote a set of variables.The definition of label is ex-tended to a set of variables usinglabellabelCorollary 1Let .If level is moved down to level ,resulting in the variable orderingfor the size of the resulting WLDDholdslabellowerofexchange(,);=compute bound();if (sizeBDD())=size BDD();=;Figure 4.Sketch of the “sifting down”-algorithmCorollary 2Let .If level is moved up tolevel ,resulting in the variable orderingfor the sizeof the resulting WLDD holdslabelf x =0 if x =1iSixf x =0ifx =1ipDixx =0ifFigure ing a synthesis operation tomodify theDTLFigure6.DTL-sifting for one variable usingsynthesis operationssynthesis operation to modify the decomposition type will probably be cheaper than moving the variable over a long distance in the variable order.On the other side,if the vari-able had to be shifted to the lower end of the K BMD in spite of the computed lower bounds,then in both cases the cost to modify the decomposition type is small.This leads to the following procedure(see Figure6): 1.The variable is exchanged with its predecessor vari-able until it is the topmost variable or the lower bound has been reached.2.The variable is exchanged with its successor until it isthe last variable or the lower bound has been reached.3.The decomposition type of the variable is modified,i.e.if the decomposition type was,it is set to,and vice versa,using a synthesis operation.4.The variable is exchanged with its successor until it isthe last variable or the lower bound has been reached.(This has to be done since the lower bound may have changed because of the previous step.)5.The variable is exchanged with its predecessor until itis the topmost variable or the lower bound has been reached.6.The variable is moved back to the closest positionwhich led to the minimal size of the DD.If the de-composition type before has led to a better size,then the type is modified again using a synthesis operation. 5Experimental ResultsIn this section we describe experimental results that have been carried out on a SUN Ultra1with256MBytes.All runtimes are given in CPU seconds.The algorithm has been integrated in the TUDD package[22].In afirst series of experiments,we compare the origi-nal sifting algorithm[27]with the version using the lower bound improvement.The latter one will be referred as lb-sifting.Results are given in the left part of Table1.In col-umn circuit the name of the benchmark circuit is given and column in refers to the circuit’s number of inputs.First, the K BMD was built using decomposition types only (column initial).The outputs were grouped together in the same order as written in the original description.The size of the K BMD after applying sifting is shown in columnfinal.In most cases lb-sifting results in the same sizes.However,in a few cases the optimal position for one variable is not unique,and therefore lb-sifting may result in different sizes.The only difference we observed was c5315,where thefinal size of lb-sifting was one node larger than after sifting.In columns sifting and lb-sifting,the runtime is given for afinal call of sifting and lb-sifting,respectively.The improvements are given in the next column.As can be seen lb-sifting needs on average40%less runtime.In a second series of experiments,we study the im-proved DTL-sifting.Results are given in the right part of Table1.In contrast to the previous experiments,we al-ready used DTL-sifting when constructing the K BMD.It can be seen that using the improvements discussed in Sec-tion4,runtime can be reduced again by more than40%on average.It was also very surprising that runtimes never got larger when synthesis operations were used instead of level ex-changes to modify the decomposition type of a variable. This clearly demonstrates the efficiency of the approach.6ConclusionsTo speed up the time-consuming process of dynamic variable reordering,we proved a lower bound technique which can be used in an automated way during sifting of WLDDs.For DTL-sifting,the lower bounds cannot be used directly.Therefore,we described a method to use synthesis operations to make use of the lower bounds.Ex-perimental results showed a speed-up of more than40%on average for both methods.References[1]L.Arditi.*BMDs can delay the use of theorem provingfor verifying arithmetic assembly instructions.In FMCAD, pages34–48,1996.[2]R.I.Bahar, E.A.Frohm, C.M.Gaona,G.D.Hachtel,E.Macii,A.Pardo,andF.Somenzi.Algebraic decision di-agrams and their application.In Int’l Conf.on CAD,pages 188–191,1993.[3] C.W.Barrett,D.L.Dill,and J.R.Levitt.A decision proce-dure for bit-vector arithmetic.In Design Automation Conf., pages522–527,1998.[4] B.Becker,R.Drechsler,and R.Enders.On the computa-tional power of bit-level and word-level decision diagrams.In ASP Design Automation Conf.,pages461–467,1997.Table1.Experimental resultsin initial lb-siftingfinal sifting difference alu4617 1.9-31.6%890 1.7 1359987.544515.1-27.2% c43213801172.9-60.4%1539257.1 6057596213.937669570.3-36.8% c2670323874.6-32.4%9238149.0 178********.821596588.3-40.6% dalu90910.5-25.7%15339.2 256466787.54054200.2-39.8% frg258413.4-14.9%102217.7 20145310.522529.7-56.6% i43788.4-19.0%56010.9 133313527.564953.3-32.8% i95699.0-27.8%87312.7 257869021271.9374322758.4-44.8% k21003 6.2-16.1%667 4.0 135999266.87487194.5-35.9% pair464472.2-11.8%685693.3 large1045 6.3-25.4%696 4.2 1359987.644515.3-27.5% 2234812130.21238954999.7-41.8%[5] B.Bollig,M.L¨o bbing,and I.Wegener.On the effect of lo-cal changes in the variable ordering of ordered decision rmation Processing Letters,59:233–239,1996.[6] B.Bollig and I.Wegener.Improving the variable order-ing of OBDDs is NP-complete.IEEE Trans.on Comp., 45(9):993–1002,1996.[7]K.S.Brace,R.L.Rudell,and R.E.Bryant.Efficient imple-mentation of a BDD package.In Design Automation Conf., pages40–45,1990.[8]R.E.Bryant.Graph-based algorithms for Boolean functionmanipulation.IEEE Trans.on Comp.,35(8):677–691,1986.[9]R.E.Bryant and Y.-A.Chen.Verification of arithmetic func-tions with binary moment diagrams.In Design Automation Conf.,pages535–541,1995.[10]Y.Chen,E.Clarke,P.Ho,Y.Hoskote,T.Kam,M.Khaira,J.O’Leary,and X.Zhao.Verification of all circuits in a floating-point unit using word-level model checking.In FMCAD,pages389–403,1996.[11]Y.-A.Chen and R.E.Bryant.ACV:an arithmetic circuitverifier.In Int’l Conf.on CAD,pages361–365,1996. [12] E.Clarke,M.Fujita,P.McGeer,K.L.McMillan,J.Yang,and X.Zhao.Multi terminal binary decision diagrams:An efficient data structure for matrix representation.In Int’l Workshop on Logic Synth.,pages P6a:1–15,1993.[13] E.M.Clarke,M.Fujita,and X.Zhao.Hybrid decision dia-grams-overcoming the limitations of MTBDDs and BMDs.In Int’l Conf.on CAD,pages159–163,1995.[14] E.M.Clarke and X.Zhao.Word level symbolic modelchecking–a new approach for verifying arithmetic circuits.Technical Report CMU-CS-95-161,1995.[15] D.Cyrluk,O.M¨o ller,and H.Rueß.An Efficient DecisionProcedure for the Theory of Fixed-Sized Bitvectors,volume 1254of puter Aided Verification,1997. [16]R.Drechsler.Formal Verification of Circuits.Kluwer Aca-demic Publishers,2000.[17]R.Drechsler and B.Becker.–Ordered Kronecker func-tional decision diagrams–a data structure for representa-tion and manipulation of boolean functions.IEEE Trans.on CAD,17(10):965–973,1998.[18]R.Drechsler,B.Becker,and S.Ruppertz.The K*BMD:Averification data structure.IEEE Design Test of Comp., pages51–59,1997.[19]R.Drechsler and W.G¨u ing lower bounds duringdynamic BDD minimization.In Design Automation Conf., pages29–32,1999.[20]R.Drechsler,A.Sarabi,M.Theobald,B.Becker,and M.A.Perkowski.Efficient representation and manipulation of switching functions based on ordered Kronecker functional decision diagrams.In Design Automation Conf.,pages415–419,1994.[21]M.Fujita,Y.Matsunaga,and T.Kakuda.On variable order-ing of binary decision diagrams for the application of multi-level synthesis.In European Conf.on Design Automation, pages50–54,1991.[22]S.H¨o reth.TUDD:Darmstadt University Decision DiagramPackage Release0.8b.University of Darmstadt,Germany, 1999.[23]S.H¨o reth and R.Drechsler.Dynamic minimization ofword-level decision diagrams.In Design,Automation and Test in Europe,pages612–617,1998.[24]S.H¨o reth and R.Drechsler.Formal verification of word-level specifications.In Design,Automation and Test in Eu-rope,pages52–58,1999.[25]i and S.Sastry.Edge-valued binary decision dia-grams for multi-level hierarchical verification.In Design Automation Conf.,pages608–613,1992.[26]S.Panda and F.Somenzi.Who are the variables in yourneighborhood.In Int’l Conf.on CAD,pages74–77,1995.[27]R.Rudell.Dynamic variable ordering for ordered binarydecision diagrams.In Int’l Conf.on CAD,pages42–47, 1993.。

相关文档
最新文档