ABSTRACT Efficient and Precise Dynamic Impact Analysis Using Execute-After Sequences
Design and Implementation of a Bionic Robotic Hand

Design and Implementation of a Bionic Robotic Hand with Multimodal Perception Based on ModelPredictive Controlline 1:line 2:Abstract—This paper presents a modular bionic robotic hand system based on Model Predictive Control (MPC). The system's main controller is a six-degree-of-freedom STM32 servo control board, which employs the Newton-Euler method for a detailed analysis of the kinematic equations of the bionic robotic hand, facilitating the calculations of both forward and inverse kinematics. Additionally, MPC strategies are implemented to achieve precise control of the robotic hand and efficient execution of complex tasks.To enhance the environmental perception capabilities of the robotic hand, the system integrates various sensors, including a sound sensor, infrared sensor, ultrasonic distance sensor, OLED display module, digital tilt sensor, Bluetooth module, and PS2 wireless remote control module. These sensors enable the robotic hand to perceive and respond to environmental changes in real time, thereby improving operational flexibility and precision. Experimental results indicate that the bionic robotic hand system possesses flexible control capabilities, good synchronization performance, and broad application prospects.Keywords-Bionic robotic hand; Model Predictive Control (MPC); kinematic analysis; modular designI. INTRODUCTIONWith the rapid development of robotics technology, the importance of bionic systems in industrial and research fields has grown significantly. This study presents a bionic robotic hand, which mimics the structure of the human hand and integrates an STM32 microcontroller along with various sensors to achieve precise and flexible control. Traditional control methods for robotic hands often face issues such as slow response times, insufficient control accuracy, and poor adaptability to complex environments. To address these challenges, this paper employs the Newton-Euler method to establish a dynamic model and introduces Model Predictive Control (MPC) strategies, significantly enhancing the control precision and task execution efficiency of the robotic hand.The robotic hand is capable of simulating basic human arm movements and achieves precise control over each joint through a motion-sensing glove, enabling it to perform complex and delicate operations. The integration of sensors provides the robotic hand with biological-like "tactile," "auditory," and "visual" capabilities, significantly enhancing its interactivity and level of automation.In terms of applications, the bionic robotic hand not only excels in industrial automation but also extends its use to scientific exploration and daily life. For instance, it demonstrates high reliability and precision in extreme environments, such as simulating extraterrestrial terrain and studying the possibility of life.II.SYSTEM DESIGNThe structure of the bionic robotic hand consists primarily of fingers with multiple joint degrees of freedom, where each joint can be controlled independently. The STM32 servo acts as the main controller, receiving data from sensors positioned at appropriate locations on the robotic hand, and controlling its movements by adjusting the joint angles. To enhance the control of the robotic hand's motion, this paper employs the Newton-Euler method to establish a dynamic model, conducts kinematic analysis, and integrates Model Predictive Control (MPC) strategies to improve operational performance in complex environments.In terms of control methods, the system not only utilizes a motion-sensing glove for controlling the bionic robotic hand but also integrates a PS2 controller and a Bluetooth module, achieving a fusion of multiple control modalities.整整整整如图需要预留一个图片的位置III.HARDWARE SELECTION AND DESIGN Choosing a hardware module that meets the functional requirements of the system while effectively controlling costs and ensuring appropriate performance is a critical consideration prior to system design.The hardware components of the system mainly consist of the bionic robotic hand, a servo controller system, a sound module, an infrared module, an ultrasonic distance measurement module, and a Bluetooth module. The main sections are described below.A.Bionic Mechanical StructureThe robotic hand consists of a rotating base and five articulated fingers, forming a six-degree-of-freedom motion structure. The six degrees of freedom enable the system to meet complex motion requirements while maintaining high efficiency and response speed. The workflow primarily involves outputting different PWM signals from a microcontroller to ensure that the six degrees of freedom of the robotic hand can independently control the movements of each joint.B.Controller and Servo SystemThe control system requires a variety of serial interfaces. To achieve efficient control, a combination of the STM32 microcontroller and Arduino control board is utilized, leveraging the advantages of both. The STM32 microcontroller serves as the servo controller, while the Arduino control board provides extensive interfaces and sensor support, facilitating simplified programming and application processes. This integration ensures rapid and precise control of the robotic hand and promotes efficient development.C.Bluetooth ModuleThe HC-05 Bluetooth module supports full-duplex serial communication at distances of up to 10 meters and offers various operational modes. In the automatic connection mode, the module transmits data according to a preset program. Additionally, it can receive AT commands in command-response mode, allowing users to configure control parameters or issue control commands. The level control of external pins enables dynamic state transitions, making the module suitable for a variety of control scenarios.D.Ultrasonic Distance Measurement ModuleThe US-016 ultrasonic distance measurement module provides non-contact distance measurement capabilities of up to 3 meters and supports various operating modes. In continuous measurement mode, the module continuously emits ultrasonic waves and receives reflected signals to calculate the distance to an object in real-time. Additionally, the module can adjust the measurement range or sensitivity through configuration response mode, allowing users to set distance measurement parameters or modify the measurement frequency as needed. The output signal can dynamically reflect the measurement results via level control of external pins, making it suitable for a variety of distance sensing and automatic control applications.IV. DESIGN AND IMPLEMENTATION OF SYSTEMSOFTWAREA.Kinematic Analysis and MPC StrategiesThe control research of the robotic hand is primarily based on a mathematical model, and a reliable mathematical model is essential for studying the controllability of the system. The Denavit-Hartenberg (D-H) method is employed to model the kinematics of the bionic robotic hand, assigning a local coordinate system to each joint. The Z-axis is aligned with the joint's rotation axis, while the X-axis is defined as the shortest distance between adjacent Z-axes, thereby establishing the coordinate system for the robotic hand.By determining the Denavit-Hartenberg (D-H) parameters for each joint, including joint angles, link offsets, link lengths, and twist angles, the transformation matrix for each joint is derived, and the overall transformation matrix from the base to the fingertip is computed. This matrix encapsulates the positional and orientational information of the fingers in space, enabling precise forward and inverse kinematic analyses. The accuracy of the model is validated through simulations, confirming the correct positioning of the fingertip actuator. Additionally, Model Predictive Control (MPC) strategies are introduced to efficiently control the robotic hand and achieve trajectory tracking by predicting system states and optimizing control inputs.Taking the index finger as an example, the Denavit-Hartenberg (D-H) parameter table is established.The data table is shown in Table ITABLE I. DATA SHEETjoints, both the forward kinematic solution and the inverse kinematic solution are derived, resulting in the kinematic model of the ing the same approach, the kinematic models for all other fingers can be obtained.The movement space of the index finger tip is shownin Figure 1.Fig. 1.Fig. 1.The movement space at the end of the index finger Mathematical Model of the Bionic Robotic Hand Based on the Newton-Euler Method. According to the design, each joint of the bionic robotic hand has a specified degree of freedom.For each joint i, the angle is defined as θi, the angular velocity asθi, and the angular acceleration as θi.The dynamics equation for each joint can be expressed as:τi=I iθi+w i(I i w i)whereτi is the joint torque, I i is the joint inertia matrix, and w i and θi represent the joint angular velocity and acceleration, respectively.The control input is generated by the motor driver (servo), with the output being torque. Assuming the motor input for each joint is u i, the joint torque τi can be mapped through the motor's torque constant as:τi=kτ∙u iThe system dynamics equation can be described as:I iθi+b iθi+c iθi=τi−τext,iwhere b i is the damping coefficient, c i is the spring constant (accounting for joint elasticity), and τext,i represents external torques acting on the joint i, such as gravity and friction.The primary control objective is to ensure that the end-effector of the robotic hand (e.g., fingertip) can accurately track a predefined trajectory. Let the desired trajectory be denoted as y d(t)and the actual trajectory as y(t)The tracking error can be expressed as:e(t)=y d(t)−y(t)The goal of MPC is to minimize the cumulative tracking error, which is typically achieved through the following objective function:J=∑[e(k)T Q e e(k)]N−1k=0where Q e is the error weight matrix, N is the prediction horizon length.Mechanical constraints require that the joint angles and velocities must remain within the physically permissible range. Assuming the angle range of the i-th joint is[θi min,θi max]and the velocity range is [θi min,θi max]。
学术英语写作Unit-5----Abstract

What is an abstract? Types of abstracts Why write an abstract? What should the abstract include? How do you write an abstract? What is the style of an abstract? An outline for writing an abstract Common problems in writing an abstract Difference between an abstract and an introduction The Tricks, Conclusion of the lecture
Informative abstracts资料性摘要
The informative abstract, also known as the complete abstract, is a compendious summary of a paper's substance including its background, purpose, methodology, results, and conclusion. Usually between 100 and 200 words, the informative abstract summarizes the paper's structure, its major topics and key points. A format for scientific short reports that is similar to an informative abstract has been proposed in recent years. Informative abstracts may be viewed as standalone documents.
人工光植物工厂水培生菜高效生产关

栽培生理Cultivation Physiology中国果菜China Fruit&Vegetable第43卷,第1期2023年1月人工光植物工厂水培生菜高效生产关键技术陈淑君1,赵凤2,姚慧敏1,王绛辉1,孙家波1*(1.山东省农业科学院休闲农业研究所/农业农村部华东都市农业重点实验室,山东济南250100;2.齐河县农业农村局农村经济发展服务中心,山东德州251100)摘要:人工光植物工厂是现代高效农业的一种新的表现形式,植物工厂可人工取代不稳定的农业环境,采用立体栽培模式可充分利用有限空间,精确调控水、光、温、气、肥,提高作物种植效率和作物品质。
生菜是国内外植物工厂种植面积较大的一种优质蔬菜。
本文利用人工光植物工厂,通过一体式环境水肥智能调控技术、蔬菜工厂环境因子和营养液实时监测与动态精准调控技术,开展生菜周年化生产工作。
从生产实际出发,对生菜的品种选择、育苗管理、移栽定植、营养液配置与循环、植物工厂智能化管理和操控等方面对水培生菜的高效栽培生产技术进行总结,以期为植物工厂内水培生菜高品质周年化生产和深液流高效栽培应用提供参考。
关键词:人工光植物工厂;生菜;一体式环境水肥智能调控技术;蔬菜工厂环境因子;营养液实时监测与动态精准调控技术中图分类号:S636文献标志码:A文章编号:1008-1038(2023)01-0080-05DOI:10.19590/ki.1008-1038.2023.01.012High Eficiency Cultivation Technology of Hydroponic Lettucein Artificial Light Plant FactoryCHEN Shujun1,ZHAO Feng2,YAO Huimin1,WANG Jianghui1,SUN Jiabo1*(1.Institute of Leisure Agriculture,Shandong Academy of Agricultural Sciences/Key Laboratory of East ChinaUrban Agriculture,Ministry of Agriculture and Rural Affairs,Jinan250100,China;2.Rural Economic Development Service Center of Qihe County,Bureau of Agriculture and Rural Affairs,Dezhou251100,China) Abstract:Artificial light plant factory is a new form of advanced agriculture,plant factory can replace the unstable agricultural environment manually,three-dimensional cultivation mode can make full use of limited space,improve crop planting efficiency and crop quality.In this paper,the efficient cultivation techniques of hydroponic lettuce were summarized from seedling management,transplanting and transplanting,allocation and circulation of nutrient solution,intelligent management and control of plant factory,etc.This system through the one-piece environment收稿日期:2022-07-19基金项目:山东省农业科学院科技创新工程———名优特色花卉提质增效关键技术创新和示范(CXGC2022A12)第一作者简介:陈淑君(1992—),女,硕士,主要从事植物工厂水培叶菜和药用植物研究工作*通信作者简介:孙家波(1987—),男,副研究员,博士,主要从事农业信息化和都市农业相关工作植物工厂分为人工光植物工厂、太阳光型植物工厂、太阳光和人工光源组合型植物工厂三种类型[1]。
GWV系列并网逆变器用户手册说明书

Dongguan Sheng Yang Industrial Co., Ltd.SY-GWV300/500W Grid Tie InverterUser ManualThis data is a copyright of DongguanShengYang Industrial Co.Ltd.Without the written permission of the copyright holder, any unit or individual shall not be duplicate, disclosed to others orused,or we will be held liable in liability. This guide and the latest information maybe have someerror, but we will improve on time. If no prior notice changes, but incorporated into the new usermanual, Dongguan Sheng Yang Industrial Co., Ltd. has the final say.Tel:+86-0769-********/85372132/85372133Fax:+86-0769-********/85099281Website:Address:NO.1Shang Xin Road, Xin Rong Cun, Xin’an Community,Chang’an Town,Dong Guan City,Guang Dong ProvinceProduct picturesSystem Function●Power line carrier-current communication(Follow-up perfect)By using electric power as a carrier of AC alternating current, can modulate high-frequency software-processa ble (60KHz) in AC wire transmission and can achieve the communication/ newsletter between inverters or between inverter and computer. And it can transfer the power data and the brightness date of the sunshine in the real-time. Also monitor all functions of inverter.1、Carrier frequency:60KHZ(Frequency customizable)2、Interface way:TTL level serial interface3、Carrier rate:300BPS4、Serial rate:9600BPS(Can customize according to customer's request)5、Modulation mode:FSK+DSSS6、Newsletter distance:2Km●Display function1、AC voltage display2、Outage display3、Power shows4、AC frequency display5、DC over-voltage display6、DC under- voltage display7、Power adjust display●12-grade power searchIn overcast weather,the solar battery’s output current is extremely tiny, then inverter will automatic open 12-grade power search function.1、The program can automatically open power adjustment for 12 times.2、The current direction can adjust from the maximum to the minimum.3、In automatic adjustment process, we will see the LOW light flashing.And the power will keep as a starting point,from 0 to the maximum output power, and it will restart at most for 12 times, then locked in the maximum power, the ST lamp long bright.4、It need 10 minutes for 12-grade power search.●Wide voltage input(15-60VDC)Achieve wide voltage input.1、DC voltage input:15-60VDC2、Second level power variable voltage conversion●High-frequency two-way and one-way grid function1、High frequency direct modulation, AC half wave synthesis2、Two-way grid means: Load consume directly. And can reverse AC current transmission.3、One-way grid means: Load consume directly. And banned reverse AC current transmission.●Kinds of frequency output function.It can apply to 50Hz and 60Hz frequency of AC.Frequency range: 45Hz ~ 63Hz●directly connected to the solar panels (do not need to connect the battery)Using precise Dynamic differential pressure type MPPT function, APL functions, the inverter automatically adjust the solar panels of maximum output power,simply connect the solar panel to the grid inverters. Do not need to connect the battery.1、Differential pressure type MPPT: 0.1 V accuracy2、Power lock: 10W (AC output)●AC 0 angle with high precision auto-detectionAC phase angle of 0 through isolation amplifier then input to the MCU for high-precision detection and analysis.The phase shift rate is less than 1%, thus achieve high-precision with phase modulation AC output together.1、AC phase shift: < 1%2、Over-zero protection: 0.2 V AC3、AC switching: 50Hz / 60HzSynchronous High-frequency ModulationIn the process of the grid, usually adapt the same phase angle in parallel. (ie, When the two-phase alternating current total is equal to e switch to combination the two AC fusion) and the product is rectified AC half-frequency AC to 100Hz first, then the machine use the high frequency current in the circuit and semi-100Hz frequency alternating current generated combination, to achieve high-frequency modulation.1、Modulation synthesis: half wave and full-bridge modulation synthesis (100Hz / 120Hz)2、Synthetic way: MOSFET full-bridge3、High frequency: 50KHzPure Sine Wave OutputUse SPWM directly to make pure sine wave output.1、Output waveform: Adopt complementary PWM to push-pull pure sine wave.2、Generate means: enhancement-mode SPWM●Automatic Sensing Function Solar LuminosityUse the latest luminosity perception operation technology. The different illuminate angle and intensity of the solar panel will produce different current output. Use advanced CPU to operate the different illuminance and the data can be directly displayed on the LCD. Then you can visually see the sense of the strength of the sun unit.Used more convenient.1、Luminosity sampling point :power sampling point2、High precision AD sampling: integral AD sampling methodPower Automatically Locked (APL)In different current fluctuations, we should use the MPPT function. When the MPPT function adjusted to the maximum power point, the product automatically powers locked in maximum power point, then made the output power more stable.1、Power lock: The biggest sampling point of MPPT.Automatically Adapt To Different Load Power FactorAdapt to any of the power load.●Constant Current, Constant PowerThis product is constant current, constant output power, without any overload, over-current phenomenon.●Automatically Shut Down When The Power Output Of a FaultWhen the city power system is in failure, the inverter will automatically turn off the output.Current Limit ProtectionCurrent limit●Stack Multiple Machines●Multiple small power inverters in parallel can achieve large output power.●High-Frequency High Conversion RateAdapt high frequency converter, the output more efficient.Maximum Power Point Tracking (MPPT)Because the current intensity and the voltage changes at any time, if there is no power point tracking, there will be a lot of problems. In the past time, usually adopt a solar controller, but this product uses high-precision MPPT operation power, automatic and immediate adjust the solar panels output power at the maximum output point, then achieve a stable output purposes.MPPT is for short of " Maximum Power Point Tracking". It means the controller can sense the voltage of the solar panels on time, and can track the highest voltage and current (VI).Then made the inverter discharge to power grid with the highest efficiency.The peak voltage (Vpp) of the solar panels is about 19.5V when it in factory. And the environment temperature is 25 ° C. The reason of setting this temperature(interestingly, different from the subjective imagination, we ordinary people the conclusion may let us surprised) is that when the weather is very hot, solar panels’ peak voltage will fall to about 17.5 V while in cold weather, the peak voltage can achieve 20.8 V.Now we back to contrast the difference of MPPT solar energy grid inverter and traditional inverter. The traditional solar inverter is a bit like the manual gearbox. When the engine speed increase, while the gearbox gear don't increase at the same time, it will definitely affect the speed of the car. For traditional inverter speaking, the parameter output power is been set in factory. It likes a car have been fixed set on fixed 1 gears, no matter how powerfully you trample accelerator, the speed of a car is limited. While have the MPPT function it will be different, it is automatically. It will automatically adjust the gears according to the engine’ speed, so it can make cars in the most gears in a reasonable efficiency standard operation. It means the MPPT controller can track the maximum power point of solar panels in real-time then express the biggest efficiency of solar panels. The higher the voltage, the more power can be output through the MPPT. Thus improve the charging efficiency.Theoretically speaking, using MPPT, the efficiency can be increased by 50% compared with the traditional inverter. But due to environmental impact and various around energy loss, the ultimate efficiency can improve20%-30% according to our actual testing.Parameter TableKD-WVC Grid-series models300Watt 500Watt Recommend use solar panels400Wp 600WpDC MAX input current 20A 40AAC MAX output power 300Watt 500WattDC MAX Open-circuit input-voltage 100VDCDC input voltage range 15~60VDCMAX output power factor 0.99DC input Reverse voltage protection FUSEAC output voltage range (120V versions:90~160VAC)(230V versions:190~260VAC)AC frequency range 45~63HzOutput current total harmonic distortion THDIAC <5%AC Phase <0.5%Islanding protection V AC;f ACOutput short circuit protection Current-limitingShow LED mode:power instruction;voltage instruction;AC frequency instruction;over-voltage instructionCommunication way 60KHz modulation,power line carrier-current communication Standby Power <1WNight Power <1WAmbient temperature range -25 ℃~60℃Humidity 0~99%(Indoor Type Design) Waterproof Indoor Type Design Electromagnetic Compatibility EN50081.part1 EN50082.part1 Power System Disturbance EN61000-3-2 EN62109 Network test DIN VDE 1026 Certificate CEPacking and weightNet weight 1.3kg(200—600W) 2.0kg(800—1000W) G weight 2.0kg(200—600W) 2.7kg(800—1000W) Size (L x W x H) 21 x 16.5 x5.3cm 31 x 16.5 x5.5cmPackage (L x W x H) Inner box:34x25x15.5CMBig box:51x37x33CMInner box :43x25x15.5CBig box:52x45x33CMInstallation Wall hanging AC power cord length 1.8m Cooling FanUser Guide1、Installation Connection1、Red terminal: Connect DC positive, black terminal: Connect DC negative. Show in Figure 1.Figure 12、AC socket: Connect to the mains. Put the side of the AC cord which has holes into the inverter with 3 footoutlet and the other side of the AC cord to home 3PIN AC outlet. Show in Figure 2.Figure 2 Figure 33、Switch: Connect the connections in right way, then turn on the switch. The inverter starts to work.2、Grid tied inverter used in the wind and solar street lights.Use this product, do not need to add solar panel controller, battery.Connection Method 1 (Figure 4 below): Connection method 2 (Figure 5 below): Figure 4 Figure 5Connection Method 1: Wind energy, solar energy can supply to the grid at the same time, then achieve the highest efficiency. First consider this connection method. Figure 5Connection method 2: Use a large power generation capacity first. The other capacity is in added. Wind and solar capacity complement each other with moderate efficiency.3、Stack usingIn order to achieve higher power use requirements, this product can be stacked, such as: 4 grid inverter1000W stacking can achieve 4000W.And the number of the stacking is unlimited. Used as shown in Figure 6:Figure 64、Input and output1、DC input limit✧Input voltage range: 14V to 60VSolar Panel: Recommend using the power more than 30W and the standard voltage of 36V PV panels.Recommend using multiple solar panels. Solar panel in series will result in high-input voltage which will exceed the working voltage range of the inverter.Wind turbine system: Rated voltage 24VDC, maximum voltage 48VDC.2、AC output:✧V oltage range of the inverter whose output is 220V AC.: 170V - 260V,50HZ✧V oltage range of the inverter whose output is 110V AC.: 90V - 160V,60HZ5、LED Indicator:1、Red LED:1、Low-voltage protection (input DC voltage is less than 14VDC).2、Over-voltage protection (Input DC voltage is greater than 60VDC).3、Over-temperature protection (when the chassis temperature is above 75℃,the temperature dropped about 2-10 minutes to restart automatically after cooling).4、Fault Protection (when 110V AC or 220V AC power outage or shutdown).5、Islanding protection: When the electric supply stop, the inverter automatically shut down output.2、Green LED:1、Green LED flashing: The inverter is adjusting power output. MPPT is in working condition.2、Green LED long in time: The inverter is in working condition with the maximum output power. Notes---Non-professionals do not disassemble. Only qualified personnel may repair this product.---Please install inverter in the low humidity and well-ventilated place to avoid the inverter over-heating, and clear around the inflammable and explosive materials.---When using this product, avoid children touching, playing, to avoid electric shock.---Recommended Maximum DC input 4AWG cable capable of handling more than 50A of the cable size.---Optimal length of the DC input line 8M or less, long cable will allow solar panels to the inverterDC voltage drop caused by wear and tear.---Connected to a power outlet to provide AC.---Connected solar panels, battery or wind generators DC input DC power supply cable. ---Proposed wind power plant with its own charge controller and load dump. Accessories for productOne standard AC wireOne warranty cardOne user manualOne certificate of quality。
描述个人能力的词汇

/neworientalcn/blog/item/10fdf882b22c84ba6 c8119f9.html(1)Scholastic aptitude(学习方面的才能)a.Native intellectual ability(天赋)b.Imagination(想象力)c.Creativity(创造力)d.Capacity for analytical thinking(分析思考能力)e.Intellectual curiosity; spirit of inquiry(好奇心)f.Ability to work independently(独立学习工作的能力)g.Memory(记忆力)h.Accuracy(准确性)i.Methodology(研究方法)j.Capability for abstract reasoning(抽象推理的能力)m.Ability to express his ideas orally and in writing(口头或文字的表达能力)(2)Academic performance(学业上的表现)a.Breadth of general knowledge(知识丰富)b.Knowledge of literature in his field(本专业领域知识)c.Grade or achievement(成绩或成就)d.Industry, diligence(勤勉)e.Participation in discussion(讨论积极)f.Academic maturity(学业上的成熟)(3)Languages(语言能力)a.Ability to speak, understand, read and write the English language(听、说、读、写英文的能力)b.Ability to read significant literature in other languages than English(英语以外的语言阅读能力)(4)Character(品行)a.Honesty; integrity(诚实)b.Sincerity(诚恳)c.Sense of responsibility(责任感)d.Cooperation (合作)e.Enthusiasm(热诚)f.Conscientiousness(自觉性)g.Ethical and moral standards(伦理与道德标准)h.Reliability; dependability(可靠性)(5)Quality(个人品质)able 有才干的,能干的active 主动的,活跃的adaptable 适应性强的adroit 灵巧的,机敏的aggressive 有进取心的alert 机灵的ambitious 有雄心壮志的amiable 和蔼可亲的amicable 友好的analytical 善于分析的apprehensive 有理解力的aspiring 有志气的,有抱负的audacious 大胆的,有冒险精神的capable 有能力的,有才能的careful 办理仔细的candid 正直的charitable 宽厚的competent能胜任的confident 有信心的conscientious 认真的,自觉的considerate 体贴的constructive 建设性的contemplative 好沉思的cooperative 有合作精神的creative 富创造力的dashing 有一股子冲动劲的,有拼搏精神的dedicated 有奉献精神的devoted 有献身精神的dependable 可靠的diplomatic 老练的,有策略的disciplined 守纪律的discreet (在行动、说话等方面)谨慎的dutiful 尽职的dynamic 精悍的earnest 认真的well-educated 受过良好教育的efficient 有效率的energetic 精力充沛的enthusiastic 充满热情的expressive 善于表达faithful 守信的,忠诚的forceful (性格)坚强的frank直率的,真诚的friendly 友好的frugal 俭朴的generous 宽宏大量genteel有教养的gentle 有礼貌的hard-working 勤劳的hearty 精神饱满的honest 诚实的hospitable 殷勤的humble 恭顺的humorous 有幽默impartial 公正的independent 有主见的industrious 勤奋的ingenious 有独创性的initiative 首创精神have an inquiring mind爱动脑筋intellective 有智力的intelligent 理解力强的inventive有发明才能,有创造力的just 正直的kind-hearted 好心的knowledgeable 有见识的learned 精通某门学问的liberal 心胸宽大的logical 条理分明的loyal 忠心耿耿的methodical 有方法的modest 谦虚的motivated 目的明确的objective 客观的open-minded 虚心的orderly 守纪律的original 有独创性的painstaking 辛勤的,苦干的,刻苦的practical 实际的precise 一丝不苟的persevering 不屈不挠的punctual 严守时刻的purposeful 意志坚强的qualified 合格的rational 有理性的realistic 实事求是的reasonable 讲道理的reliable 可信赖的responsible 负责的个人品质有用词汇A Useful Glossary for Personal Character ________________________________________ able 有才干的,能干的active 主动的,活跃的adaptable 适应性强的adroit 灵巧的,机敏的aggressive 有进取心的alert 机灵的ambitious 有雄心壮志的amiable 和蔼可亲的amicable 友好的analytical 善于分析的apprehensive 有理解力的aspiring 有志气的,有抱负的audacious 大胆的,有冒险精神的capable 有能力的,有才能的careful 办事仔细的candid 正直的charitable 宽厚的competent 能胜任的confident 有信心的conscientious 认真的,自觉的considerate 体贴的constructive 建设性的contemplative 好沉思的cooperative 有合作精神的creative 富创造力的dashing 有一股子冲劲的,有拼搏精神的dedicated 有奉献精神的devoted 有献身精神的dependable 可靠的diplomatic 老练的,有策略的disciplined 守纪律的discreet (在行动,说话等方面)谨慎的dutiful 尽职的dynamic 精悍的earnest 认真的well-educated 受过良好教育的efficient 有效率的energetic 精力充沛的enthusiastic 充满热情的expressive 善于表达faithful 守信的,忠诚的forceful (性格)坚强的frank 直率的,真诚的friendly 友好的frugal 俭朴的generous 宽宏大量的genteel 有教养的gentle 有礼貌的hard-working 勤劳的hearty 精神饱满的honest 诚实的hospitable 殷勤的, humble 恭顺的humorous 幽默的impartial 公正的independent 有主见的industrious 勤奋的ingenious 有独创性的initiative 首创精神have an inquiring mind 爱动脑筋intellective 有智力的intelligent 理解力强的inventive 有发明才能的,有创造力的just 正直的kind-hearted 好心的knowledgeable 有见识的learned 精通某门学问的liberal 心胸宽大的logical 条理分明的loyal 忠心耿耿的methodical 有方法的modest 谦虚的motivated 目的明确的objective 客观的open-minded 虚心的orderly 守纪律的original 有独创性的painstaking 辛勤的,苦干的,刻苦的practical 实际的precise 一丝不苟的persevering 不屈不挠的punctual 严守时刻的purposeful 意志坚强的qualified 合格的rational 有理性的realistic 实事求是的reasonable 讲道理的reliable 可信赖的responsible 负责的self-conscious 自觉的selfless 无私的sensible 明白事理的sincere 真诚的smart 精明的spirited 生气勃勃的sporting 光明正大的steady 塌实的straightforward 老实的strict 严格的systematic 有系统的strong-willed 意志坚强的sweet-tempered 性情温和的temperate 稳健的tireless 孜孜不倦的幼儿园:kindergarten学前教育:preschool education小学:praimary school elementary school中学:middle school secondary school重点中学:key middle school初中:junior middle school高中:senior middle school high school中专生:secondary vocational school student大专生:junior college studengt ; 3year college student 大一学生:freshman大二学生:sophomore大三学生:junior大四学生:senior函授学校:correspondence school艺术学院:art college ; art institute夜大:night university电大:television(TV) university技校:technical school军校:military school聋哑学校:school for deaf-mutes美容专科学校:special school for beautifultion护士学校:nursery school商业学校:business school美国公/私立学校:public school ; private school英国公/私立学校:state school; public school优等生:top student三好学生:three-A student导师:tutor; supervisor学位论文:thesis研究生:postgraduate本科生: undergraduate学费:tuition学生宿舍:dormitory教材:teaching materials教学方法:teaching methods应试教育:exam-oriented educationAll work and no play makes Jake a dull boy. 只工作不玩,将让人变傻。
描述个人能力的词汇

/neworientalcn/blog/item/10fdf882b22c84ba6 c8119f9.html(1)Scholastic aptitude(学习方面的才能)a.Native intellectual ability(天赋)b.Imagination(想象力)c.Creativity(创造力)d.Capacity for analytical thinking(分析思考能力)e.Intellectual curiosity; spirit of inquiry(好奇心)f.Ability to work independently(独立学习工作的能力)g.Memory(记忆力)h.Accuracy(准确性)i.Methodology(研究方法)j.Capability for abstract reasoning(抽象推理的能力)m.Ability to express his ideas orally and in writing(口头或文字的表达能力)(2)Academic performance(学业上的表现)a.Breadth of general knowledge(知识丰富)b.Knowledge of literature in his field(本专业领域知识)c.Grade or achievement(成绩或成就)d.Industry, diligence(勤勉)e.Participation in discussion(讨论积极)f.Academic maturity(学业上的成熟)(3)Languages(语言能力)a.Ability to speak, understand, read and write the English language(听、说、读、写英文的能力)b.Ability to read significant literature in other languages than English(英语以外的语言阅读能力)(4)Character(品行)a.Honesty; integrity(诚实)b.Sincerity(诚恳)c.Sense of responsibility(责任感)d.Cooperation (合作)e.Enthusiasm(热诚)f.Conscientiousness(自觉性)g.Ethical and moral standards(伦理与道德标准)h.Reliability; dependability(可靠性)(5)Quality(个人品质)able 有才干的,能干的active 主动的,活跃的adaptable 适应性强的adroit 灵巧的,机敏的aggressive 有进取心的alert 机灵的ambitious 有雄心壮志的amiable 和蔼可亲的amicable 友好的analytical 善于分析的apprehensive 有理解力的aspiring 有志气的,有抱负的audacious 大胆的,有冒险精神的capable 有能力的,有才能的careful 办理仔细的candid 正直的charitable 宽厚的competent能胜任的confident 有信心的conscientious 认真的,自觉的considerate 体贴的constructive 建设性的contemplative 好沉思的cooperative 有合作精神的creative 富创造力的dashing 有一股子冲动劲的,有拼搏精神的dedicated 有奉献精神的devoted 有献身精神的dependable 可靠的diplomatic 老练的,有策略的disciplined 守纪律的discreet (在行动、说话等方面)谨慎的dutiful 尽职的dynamic 精悍的earnest 认真的well-educated 受过良好教育的efficient 有效率的energetic 精力充沛的enthusiastic 充满热情的expressive 善于表达faithful 守信的,忠诚的forceful (性格)坚强的frank直率的,真诚的friendly 友好的frugal 俭朴的generous 宽宏大量genteel有教养的gentle 有礼貌的hard-working 勤劳的hearty 精神饱满的honest 诚实的hospitable 殷勤的humble 恭顺的humorous 有幽默impartial 公正的independent 有主见的industrious 勤奋的ingenious 有独创性的initiative 首创精神have an inquiring mind爱动脑筋intellective 有智力的intelligent 理解力强的inventive有发明才能,有创造力的just 正直的kind-hearted 好心的knowledgeable 有见识的learned 精通某门学问的liberal 心胸宽大的logical 条理分明的loyal 忠心耿耿的methodical 有方法的modest 谦虚的motivated 目的明确的objective 客观的open-minded 虚心的orderly 守纪律的original 有独创性的painstaking 辛勤的,苦干的,刻苦的practical 实际的precise 一丝不苟的persevering 不屈不挠的punctual 严守时刻的purposeful 意志坚强的qualified 合格的rational 有理性的realistic 实事求是的reasonable 讲道理的reliable 可信赖的responsible 负责的个人品质有用词汇A Useful Glossary for Personal Character ________________________________________ able 有才干的,能干的active 主动的,活跃的adaptable 适应性强的adroit 灵巧的,机敏的aggressive 有进取心的alert 机灵的ambitious 有雄心壮志的amiable 和蔼可亲的amicable 友好的analytical 善于分析的apprehensive 有理解力的aspiring 有志气的,有抱负的audacious 大胆的,有冒险精神的capable 有能力的,有才能的careful 办事仔细的candid 正直的charitable 宽厚的competent 能胜任的confident 有信心的conscientious 认真的,自觉的considerate 体贴的constructive 建设性的contemplative 好沉思的cooperative 有合作精神的creative 富创造力的dashing 有一股子冲劲的,有拼搏精神的dedicated 有奉献精神的devoted 有献身精神的dependable 可靠的diplomatic 老练的,有策略的disciplined 守纪律的discreet (在行动,说话等方面)谨慎的dutiful 尽职的dynamic 精悍的earnest 认真的well-educated 受过良好教育的efficient 有效率的energetic 精力充沛的enthusiastic 充满热情的expressive 善于表达faithful 守信的,忠诚的forceful (性格)坚强的frank 直率的,真诚的friendly 友好的frugal 俭朴的generous 宽宏大量的genteel 有教养的gentle 有礼貌的hard-working 勤劳的hearty 精神饱满的honest 诚实的hospitable 殷勤的, humble 恭顺的humorous 幽默的impartial 公正的independent 有主见的industrious 勤奋的ingenious 有独创性的initiative 首创精神have an inquiring mind 爱动脑筋intellective 有智力的intelligent 理解力强的inventive 有发明才能的,有创造力的just 正直的kind-hearted 好心的knowledgeable 有见识的learned 精通某门学问的liberal 心胸宽大的logical 条理分明的loyal 忠心耿耿的methodical 有方法的modest 谦虚的motivated 目的明确的objective 客观的open-minded 虚心的orderly 守纪律的original 有独创性的painstaking 辛勤的,苦干的,刻苦的practical 实际的precise 一丝不苟的persevering 不屈不挠的punctual 严守时刻的purposeful 意志坚强的qualified 合格的rational 有理性的realistic 实事求是的reasonable 讲道理的reliable 可信赖的responsible 负责的self-conscious 自觉的selfless 无私的sensible 明白事理的sincere 真诚的smart 精明的spirited 生气勃勃的sporting 光明正大的steady 塌实的straightforward 老实的strict 严格的systematic 有系统的strong-willed 意志坚强的sweet-tempered 性情温和的temperate 稳健的tireless 孜孜不倦的幼儿园:kindergarten学前教育:preschool education小学:praimary school elementary school中学:middle school secondary school重点中学:key middle school初中:junior middle school高中:senior middle school high school中专生:secondary vocational school student大专生:junior college studengt ; 3year college student 大一学生:freshman大二学生:sophomore大三学生:junior大四学生:senior函授学校:correspondence school艺术学院:art college ; art institute夜大:night university电大:television(TV) university技校:technical school军校:military school聋哑学校:school for deaf-mutes美容专科学校:special school for beautifultion护士学校:nursery school商业学校:business school美国公/私立学校:public school ; private school英国公/私立学校:state school; public school优等生:top student三好学生:three-A student导师:tutor; supervisor学位论文:thesis研究生:postgraduate本科生: undergraduate学费:tuition学生宿舍:dormitory教材:teaching materials教学方法:teaching methods应试教育:exam-oriented educationAll work and no play makes Jake a dull boy. 只工作不玩,将让人变傻。
ACM 1-xxxxxxxxxxxxxxxxxx. Dreaming of Adaptive Interface Agents
Copyright is held by the author/owner(s). CHI 2007, April 28 – May 3, 2007, San Jose, USA ACM 1-xxxxxxxxxxxxxxxxxx.
Abstract This interactive project uses the metaphor of human sleep and dreaming to present a novel paradigm that helps address problems in adaptive user interface design. Two significant problems in adaptive interfaces are: interfaces that adapt when a user does not want them to do so, and interfaces where it is hard to understand how it changed during the process of adaptation. In the project described here, the system only adapts when the user allows it to go to sleep long enough to have a dream. In addition, the dream itself is a visualization of the transformation of the interface, so that a person may see what changes have occurred. This project presents an interim stage of this system, in which an autonomous agent collects knowledge about its environment, falls asleep, has dreams, and reconfigures its internal representation of the world while it dreams. People may alter the agent’s environment, may prevent it from sleeping by making noise into a microphone, and may observe the dream process that ensues when it is allowed to fall asleep. By drawing on the universal human experience of sleep and dreaming, this project seeks to make adaptive interfaces more effective and comprehensible.
fanyi
A Petri Net-based Model for Web Service CompositionAbstractThe Internet is going through several major changes. It has become a vehicle of Web services rather than just a reposi-tory of information. Many organizations are putting their core business competencies on the Internet as a collection of Web services. An important challenge is to integrate them to cre-ate new value-added Web services in ways that could never be foreseen forming what is known as Business-to-Business(B2B) services. Therefore, there is a need for modeling techniques and tools for reliable Web service composition. In this paper, we propose a Petri net-based algebra, used to model control flows, as a necessary constituent of reliable Web service com-position process. This algebra is expressive enough to capture the semantics of complex Web service combinations.Keywords: Web services, Petri net, Web service com-position.1 IntroductionIn order to survive the massive competition created by the new online economy, many organizations are rushing to put their core business competencies on the Internet as a collection of Web services for more automation and global visibility. The concept of Web service has become recently very popular, however, there is no clear agreed upon definition yet. Typical examples of Web services include on-line travel reservations, procurement, customer relationship management(CRM), billing, accounting, and supply chain. In this paper, by Web service(or simply service)we mean an autonomous software application or component, i.e., a semantically well defined functionality, uniquely identified by a Uniform Resource Locator(URL).The ability to efficiently and effectively share services on the Web is a critical step towards the development of the new online economy driven by the Business-to-Business(B2B)e-commerce. Existing enterprises would form alliances and integrate their services to share costs, skills, and resources in offering a value-added service to form what is known as B2B services. Briefly stated, a B2B service is a conglomeration of mostly outsourced services working in tandem to achieve the business goals of the desired enterprise. An example of an integrated B2B service is a financial management system that uses payroll, tax preparation, and cash management as components. The component services might all be outsourced to business partners.To date, the development of B2B services has been largely ad-hoc, time-consuming, and requiring enormous effort of low-level programming. This task would obviously be tedious and hardly scalable because of the volatility and size of the Web. As services are most likely autonomous and heterogeneous, building a B2B service with appropriate inter-service coordination would be difficult. More importantly, the fast and dynamic composition of services is an essential requirement for organizations to adapt their business practices to the dynamic nature of the Web.As pointed out before, Internet and Web technologies have opened new ways of doing business more cheaply and efficiently. However, for B2B e-commerce to really take off, there is a need for effective and efficient means to abstract, compose, analyze, and evolve Web services in an appropriate time-frame. Ad-hoc and proprietary solutions on the one hand, and lack of a canonical model for modeling and managing Web services on the other hand, have largely hampered a faster pace in deploying B2B services. Current technologies based on Universal Description, Discovery, and Integration (UDDI)1,Web Service Description Language(WSDL),and Simple Object Access Protocol(SOAP) do not realize complex Web service combinations, henceproviding limited support in service composition. SOAP is a standard for exchanging XML-formatted messages over HTTP between applications. WSDL is a general purpose XML language for describing what a Web service does, where it resides, and how to invoke it. UDDI is a standard for publishing information about Web services in a global registry as well as for Web service discovery.In this paper, we propose a Petri net-based algebra for modeling Web services control flows. The model is expressive enough to capture the semantics of complex service combinations and their respective specificities. The obtained framework enables declarative composition of Web services. We show that the defined algebra caters for the creation of dynamic and transient relationships among services. The remainder of this paper is organized as follows. Web service modeling and specification using Petri nets are presented in Section 2.Section 3 is devoted to the algebra for composing Web services and its Petri net-based formal semantics. Section 4 discusses the analysis and verification of Web services. Section 5 gives a brief overview of related work. Finally, Section 6 provides some concluding remarks.2 Web Services as Petri NetsPetri nets (Petri 1962, Peterson 1981)are a well founded process modeling technique that have formal semantics. They have been used to model and analyze several types of processes including protocols, manufacturing systems, and business processes. Petri net is a directed, connected, and bipartite graph in which each node is either a place or a transition. Tokens occupy places. When there is at least one token in every place connected to a transition, we say that the transition is enabled. Any enabled transition may fire removing one token from every input place, and depositing one token in each output place. The use of visual modeling techniques such as Petri nets in the design of complex Web services is justified by many reasons. For example, visual representations provide a high-level yet precise language which allows to express and reason about concepts at their natural level of abstraction.A Web service behavior is basically a partially ordered set of operations. Therefore, it is straight-forward to map it into a Petri net. Operations are modeled by transitions and the state of the service is modeled by places. The arrows between places and transitions are used to specify causal relations.We can categorise Web services into material services, information services, and material/information services, the mixture of both. We assume that a Petri net, which represents the behavior of a service, contains one input place (i.e., a place with no incoming arcs) and one output place (i.e., a place with no outgoing arcs).A Petri net with one input place, for absorbing information, and one output place, for emitting information, will facilitate the definition of the composition operators and the analysis as well as the verification of certain properties. At any given time, a Web service can be in one of the following states: NotInstantiated , Ready, Running, Suspended, or Completed. When a Web service is in the Ready state, this means that a token is in its corresponding input place, whereas the Completed state means that there is a token in the corresponding output place.3 Composing Web ServicesA Web service has a specific task to perform and may depend on other Web services, hence being composite. For example , a company that is interested in selling books could focus on this aspect while outsourcing other aspects such as payment and shipment. The composition of two or more services generates a new service providing both the original individual behavioral logic anda new collaborative behavior for carrying out a new composite task. This means that existing services are able to cooperate although the cooperation was not designed in advance. Service composition could be static (service components interact with each other in a pre-negotiated manner) or dynamic (they discover each other and negotiate on the fly). In this section we present an algebra that allows the creation of new value-added Web services using existing ones as building blocks. Sequence, alternative, iteration, and arbitrary sequence are typical constructs specified in the control flow. More elaborate operators, dealt with in this paper, are parallel with communication, discriminator, selection, and refinement. We also give a formal semantics to the proposed algebra in terms of Petri nets as well as some nice algebraic properties.3.2 Formal SemanticsIn this section, we give a formal definition, in terms of Petri nets, of the composition operators. It is important to note that service composition, as will be described below, applies to syntactically different services. This is due to the fact that the places and transitions of the component services must be disjoint for proper composition. However, a service may be composed with itself. Typically, this situation occurs when services describe variants of the same operation (e.g., normal execution and exceptional situations) or, for instance, if a single supplier offers two different goods, the requests may be handled independently, as though they were from two different suppliers. In this case, the overlapping must be resolved prior to composition. This can be accomplished by renaming the sets P and T of one of the equal services. The two services remain equal up to isomorphism on the names of transitions and places. Note also that, in case of silent operations, we represent graphically the corresponding transitions as black rectangles.3.2.1 Basic ConstructsEmpty Service . The empty service is a service that performs no operation. It is used for technical and theoretical reasons.Sequence . The sequence operator allows the execution of two services S1 and S2 in sequence, that is, one after another.S1 must be completed before S2can start. This is typically the case when a service depends on the output of the previous service. For example, the service Payment is executed after the completion of the service Delivery.Alternative . The alternative operator permits, given two services S1 and S2,to model the execution of either S1 or S2,but not both. For instance, the assess_claim service is followed by either the service indemnify_customer or the service convoke_customer.Arbitrary Sequence. The arbitrary sequence operator specifies the execution of two services that must not be executed concurrently, that is, given two services S1 and S2,we have either S1 followed by S2 or S2 followed by S1.Suppose,for instance, that there are two goods, then acquiring a single good is useless unless the rest of the conjuncts can also be acquired. Moreover, without a deadline, there is no benefit by making the two requests in parallel, and doing so may lead to unnecessary costs if one of the conjuncts is unavailable or unobtainable. Therefore, the optimal execution is necessarily an arbitrary serial ordering of requests to suppliers.Iteration. The iteration operator models the execution of a service followed a certain number of times by itself. Typical examples where iteration is required are communication and quality control where services are executed more than once.3.2.2 Advanced ConstructsParallelism with Communication. The parallel operator represents the concurrent execution of two services. Concurrent services may synchronize and exchange information.Discriminator. Web services are unreliable; they have a relatively high probability of failing or of being unacceptably slow. Delays of only a few seconds could result in service providers losing significant sums of money or disappointing their customers. Different service providers may provide the same or similar services. Therefore, it should be possible to combine unreliable services to obtain more “reliable”services. The discriminator operator is used, for instance, to place redundant orders to different suppliers offering the same service to increase reliability. The first to perform the requested service triggers the subsequent service and all other late responses are ignored for the rest of the composite service process.Selection. Relying on a single supplier puts a company at its mercy. To reduce risk, a company should maintain relationships with multiple suppliers. These suppliers may, e.g., charge different prices, propose different delivery dates and times, and have different reliabilities. The selection construct allows to choose the best service provider, by using a ranking criteria, among several competing suppliers to outsource a particular operation.Refinement. The refinement construct, in which operations are replaced by more detailed non empty services, is used to introduce additional component services into a service. Refinement is the transformation of a design from a high level abstract form to a lower level more concrete form hence allowing hierarchical modeling.摘要互联网正经过几个大的变化。
plc喷泉实验报告
plc喷泉实验报告Title: PLC Fountain Experiment ReportAbstract:This report presents the findings of a PLC (Programmable Logic Controller) fountain experiment conducted to demonstrate the use of PLC in controlling the operation of a fountain. The experiment aimed to showcase the capabilities of PLC technology in automating and controlling the water flow and lighting of a fountain. The experiment was successful in achieving its objectives and provided valuable insights into the practical application of PLC in fountain control systems. Introduction:Fountains are a popular feature in public spaces, parks, and gardens, adding aesthetic appeal and creating a serene ambiance. Traditionally, fountains are operated manually, requiring constant monitoring and adjustment to maintain the desired water flow and lighting effects. The use of PLC technology offers a more efficient and reliable solution for controlling fountains, allowing for automated operation and precise control of water flow and lighting. Methodology:The experiment involved the installation of a PLC system to control the operation of a fountain. The PLC was programmed to regulate the water pump, adjust the water flow, and control the RGB LED lighting system. The programming logic was designed to enable different water patterns and lighting effects, providing a dynamic and visually appealing display.Results:The PLC fountain experiment yielded promising results, demonstrating the effectiveness of PLC technology in controlling the fountain's operation. The PLC system successfully automated the water flow and lighting, allowing for seamless transitions between different patterns and effects. The real-time monitoring and control capabilities of PLC ensured precise adjustments and responsive operation, enhancing the overall performance of the fountain.Discussion:The successful implementation of PLC in controlling the fountain highlights the potential of this technology in enhancing the functionality and aesthetics of water features. The use of PLC offers numerous benefits, including improved efficiency, reduced maintenance requirements, and greater flexibility in programming different water and lighting effects. Additionally, the scalability of PLC systems allows for easy integration with other smart technologies, enabling advanced control and customization options.Conclusion:The PLC fountain experiment demonstrated the practical application of PLC technology in controlling the operation of a fountain. The results showcased the capabilities of PLC in automating water flow and lighting, providing a more efficient and dynamic solution for fountain control. The findings of this experiment contribute to the growing body of knowledge on the use of PLC in water feature systems, highlighting its potential to revolutionize the design andmanagement of fountains in various settings.。
ABSTRACT
ABSTRACTGreatness in Trivialness:Institutional Logic of Discipline Governance in the Big Data EraNI Jing,CHEN Liang Page 1Abstract:Big data and centralized data processing have increasingly become the “upper-level logic ”of discipline governance in pursuit of excellence,which to a certain extent aggravates the imbalance of disciplines.In reality,many actual effects of discipline governance are mainly attributed to the aggregation of small data,which possess values including a more precise cross-correlation of discipline knowledge,a more rational combi ⁃nation of horizontal and vertical research methods,and more reasonable bottom-up cultivation of individuals.However,in the face of systematic problems and accelerating changes in the big data society,the small data path of discipline governance is confronted with the problem that research results have presented the form of point data with a lack of cluster innovation.Furthermore,scholars ’data capability has been polarized;there ⁃fore,there is a weakness in the backbone strength.In addition,discipline education encounters the predica ⁃ments of complex data and low governance efficiency.It is required to focus on the “small consensus ”coopera ⁃tion shift of institutional design and the identity shift of “creators ”in the operation of the system to superimpose the information correlation of the institutional carrier to the “life domain ”.Hence,it is necessary to build a “big ”data governance structure based on “small ”data so as to achieve the symbiosis and co-promotion of the two disciplinary governance methods and governance thoughts.Key words:digital governance in universities;disciplinary governance;discipline system;small data;edu ⁃cation data;data decision-making;data dividend The Maturity of Data Governance in Chinese Colleges and UniversitiesCHEN Guixiang,WU Chenlu,XUE Zhiqian Page 11Abstract:In order to explore the maturity of data governance in Chinese colleges and universities ,this re ⁃search learns from DAMA-DMBOK2,DCMM and other classical models of evaluating the maturity of data gov ⁃ernance at home and abroad ,and combines them with the actual situation of Chinese colleges and universities to design a questionnaire about the maturity of data governance in Chinese colleges and universities.The question ⁃2023年11月第39卷第6期高教发展与评估Higher Education Development and Evaluation Nov.,2023No.6,Vol.39inaire,group interviews and other methods are used synthetically to collect and analyze data.The results show that the holistic maturity of data governance in most Chinese colleges and universities is around the stable level (Level3);the maturity of data governance in higher education is above the moderate level in the whole educa⁃tion system,which plays an important leading role in basic education and vocational education.The research al⁃so finds some urgent problems:the lack of top-level designs of data governance,the low degree of innovation of data integration,the weak financial guarantee of data governance,the uneven governance levels of universities and so on.Based on these results,countermeasures and suggestions are put forward:to establish strategic think⁃ing and enhance top-level designs;to promote openness and sharing and focus on integration and innovation;to innovate the way of support and enhance the capacity of financing;to persevere in the classified development and promote fairness and coordination.Key words:data governance in colleges and universities;digitalization of education;educational deci⁃sion-making;smart campusImproving the Credibility of Third-party Evaluation of Higher Education Based on Data GovernanceCAO Jing,YU Chunmei Page23Abstract:Data is one of the core elements of education evaluation.The integrity and decentralization of data governance are obviously coupled with the credibility construction of the third-party evaluation of higher education.The data acquisition mechanism,data processing mechanism,information communication mechanism and information disclosure mechanism in the evaluation process can effectively improve the objectivity,profes⁃sionalism,openness and impartiality of the third-party evaluation.The data governance mechanism of the third-party evaluation of moral hazard,the reverse dominance of the evaluated,excessive administrative inter⁃vention,misuse and abuse of evaluation results and other main evaluation behaviors can promote the improve⁃ment of the credibility of the third-party evaluation.To this end,the following countermeasures should be taken: establishing the data governance thinking of educational evaluation and form a data culture,building a third-par⁃ty evaluation collaboration model,realizing the benign interaction between politics,schools and society,improv⁃ing the evaluation data governance system and building a mechanism to safeguard the interests of the main body.Key words:university data governance;third-party education evaluation;credibility of educational evalu⁃ationImproved Teaching Evaluation Methods Based on Grade InflationZHANG Ao,LIAO Ruizhi,CHEN Yihan,LI Shuzhen Page32 Abstract:Teaching evaluation by students is widely adopted in higher education.In order to obtain goodiiteaching evaluation results that meet the school’s assessment requirements and their own expectations,some in⁃structors cater to students’pursuit for high scores,leading to the grade inflation phenomenon.Universities and colleges can also temporarily benefit from good statistics on further studies and employment fueled by grade in⁃flation due to the time difference of information.Students,instructors,and schools are involved in a three-party game,and each acts for their own short-term interests.However,it will be destructive to all parties in the long run,forming principal-agent problem.This paper compares the teaching evaluation systems of Harvard Univer⁃sity and the University of California,Berkeley,and studies the reasons and their methods to maintain the effec⁃tiveness of teaching evaluation despite the trend of grade inflation.The paper proposes two methods to alleviate grade inflation:an“A quota”system and an“Average GPA”controlling system.It is found that restricting the average score is more effective in mitigating grade inflation and concluded that it is vital to constrain instruc⁃tors’ability to use the expansion of scores to exchange for better teaching evaluation results.Key words:grade inflation;teaching evaluation;course assessment;exam gradeCan the Score Be Negotiated?——Process Analysis Based on the“Events of Demanding High Scores”in UniversitiesZHANG Liqin,WU Qiong Page42Abstract:The dishonest behaviors of demanding high scores from teachers after academic exams often oc⁃cur.This study first provides a preliminary description of the phenomenon of students’“need for scores”,and takes typical events with hidden characteristics as the object to specifically sort out the dynamic process from “seeking scores”to“seeking punishment”and then to“calming down”.Based on the perspective of demand expression,this paper constructs a theoretical analysis approach of“dividing events”from four aspects:who is expressing,how to express,what to express,and the results of expression.It is proposed that university gover⁃nance should adapt to the requirements of professionalization,rationalization,and rule of law in modern society, implement a governance mechanism that is hierarchical and accountable,and stick to information identification, compliant disposal,and fairness and transparency.Key words:university governance;event of demanding high scores;exam scores;teaching evaluation; course assessmentChinese Universities’Identities and Transitivity in International Communica⁃tionYANG Yiyuan,LIANG Chuanjie Page53Abstract:From the perspective of transitivity,with the use of LancsBox this paper analyzes the corpus ofiiiChinese Top100universities’introductions.The study revealed that universities in China build their identities utilizing material process and relational process,and meanwhile elaborate with mental process.Among the pro⁃cesses,the creative,transformative feature from material process and the intensive,possessive feature from rela⁃tional process are the most frequently used ones.The results show that Chinese universities’identities have fol⁃lowing characteristics:high level and long history but lack of heterogeneity;serving students and society but us⁃ing less micro narrative;developing innovation but paying less attention to empathy discourse.Therefore,in or⁃der to improve the ability of international communication,the narrative framework with Chinese characteristics should be constructed in order to tell the story of true and real Chinese universities and combine the macro nar⁃ratives with micro narratives,so that they can attract more attention all over the world.Key words:university’s international communication;university’s English introduction;Chinese narra⁃tive;internationalization of higher education;university discourseThe Resilient Risk Management of Vocational Education International Coop⁃eration——A Case Study of Luban WorkshopWANG Lan Page66Abstract:In the background of opening up,vocational education international cooperation is an important way to enhance the capabilities of China participating in global vocational education governance.However,with the dynamic,complexity and uncertainty of the globalization and international cooperation environment,the risk of vocational education international cooperation has gradually highlighted,and it is urgent to improve the resil⁃ient risk management capabilities.Taking Luban Workshop as a case,which is the Chinese and foreign human communication and vocational education internationalization development well-known brand,based on resilient risk management theory,this paper explains the definition of resilient risk management capabilities of vocation⁃al education international cooperation.By the three stages,which include risk identification,risk evaluation, and risk response,the paper also analyzes the necessity of improving resilient risk management capabilities of vocational education international cooperation,and the four key dimensions of resilient risk management capa⁃bilities of vocational education international cooperation,which include redundant resources,organic structure, flexible culture and external reciprocity.Finally,it proposes some approaches to improving the resilient risk management capabilities of vocational education international cooperation,which include fully tapping construc⁃tion resources,avoiding the risk of shortage of cooperation resources,gradually optimizing construction struc⁃ture,avoiding the risk of imbalanced cooperation structure,actively creating construction culture,and avoiding the risk of weak cooperation culture,top-level designing reciprocity mechanism,and weak cooperation mecha⁃nism.Key words:vocational education;Luban Workshop;resilient risk management;internationalization of edu⁃cationiVCharacteristics of“Outstanding Class”in the Eyes of Pre-service Teachers YU Dongmei Page76 Abstract:Based on the method of grounded theory,105pre-service teachers’educational narratives are encoded.The characteristics of“outstanding class”in the eyes of pre-service teachers can be clustered into sixfirst-level nodes,including teaching structure,student learning,community interaction,class culture,teacher teaching,learning achievement,and19second-level nodes,including teacher-student interaction and guid⁃ance.The result shows that pre-service teachers present a good situation of diversified and integrated under⁃standing of classroom teaching.However,there is also an observation tendency of emphasizing exigency over im⁃plicity,emphasizing teacher-student interaction over student-student interaction,and emphasizing cognition over construction.Based on this,it is necessary to use multimodal data to help them understand the true appear⁃ance of“outstanding class”,and cultivate their belief in practicing“outstanding class”with narrative education method.Key words:pre-service teachers;curriculum reform;educational narrative;classroom teaching;teacher educationDeveloping Scholarship of Teaching and Learning by Peer Review of Teaching ——Practice at the University of Nebraska-Lincoln in AmericaOUYANG Guanghua,ZHANG Yue Page89Abstract:The peer review of teaching program at the University of Nebraska-Lincoln originated from the proposal of the concept of scholarship of teaching,and was initiated by American Association for Higher Educa⁃tion’s exploration of the path of“teaching as scholarship”.After decades of effort,a faculty-led inquiry into re⁃flective and scholarly teaching program has been formed.The program consists of two operational forms: first-year project and advanced project.The characteristics of the program are:stages dividing reflecting the scholarship of teaching and learning(SoTL)development logic from“teaching”to“scholarly teaching”and then to“scholarship of teaching and learning”,the construction of academic communities of SoTL through peer re⁃view of teaching,and the development of benchmark portfolio and the inquiry portfolio to provide artifacts of SoTL development.The program emphasizes the important role of the academic community in development of SoTL,and provides experience for teacher’s development of SoTL in China from aspects of the idea change, platform construction and artifacts development.Key words:development of SoTL;peer review of teaching;course portfolio;academic community of SoTLVThe Predicament of Moral Education of Cai Yuanpei and Peking University ZHU Xianfeng Page101 Abstract:Cai Yuanpei made active attempts in moral education when he was in charge of Peking Universi⁃ty.Meanwhile,he also faced many difficulties.Firstly,the position of moral education was shaken.Cai Yuanpeimade a local transformation of the idea of German classical universities.On the one hand,he emphasized aca⁃demic research.On the other hand,he attached great importance to moral education.However,the position of moral education was impacted by academics in university running.Secondly,the cultivation of personal morals encountered difficulties.Cai Yuanpei tried to cultivate students’personal morals through the Society of Moral Improvement,but he failed to achieve the expected results.Thirdly,the cultivation of social morality faced chal⁃lenges.Cai Yuanpei believed that social morality was mainly reflected in concern for the interests of groups and society.He tried to realize the change from“patriotism”to“loving the people”,and paid attention to cultivating students’consciousness of loving the university.Influenced by internal and external factors,relevant measures did not achieve significant results.The predicament of moral education of Cai Yuanpei and Peking University re⁃flects not only the adjustment and conflicts of transplanting foreign university systems,but also the courage and helplessness of an educator in resisting the dark political reality and old habits.Key words:Cai Yuanpei;Peking University;university moral education;university governance during the period of the Republic of ChinaThe Logical Approach to Cultivating College Students’Big View of History LYU Hongmei Page111 Abstract:The practical need to enhance historical consciousness and the inherent requirement to broaden cognitive horizons are the internal logic of cultivating college students’big view of history.Enhancing historical confidence,firm ideals and beliefs,and political literacy are the basic values for cultivating the big outlook of history.The main goals of cultivating the big view of history are to form a civilized historical view centered on Chinese history,a dynamic historical view centered on materialism,and a global historical view centered on a community with a shared future for mankind.The ideological and political theory courses in universities are an important battlefield for cultivating college students’big view of history,and related general education courses and subject history can provide strong support for cultivating college students’big view of history.Key words:big view of history;general education;ideological and political courses;college ideological and political education;history of disciplinesVi。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Efficient and Precise Dynamic Impact Analysis Using Execute-After Sequences T aweesup Apiwattanapong,Alessandro Orso,and Mary Jean HarroldCollege of ComputingGeorgia Institute of T echnologyAtlanta,Georgia30332,USA{term|orso|harrold}@ABSTRACTAs software evolves,impact analysis estimates the poten-tial effects of changes,before or after they are made,by identifying which parts of the software may be affected by such changes.Traditional impact-analysis techniques are based on static analysis and,due to their conservative as-sumptions,tend to identify most of the software as affected by the changes.More recently,researchers have begun to investigate dynamic impact-analysis techniques,which rely on dynamic,rather than static,information about software behavior.Existing dynamic impact-analysis techniques are either very expensive—in terms of execution overhead or amount of dynamic information collected—or imprecise.In this paper,we present a new technique for dynamic impact analysis that is almost as efficient as the most efficient exist-ing technique and is as precise as the most precise existing technique.The technique is based on a novel algorithm that collects(and analyzes)only the essential dynamic informa-tion required for the analysis.We discuss our technique, prove its correctness,and present a set of empirical studies in which we compare our new technique with two existing techniques,in terms of performance and precision. Categories and Subject Descriptors: D.2.5[Software Engineering]:Testing and Debugging—Testing tools,Trac-ing;General Terms:Algorithms,Experimentation Keywords:Impact analysis,dynamic analysis,software maintenance1.INTRODUCTIONAs software evolves,changes to the software can have unintended or even disastrous effects[8].Software change impact analysis estimates the potential effects of changes before or after they are made.Applied before modifica-tions,impact analysis can help maintainers estimate the costs of proposed changes and select among alternatives. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on thefirst page.To copy otherwise,to republish,to post on servers or to redistribute to lists,requires prior specific permission and/or a fee.ICSE’05,May15–21,2005,St.Louis,Missouri,USA.Copyright2005ACM1-58113-963-2/05/0002...$5.00.Applied after modifications,impact analysis can alert engi-neers to potentially affected program components that re-quire retesting,thus reducing the risks associated with re-leasing changed software.1.1Dynamic versus Static Impact Analysis Traditional impact-analysis techniques(e.g.,[2,9,14,15, 16])rely on static analysis to identify the impact set—the subset of elements in the program that may be affected by the changes made to the program.Although static-analysis-based techniques can safely esti-mate the impact of changes,their conservative assumptions often result in impact sets that include most of the software. For example,in previous work,we found that impact anal-ysis based on static slicing often identified,for the software considered,impact sets that included more than90%of the program[10].Such impact sets make the results of impact analysis almost useless for other software-engineering tasks. For example,regression-testing techniques that use impact analysis to identify which parts of the program to retest after a change would have to retest most of the program.The problem with sound static-analysis-based approaches is twofold.First,they consider all possible behaviors of the software,whereas,in practice,only a subset of such be-haviors may be exercised by the users.Second,and more importantly,they also consider some impossible behaviors, due to the imprecision of the analysis.Therefore,recently, researchers have investigated and defined impact-analysis techniques that rely on dynamic,rather than static,infor-mation about program behavior[3,6,7,10].The dynamic information consists of execution data for a specific set of program executions,such as executions in thefield,execu-tions based on an operational profile,or executions of test suites.We define the dynamic impact set to be the subset of pro-gram entities that are affected by the changes during at least one of the considered program executions.Dynamic impact analysis is the analysis that computes(approximates)dy-namic impact sets.In the rest of the paper,we use the terms dynamic impact set and impact set interchangeably, unless otherwise stated.1.2Existing ApproachesTo the best of our knowledge,two main dynamic im-pact analysis techniques have been defined in the literature: CoverageImpact[10]and PathImpact[6,7].(Breech and colleagues’technique[3]is a variant of PathImpact thatFigure1:Call graph of an example program PM e A e A r A e A r B e C e C r B r B eFigure2:Trace t for program Pcomputes the impact sets for all methods online.)We illus-trate the differences between these two techniques with an example.Consider program P,whose call graph1is shown in Figure1,and an execution of P,whose trace t is shown in Figure2.The trace consists of a list of method entries and returns.For a given method X,an occurrence of X e in the trace indicates a call to X at that point of the execution. Analogously,an occurrence of X r in the trace indicates a re-turn from X at that point of the execution.In the following discussion,we refer to X e as a method-entry event and X r as a method-return event.Note that we consider return events in the most general way possible:a return event for method X occurs any time X returns into its caller regardless of how the return occurs(e.g.,because of an actual return state-ment or because of an uncaught exception).The trace in Figure2represents an execution in which M is called,M calls A,A returns,M calls A again,A returns,M calls B,B calls C,C returns,B returns,M calls B again,and B exits, terminating the program.PathImpact works at the method level and uses com-pressed execution traces to compute impact sets.Because the compression reduces the space cost of the approach,but does not affect the nature of the algorithm,we describe the equivalent algorithm that works on uncompressed traces. Given a set of changes,PathImpact performs forward and backward walks of a trace to determine the impact set for the changes.The forward walk determines all methods called af-ter the changed method(s),whereas the backward walk iden-tifies methods into which the execution can return.More precisely,for each changed method X and each occurrence of X e:•in the forward walk,PathImpact starts from the im-mediate successor of X e,includes every method called after X in the impact set(i.e.,every method Y such that the trace contains an entry Y e after the occurrence of X e),and counts the number of unmatched returns;2•in the backward walk,PathImpact starts from the im-mediate predecessor of X e and includes as many un-matched methods3as the number of unmatched re-turns counted in the forward walk;andA C110Table1:Coverage bit vector for the execution of P that produces trace t.CoverageImpact computes the impact sets in two steps. First,using the coverage information,it identifies the exe-cutions that traverse at least one method in the change set C and marks the methods covered by such executions.Sec-ond,it computes a static forward slice from each change in C considering only marked methods.The impact set is the set of methods in the computed slices.To illustrate,consider how CoverageImpact computes the impact set for our example and change set C={C}(the same used to illustrate PathImpact).Because C is traversed by this execution,the methods covered by the execution(M, A,B,and C)are marked.Assuming that a traditional static slice from method C would include all methods in the pro-gram,the resulting impact set—the slice computed consid-ering only marked methods—would be{M,A,B,C}.Note that the inclusion of method A is an imprecision:because CoverageImpact uses simple coverage instead of traces,it misses information about the ordering of method calls. 1.3Our ApproachIn previous work[11],we compared the precision and per-formance of CoverageImpact and PathImpact,both analyti-cally and empirically.Analytically,PathImpact is more pre-cise than CoverageImpact,as shown in our example,because it uses traces instead of coverage.However,PathImpact in-curs much higher overhead in both time and space.Where time is concerned,CoverageImpact requires a constant time to update the bit vector at each method entry,whereas PathImpact requires a time that depends on the size of the trace analyzed so far to compress traces at both method en-try and return.Where space is concerned,CoverageImpact requires one bit per method(i.e.,its space complexity is lin-ear in the size of the program),whereas PathImpact’s space cost is proportional to the size of the traces(which can bevery large).Our empirical studies confirmed that this trade-offalso occurs in practice.For some programs and versions, the impact sets computed by CoverageImpact are signifi-cantly less precise than those computed by PathImpact,but CoverageImpact imposes orders of magnitude less overhead in both time and space across all programs and versions[11]. In fact,our studies show that the overhead imposed by PathImpact makes it impractical to use with all but short-running programs.Based on these results,our goal was to define an ap-proach that is efficient and practical(i.e.,one that can be used for large,long-running programs),yet is more precise than CoverageImpact.Initially,we investigated a hybrid approach that(1)uses static analysis to identify groups of methods that could cause imprecision,and(2)collects addi-tional dynamic information,such as partial traces,for those methods.However,in the process,we made some funda-mental observations about the essential information that is required to perform dynamic impact analysis.These ob-servations led us to a novel algorithm for dynamic impact analysis.This algorithm is as precise as PathImpact but only slightly more expensive than CoverageImpact.In this paper,we present our new technique for dynamic impact analysis and demonstrate the correctness of its un-derlying algorithm.We also discuss our implementation of the technique for the Java language.Finally,we present a set of empirical studies in which we compare our new technique with techniques PathImpact and CoverageImpact. The studies confirm that our technique is practical:it is al-most as efficient as CoverageImpact and as precise as Path-Impact.The main contributions of this paper are:•the identification of the essential information needed to perform dynamic impact analysis;•the definition of a generic technique,and an underlying algorithm,for efficiently collecting and analyzing this information;•the instantiation of the technique for the Java lan-guage;and•a set of empirical studies,performed on real programs, that show the efficiency and effectiveness of our new technique and compare it to existing approaches. 2.DYNAMIC IMPACT ANALYSIS ALGO-RITHMIn this section,wefirst discuss ourfindings on what in-formation is essential for computing dynamic impact sets. Then,we introduce our algorithm for collecting this infor-mation efficiently during program executions and present a proof of correctness for the algorithm.2.1The Execute-After RelationAs we stated in Section1.2,dynamic impact analysis com-putes,for one or more program changes,the corresponding dynamic impact set:the set of program entities that may be affected by the change(s)for a specific set of program executions.Intuitively,all entities that are executed after a changed entity are potentially affected by that change.A safe way to identify the dynamic impact set for a changed entity e is,thus,to include all program entities that are executed after e in the considered program executions. Therefore,to compute dynamic impact sets for a program P and a set of executions E,the only information required is whether,for each pair of entities e1and e2in P,e2was executed after e1in any of the executions in E.This binary relation,that we call Execute After(EA hereafter)can be defined for entities at different levels of granularity.For ease of comparison with existing dynamic impact analysis techniques,we formally define the EA relation for the case in which the entities considered are methods and executions are single-threaded.We will discuss the generalization of the EA relation with regard to multi-threaded executions in Section2.3.Definition 1.Given a program P,a set of executions E,and two methods X and Y in P,(X,Y)∈EA for E if and only if,in at least one execution in E,1.Y calls X(directly or transitively),2.Y returns into X(directly or transitively),or3.Y returns into a method Z(directly or transitively),and method Z later calls X(directly or transitively). The problem with existing dynamic impact analysis tech-niques[3,6,7,10]is that they do not explicitly compute the EA relation.Instead,they infer the relation from in-formation that is either too expensive to collect or too im-precise to provide accurate results.For example,technique PathImpact uses complete program traces to identify which methods are executed after a change(see Section1.2).For another example,technique CoverageImpact uses coverage information combined with static slicing to approximate the information contained in complete program traces.Our investigation shows that trace information is excessive for both deriving the EA relation and performing dynamic im-pact analysis because it contains much unnecessary infor-mation.In the following discussion,we demonstrate that execution traces contain mostly redundant information,and we present the considerably smaller amount of information that our technique collects at runtime.Ourfirstfinding,when analyzing the information con-tained in program traces such as the one in Figure2,is that using only the information provided by method-return events unnecessarily complicates the analysis of the traces. Method-return events can be used to identify the methods into which the execution returns,but provide this informa-tion only indirectly—some form of the stack-based walk of the traces is typically required to identify such methods.To simplify the dynamic impact analysis,we collect,instead of method-return events,what we call method-returned-into events.A method-returned-into event for a method X,denoted as X i,is generated when an execution returns (from any method)into X.For now,we simply assume that method-returned-into events can be easily collected.In Sec-tion3.1,we discuss how we efficiently collect such events for Java programs.By considering only method-entry and method-returned-into events,we rewrite the trace in Fig-ure2as follows:M e A e M i A e M i B e C e B i M i B eIn the rest of the section,we use this example trace to illustrate how to capture the EA relation between any pair of methods in an execution.Obviously,we can derive the EA relation from this com-plete trace.Because of the way in which we defined method-entry and method-returned-into events,we can observe the following:Method X executes after method Y if,in thetrace,there is a method-entry or method-returned-into event for X that follows a method-entry ormethod-returned-into event for Y.However,if our only goal is to derive the EA relation,the complete trace contains much unnecessary information.In fact,the above observation can be restated as follows: (X,Y)∈EA iffat least one event for X occursafter at least one event for Y.To assess whether at least one event for X occurs after at least one event for Y,we do not need a complete trace—it is enough to consider thefirst method event for Y(we refer to this event as Y f),the last method event for X(we refer to this event as X l),and the ordering of the two events in the trace.If an event Y∗4for method Y occurs before an event X∗for method X,then necessarily Y f occurs before X l:by definition,Y f≤Y∗<X∗≤X l.Conversely,if Y f occurs after X l,then there cannot be any X∗and Y∗such that Y∗occurs before X∗:Y∗<X∗contradicts X∗≤X l<Y f≤Y∗.We can thus conclude that,in general,the essential infor-mation for deriving the EA relation for an execution is,for each method,thefirst and the last events that the method generates in the execution.Thefirst event for a method X always corresponds to thefirst method-entry event for X.The last event for a method X corresponds to the last method-entry event for X or the last method-returned-into event for X,whichever comes last.Intuitively,thefirst and last events for a method represent thefirst and the last executions of the method,where execution of a method means the execution of one or more of the statements in the method’s body.By considering only thefirst and the last events for each method,we reduce our example trace to the following se-quence:M e A e A e B e C e M i B eTo simplify the discussion,in the rest of this section we use the notation for method events introduced above:for a method X,X f indicates thefirst method event for X,and X l indicates the last method event for ing this notation, we rewrite the above trace as follows:M f A f A l B f C f C l M l B lNote that,because there is only one event for method C,the event appears as bothfirst and last.This sequence contains at most two entries for each method in the pro-gram.Because this sequence lets us derive the EA relation, we refer to it as EA sequence.As we discussed above,the EA sequence contains the essential information needed to perform dynamic impact analysis.Algorithm CollectEADeclare:F array offirst method eventsL array of last method eventsC countern number of methods in the programOutput:F,LBegin:1:On program start do2:initialize F[i]to⊥,for0≤i<n3:initialize L[i]to⊥,for0≤i<n4:initialize C to1endBegin:5:On entry of method M do6:if(F[M]=⊥)then7:F[M]=C8:endif9:L[M]=C10:increment C by1endBegin:11:On control returning into method M do12:L[M]=C13:increment C by1endBegin:14:On program termination do15:output F,LendFigure3:Algorithm CollectEAEvery time the controlflow returns into method M,L[M] is updated to the current value of the counter(line12),and the counter is incremented by one(line13).In this way, each element in L contains the timestamp of the last time the corresponding method was(partially)executed.To illustrate the algorithm,we show how it works on the execution producing the example trace used in Section1.2 (see Figure2).Table2shows the values of F,L,and C after each method(and program)event.The leftmost col-umn(event)shows the program-start,method-entry,and method-returned-into events.Columns labeled F and L show,for each method,the values of the corresponding el-ements in the F and L arrays,respectively.Finally,the rightmost column(C)shows the value of the counter.On program start,F,L,and C are initialized.When M is called,F[M]and L[M]are set to1,the current value of C, and C is incremented to2.Likewise,when A is called,F[A] and L[A]are set to2,and C is incremented to3.Then,the controlflow returns into M,which generates an M i event, and L[M]and C are updated accordingly.When method A is called again,F[A]is not updated(because its value is not⊥),L[A]is updated,and the counter is incremented. Additional updates of F,L,and C occur in an analogous way until the program terminates.To illustrate that,for a given execution,the information in a pair of F and L arrays is equivalent to the information in an EA sequence,we demonstrate the steps to derive one from the other and vice-versa.(Note that maintainers needLeventA C MB D start⊥⊥⊥⊥⊥1⊥⊥⊥⊥2A e2⊥1⊥⊥1⊥⊥2⊥4A e2⊥3⊥⊥1⊥⊥4⊥6B e2⊥56⊥16⊥478B i2758⊥16⊥4710B e27910⊥t1.At the end of the execution,because of Characteristics 1,2,and3,F[Y]is either t1(if Y e is thefirst entry event for Y)or a value less than t1(otherwise),and L[X]is either t2(if X e is the last method event for X)or a value greater than t2(otherwise).Thus,we conclude that F[Y]<L[X]in this case.In the second case(Y returns into X),a Y e event is gen-erated at timestamp t1(when X calls Y directly or transi-tively)and an X i event is generated at timestamp t2>t1 (when Y returns).As for the previous case,F[Y]≤t1,and L[X]≥t2.Thus,F[Y]<L[X]also in this case.In the third case(Y returns into a method Z that then calls X),a Y e event is generated at timestamp t1(when Z calls Y)and an X e event is generated at timestamp t2>t1 (when Z calls X).As for the previous cases,F[Y]≤t1,and L[X]≥t2,and thus F[Y]<L[X]also in this case.Because(X,Y)∈EA implies F[Y]<L[X]in all three cases,part(1)of the Lemma holds.Next,we prove part(2).This part follows directly from the meaning of arrays F and L:if F[Y]<L[X],then thefirst (partial)execution of method Y precedes the last(partial) execution of method X—X executes after Y.Now that we have shown that the CollectEA algorithm correctly captures the EA relation among methods for a given execution,we discuss how our technique uses such in-formation to compute dynamic impact sets.To compute the dynamic impact set for a changed method,our technique in-cludes every method whose timestamp in L is greater than or equal to the timestamp in F for the changed method.In the case of more than one changed method,our technique just needs to compute the impact set for the changed method with the least timestamp in the F array(CLT hereafter). By definition,the impact set for CLT is a superset of the impact set computed for any of the other changed meth-ods:any other changed method X has a greater timestamp than CLT and,thus,the set of methods executed after X is a subset of the set of methods executed after CLT.More formally,given a set of changed methods CHANGED,our technique identifies CLT and computes the dynamic impact set for CHANGED as follows:CLT=X|F[X]≤F[Y],X,Y∈CHANGED impact set for CHANGED={X|L[X]≥F[CLT]}To illustrate this,consider our example execution and a CHANGED set that consists of A and C.In this case,CLT is method A,and the dynamic impact set for CHANGED is{M,A,B,C}.Note that changed methods that were not executed(i.e.,methods whose timestamps are⊥at the end of the execution)are not considered.In the case of multiple executions(i.e.,multiple EA sequences),the impact set is computed by taking a union of the impact sets for the individual executions.Lemma 2.The dynamic impact sets computed as described include(1)the modified methods and(2)all and only meth-ods that are(partially)executed after any of the modified methods.Proof.By definition,our technique computes dynamic impact sets with the following property:impact set={X|L[X]≥F[Y]for any modified method Y} Lemma2follows immediately from Lemma1and from the above property.The space complexity of CollectEA is O(n),where n is the number of methods in the program,because the algorithm needs two arrays,each of size n,and a pared to approaches that use traces,our algorithm achieves dramatic savings in terms of space because program traces,even if compressed,can be very large.For example,in our previ-ous work,we collected traces on the order of2gigabytes, even for relatively small programs[11].The time overhead of CollectEA is a small constant per method call.At each method entry,the algorithm performs one check,one in-crement,and at most two array updates.Every time the control returns into a method,the algorithm performs one array update and one increment.2.3Multi-Threaded ExecutionsIn multi-threaded executions,one method can be exe-cuted not only before or after another method,but also concurrently.According to the definition of dynamic im-pact analysis,any method(or part thereof)that is exe-cuted after a changed method is potentially affected by the change.Therefore,any method that is executed concur-rently with a changed method is also potentially affected by the change because of possible interleaving of threads.Un-fortunately,method-entry,and method-returned-into events are not enough to identify affected methods in these cases. To illustrate,consider a multi-threaded program in which method A is entered at time t1and exited at time t2,method B is entered at time t3and exited at time t4,and t1<t3< t2.In such a case,A and B are executed in parallel,and a possible sequence of events is(assuming that methods A and B are invoked by two methods X and Y,respectively):...A f A l B f B l X l Y lIf method B is a changed method,the above sequence does not give us enough information to identify A as possibly affected by B because it only appears before B.To address this problem,and account for multi-threaded executions,we modify our algorithm CollectEA as follows.We still use one pair of arrays F and L with a global counter,but we also collect method-return events.Method-return events let us identify whether one method in a thread is exited before or after the entry of another method in another thread.The algorithm treats method-return events in the same way in which it treats method-return-into events.For the example above,the trace would therefore change as follows:...A f B f A l X l B l Y lWe then compute the impact sets from arrays F and L in the same way as previously described.The impact sets obtained in this way are safe,in the sense that no method that is not in the impact set for a change can be affected by that change.3.EMPIRICAL STUDIESTo evaluate our technique,we developed a prototype tool, called EAT(Execute-After Tool),and conducted a set of empirical studies.In the studies,we investigate the following research questions:RQ1:How much overhead does the instrumentation re-quired by our technique impose,in practice,on the programsunder analysis compared to the more efficient of the two ex-isting techniques?RQ2:How much does our technique gain,in terms of precision,with respect to a technique that does not collect trace information?3.1The Tool:EATEAT is a tool written in Java that consists of three main components:(1)an instrumentation module,(2)a set of runtime monitors,and(3)an analysis module.3.1.1Instrumentation ModuleThe instrumentation module uses InsECT[5]to instru-ment the program under analysis by adding probes that pro-duce method events.In Section2,we assumed that method events can be easily produced.The way these events are produced in practice depends on the programming language that is targeted by the analysis.Because the subjects of our studies are Java programs,we discuss how to collect the events for the Java language.Collecting method-entry events is straightforward.We simply instrument each method immediately before thefirst statement with a probe that generates an event with an attribute.The attribute is the numeric identifier for the method in which the event is generated.Collecting method-returned-into events is more compli-cated because,in Java,there are three ways in which a method X can return into another method Y:1.Normal return:X returns into Y because of a returnstatement or simply because X terminates.In this case,the execution continues at the instruction in Y that immediately follows the call to X.2.Exceptional return into a catch block:while X exe-cutes,an exception is thrown that is not caught in X but is caught in Y.In this case,the execution contin-ues at thefirst instruction in the catch block in Y that caught the exception.3.Exceptional return into afinally block:while X exe-cutes,an exception is thrown that is not caught in X and not caught in Y,but Y has afinally block associ-ated with the code segment that contains the(possibly indirect)call to X.In this case,the execution continues at thefirst instruction in thefinally block in Y.The instrumentation for a Java program for collecting method-returned-into events must handle these three cases. To this end,the instrumentation module instruments each call site by adding(1)a probe immediately before the in-struction that follows a method call,(2)a probe before the first instruction of each catch block(if any)associated with the code segment that contains the call,and(3)a probe before thefirst instruction of thefinally block(if any)asso-ciated with the code segment that contains the call.Each of these probes generates an event and attaches to the event, in the form of an attribute,the numeric identifier for the method in which the event is generated.Note that the program instrumented in this way may gen-erate some redundant method-returned-into events,but the correctness of the algorithm is preserved.For example,if method Y returns normally into method X,but there is a finally block in X associated with the code segment that con-tains the call to Y,then two probes will be triggered,which generate two X i events:one after the call and one in thefi-nally block(which would be executed anyway).Every time an X i event is duplicated,thefirst event produced is simply discarded when the second event occurs(i.e.,the value of el-ement L[X]is set to the new value of the counter),which is correct because the goal is to record the last time the method is executed.Such events are produced only in a few cases and,moreover,only require the update of one array element and the increment of a counter(duplication only occurs for method-returned-into events).Therefore,their impact on the efficiency of the approach is unnoticeable.Obviously,a more sophisticated instrumentation could avoid the produc-tion of these duplicated events,but the additional overhead would hinder the practicality of the approach.The other two events required by our approach,program start and program termination,are already provided by In-sECT[5],so we simply enable them when instrumenting.3.1.2MonitorsThe monitors are static methods that implement the four parts of the algorithm shown in Figure3.The monitors initialize,update,and output the F and L arrays during program executions.Leveraging InsECT functionality,we link the events gen-erated by the probes with the appropriate monitors.There-fore,when a method event is generated,InsECT calls the appropriate static method and passes the event attribute (i.e.,the identifier of the method in which the event was generated)as a parameter.When a program event is gen-erated,which happens only at program start and program termination,InsECT simply calls the appropriate method with no parameter.3.1.3Analysis ModuleThe analysis module inputs the arrays produced by the monitors and the change information and outputs dynamic impact sets.To compute the impact sets,the analysis mod-ule uses the approach described in Section2.2.3.2Experimental Setup3.2.1Subject programsAs subjects for our study we utilized several releases of two programs—Jaba and Siena—summarized in Table3. The table shows,for each subject,the number of versions (V ersions),the number of classes(Classes),the number of methods(Methods),the number of non-comment lines of code(LOC),and the number of test cases in the subject’s test suite(T est Cases).The number of classes,methods, and lines of code is averaged across versions.Program Classes LOCSiena243674112695215Table3:Subject programsSiena[4]is an Internet-scale event notification middle-ware for distributed event-based applications.Jaba5is a framework for analyzing Java programs.For both subjects, we extracted from their CVS repositories consecutive ver-sions from one to a few days apart.。