Information Technology

5 downloads 0 Views 10MB Size Report
Oct 27, 2012 - ... Artificial Bee Colony (AABC) by K. Janaki, N. Radhakrishnan ...... access solutions like PON[2], which would see the integration of the latest ...
International Journal on

Information Technology (IREIT)

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

Contents Reliability Evaluation and Prediction of Heavies Up Gradation Plant in IREL, Chavara by J. Abdul Jaleel, Anju Iqubal, Rahana P.

313

Reliability Evaluation and Failure Rate Prediction of Ilmenite Fluidized Bed Dryer at IREL, Chavara by J. Abdul Jaleel, Minchu Vijayan

319

Kilobyte Virtual Machine Memory Management by Adamou Souleymane Aboubacar

325

Real Time Performance Analysis of DBA Algorithm Using Network Processors by S. Ramya, N. Nagarajan, B. Kaarthick

331

Towards the Improvement of Emergency Call Service by Miha Ristič, Franc Novak

339

Improving Matrix Multiplication Using Parallel Computing by Haitham A. Alasha’ary, Khaled M. Matrouk, Abdullah I. Al-Hasanat, Ziad A. Alqadi, Hasan M. Al-Shalabi

346

A Theoretical Review of Information Technology as Capital Goods by I. J. David, B. K. U. Farouk, O. A. David

350

A Novel Expert System in Hospital Location Analysis with the Aid of Adaptive Artificial Bee Colony (AABC) by K. Janaki, N. Radhakrishnan

360

Microarray Gene Expression and Multiclass Cancer Classification Using Improved PSO Based Evolutionary Fuzzy ELM Classifier with ICGA Gene Selection by T. Karthikeyan, R. Balakrishnan

369

International Journal on Information Technology (I.RE.I.T.) Vol. 1, N. 6 ISSN 2281-2911 November 2013

Reliability Evaluation and Prediction of Heavies Up Gradation Plant in IREL, Chavara J. Abdul Jaleel, Anju Iqubal, Rahana P. Abstract – In industries the reliability engineering place a major role in process availability, safety, probability of failure component etc. Here the plant at Indian Rare Earth Limited is chosen for reliability evaluation. The technique used for the reliability evaluation is fault tree analysis. Open FTA software is used for fault tree analysis. In this paper reliability and failure rate predictions are also carried out using artificial neural network. Here working environment used for ANN is neural lab. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved.

Keywords: Open FTA, Reliability, Fault Tree Analysis, Reliability Block Diagram, ANN

I.

The bath-tub curve is a representation of the reliability performance of components or non-repaired items. It observes the reliability performance of a large sample of homogenous items entering the field at some start time (usually zero). If we observe the items over their lifetime without replacement then we can observe three distinct shapes or periods. Figure 1 shows the bath-tub curve and these 3 periods. The infant mortality or early failures portion shows that the population will initially experience a high hazard function that starts to decrease. After the initial phase when the weak components have been weeded out and mistakes corrected, the remaining population reaches a relatively constant hazard function period, known as the useful life period. From figure you can see that the hazard function is constant, this shape can be modeled by the exponential distribution when failure are occurring randomly through time. The final portion of the bath-tub curve is called the wear-out phase, this is when the hazard function increases with time. In this paper reliability analysis of heavies up gradation plant in IREL, Chavara was done. The method used for the analysis was fault tree method.

Introduction

In industrial field, the processing plants are trying to implement reliability program for improving plant safety and while trying to improve plant availability. Reliability is an engineering discipline for applying scientific knowhow to a component, assembly, plant, or process so it will perform its intended function, without failure, for the required time duration when installed and operated correctly in a specified environment [1]. It is often measured as a probability of failure or a measure of availability. Unreliability has a number of unfortunate consequences and therefore for many products and services is a serious threat. For example poor reliability can have implications for: • Safety • Profit margins • Cost of repair and maintenance This means that failure is regarded as a random phenomenon: it is a recurring event, and we do not express any information on individual failures, the causes of failures, or relationships between failures, except that the likelihood for failures to occur varies over time according to the given probability function. A definite criterion must be established to clearly describe or specify what is considered to be satisfactory or adequate performance. The system requirements specification is the criterion against which reliability is measured. Moreover it is necessary to provide a time limit within which the performance of a unit is to be assessed as being satisfactory or unsatisfactory. In practical terms, this means that a system has a specified chance that it will operate without failure before time t. Reliability engineering ensures that components and materials will meet the requirements during the specified time. This constraint is necessary because it is impossible to design a system for unlimited conditions.

Fig. 1. Failure rate curve

Manuscript received and revised October 2013, accepted November 2013

313

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

J. Abdul Jaleel, Anju Iqubal, Rahana P.

IREL is engaged in mining and separation of beach sand minerals. Failure rate, MTTR , MTBR, Repair rate, Availability and unavailability can be calculated using Microsoft Excel. This section is organized as follows. Section I gives the introduction of Reliability. Section II describes the system reliability parameters and Section III gives the reliability analysis. Section IV Reliability prediction and section V about the results and discussions. Section VI concludes the observations from the analysis.

II.

It is the expected span of time from a failure (or shut down) to the repair or maintenance completion. This term is typically only used with repairable systems. =

There are different reliability parameters which determine the reliability of the system[14].

F. Unavailability Unavailability is the probability that an item will not operate correctly at a given time and under specified conditions. It opposes availability:

A. Failure Rate( λ ) The failure rate of a component or system, is defined as the probability per unit time that the component or system experiences a failure at time t, given that the component or system was operating at time zero and has survived to time t.

U = 1-A

Number of failure of a component in the given period of time = Total period of time the component was operating

(4)

III. Reliability Analysis System reliability analysis is conducted in terms of probabilities. Reliability analysis can be done using various methods. It can be quantitative analysis and qualitative analysis. The mostly used methods are fault tree analysis, event tree analysis, Monte Carlo simulation and State enumeration. Here in this paper fault tree analysis is used. A. Fault Tree analysis Fault tree analysis is a systematic way of identifying all possible faults that could lead to system fail-danger failure. The FTA provides a concise description of the various combinations of possible occurrences within the system that can result in predetermined critical output events. The FTA helps identify and evaluate critical components, fault paths, and possible errors [7] The key elements of a FTA include: – Gates represent the outcome – Events represent input to the gates – Cut sets are groups of events that would cause a system to fail FTA can be done qualitatively by drawing the tree and identifying all the basic events. However to identify the probability of the top event then probabilities or reliability figures must be input for the basic events. Using logic the probabilities are worked up to given a probability that the top event will occur. Often the data from an FMEA are used in conjunction with an FTA. Boolean Algebra is the method used to calculate the minimal cut sets. For fault with series connection (OR gate). Fault tree analysis is done using Open FTA software. 1) Open FTA: Open FTA is a sophisticated engineering tool specially designed for drawing and analyzing fault trees. It enables fast drawing of fault trees. It

B. Mean Time To Failure [MTTF] Mean time to failure (MTTF) is a basic measure of reliability for non-repairable systems. It is the mean time expected until the first failure of a piece of equipment. It is a statistical value and is intended to be the mean over a long period of time and with a large number of units. For constant failure rate systems, MTTF is the inverse of the failure rate, λ: 1

(2)

E. Availability Availability, A(t), is affected by the rate of occurrence of failures (failure rate, λ) or MTBF plus maintenance time; where maintenance can be corrective (repair) or preventative (to reduce the likelihood of failure). It is the probability that an item is in an operable state at any time: A = µ/µ+λ (3)

System Reliability Parameters

=

1 µ

(1)

C. Repair rate ( µ ) For repairable items, reliability is the probability that failure will not occur in the time period of interest; or when more than one failure can occur, reliability can be expressed as the failure rate, λ, or the rate of occurrence of failures (ROCOF). In the case of repairable items, reliability can be characterized by MTBF described above, but only under the condition of constant failure rate: Number of repair of a component in given period of time µ= total period of time the component was being repaired D. Mean Time To Repair [MTTR] Mean time to repair (MTTR) is defined as the total amount of time spent performing all corrective or preventative maintenance repairs divided by the total number of those repairs.

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

314

J. Abdul Jaleel, Anju Iqubal, Rahana P.

provides both qualitative and quantitative analysis of fault trees. We get the minimal cut sets and numerical probability of the system . After drawing the fault tree in the canvas ,we can enter the probability of failure for each primary event. Then the values must be linked. After the validation you can find the minimal cut sets and the numerical probability.

IV. V. Reliability Prediction Reliability prediction is the combination of the creation of a proper reliability model together with estimating the input parameters for this model (like failure rates for a particular failure mode or event and the mean time to repair the system for a par particular ticular failure) and finally to provide a system level estimate for the output reliability parameters. The reliability prediction here is done by artificial neural network A neural network in the case of artificial neurons called artificial neural network (ANN) or simulated neural network (SNN). In most cases an ANN is an adaptive system that changes its structure based on external or internal information that flows through the network. Neural Lab provides a visual environment to design and test arti artificial ficial neural networks networks. Here NEURAL LAB is used as a platform for ANN prediction. In this paper reliability prediction and also failure prediction is calculated. The prediction of time series using neural network consist of teaching the net the history of the variable variable in a selected limited time and applying the taught information to the future. Data from past are provided to the inputs of neural network and we expect data from future from the outputs of the network architecture. In neural lab, if we want to predi predict ct reliability first select reliability data as the input in the notepad and it save as .csv file. Open neural lab and pre pre-processing processing done by selecting this input file and transform file is created. Then create training set and select artificial neural network. The figure shows the architecture of artificial neural network. It consist of input layer , hidden layer and output. After doing certain process and finally reach post processing method. Obtain prediction value. Fig. 4 shows the basic diagram of artificial neural network. Here five input input,, Three hidden layers and one output is set as artificial neural network. In Fig Fig. 5 shows the trained result of neural lab. Mean square error reading is shown in figure.

Fig. 2. Fault tree diagram in Open FTA

In this Fig Fig. 2, it is fault tree diagram of Heavies Up gradation Plant. Here the top event is HUP failure. The main intermediate components are process failure, whims failure, pump failure, gravity separator failure, PLC failure, Electrical failure and vibrating scre screen en failures. These intermediate component failure causes due to other basic events shown in figure. B. Reliability block diagram(RBD) A Reliability Block Diagram (RBD) performs the system reliability and availability analyses on large and complex systems using block diagrams to show network relationships. The structure of the reliability block diagram defines the logical interaction of failures within a system that are required to sustain system operation. The rational course of a RBD stems from an input node ode located at the left side of the diagram. The input node flows to arrangements of series or parallel blocks that conclude to the output node at the right side of the diagram. A diagram should only contain one input and one output node. The RBD system is connected by a parallel or series configuration. A parallel connection is used to show redundancy and is joined by multiple links or paths from the Start Node to the End Node. A series connection is joined by one continuous link from the Start Node to the End Node.

Fig. 4. Architecture of artificial neural network

V.

Results and Discussions

From the Open FTA software we get the minimal cut sets and numerical probability of the heavies up gradation plant. Fig. 3. Reliability Block Diagram of the System

Copyright © 201 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Informatio Information n Technology, Technology, Vol. 1,, N. 6

315

J. Abdul Jaleel, Anju Iqubal, Rahana P.

Fig. 5. Neural lab software

Fig. 8(a). (a). Seasonal Seasonal availability for one year

So from this the probability of failure of the plant can be found out. Failure rates, repair rates, MTTR, MTBF, Availability and Unavailability were manually calculated. The graphs were also plotted. The Table I shows the results obtained from th thee fault tree are the minimal cut sets and the numerical probability. In this Fig. 6 shows the seasonal failure rate of the components. From this figure we can understood that sep oct has higher failure sep-oct failure rate than other seasons.

Fig. 8(b) (b). Seasonal easonal graph of mean time between failure for one year

Fig. 6. Seasonal Seasonal failure rate for one year

Fig. 9. Seasonal easonal graph of mean time to repair for one year

In Fig. 9 shows the seasonal graph of mean time to repair. From this figure we know that mar mar-april april has greater for time to repair. nov nov-dec dec has only 6% MTTF.

Fig. 7. Seasonal Seasonal repair rate for one year

Repair rate of the components as shown in Fig Fig. 7. 7 mar-April mar April has least repair rate and nov nov-dec dec has higher repair rate. Fig Figs.. 8 show availability from Jan to Dec. From this we concluded that availability is higher at nov nov-dec dec Availability value of mar-apr mar apr is less than that of other five seasonal values. Fig. 10. Seasonal Seasonal reliability graph for one year

Copyright © 201 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Informatio Information n Technology, Technology, Vol. 1,, N. 6

316

J. Abdul Jaleel, Anju Iqubal, Rahana P.

This F Fig. 10 shows the reliability of the plant for one year. Reliability is poor in maymay -june. june. That is it will not perform properly.

In post post-- processing open the transform file and copy some value from output file. Then post processing done and we get the prediction file file.

Fig. 11. Seasonal easonal reliability and its parameter graph for one year Fig. Fig 13(a) (a). Neural Lab Pre Pre-processing processing graph

The data obtained from IREL, same components that cause failure of the process throughout the year are vibrator failure, pump failure, process failure, supply failure, supply failure, gravity separator fault, electrical failure. The fai failure lure hours of these components aare re shown in this Fig. 12.

Fig. 12. Seasonal easonal wise component failure graph for one year Fig. 13(b) (b). Neural Lab Post Post-processing processing graph

The T able I contain the event and the probability of Table failure obtained from fault tree. K1, K2 etc are the basic events. For the reliability prediction here we know that Neural Lab is used. Mainly Neural lab contain two processing step. One is pre pre-processing processing and other is post processing (Figs. 13) 13).. In prepre processing processing of input is done and after that transform file was formed. formed

VII.

Conclusion

The reliability analysis of the heavies up gradation plant in IREL can be easily found out using fault tree method. From the fault tree analysis the minimal ccut ut sets can be found out. It gives the minimum number of components whose failure will result in the failure of the whole system. Data of heavies up gradation plant collected from the daily log report .From this data we can find out reliability parameter and Also the graphs of the parameters are plotted, so that it gives failure analysis of the plant for the one years. So its clear from the graph supply failure, pump failure and mechanical failures are more than other equipment failure rate. If we provid providee a redundant facilities the reliability of the plant can be improved. By using artificial neural network we can predict the reliability or failure rate rate.

TABLE I THE EVENT AND THE PROBABILITY OF FAILURE FROM FAULT TREE Event Probability of Failure K1 6.250000E 6.250000E--002 K2 6.250000E 6.250000E--002 K3 6.250000E 6.250000E--002 K4 6.250000E 6.250000E--002 K5 1.250000E 1.250000E--001 K6 1.562500E 1.562500E--002 K7 1.562500E 1.562500E--002 K8 1.562500E 1.562500E--002 K9 6.250000E 6.250000E--002 K10 6.250000E 6.250000E--002 K11 1.250000E 1.250000E--001 K12 2.500000E 2.500000E--001 K13 6.250000E 6.250000E--002 K14 6.250000E 6.250000E--002 K15 6.250000E 6.250000E--002

Acknowledgements The authors would like to thank the management, and Faculty Members of Department of Electronics and

Copyright © 201 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Informatio Information n Technology, Technology, Vol. 1,, N. 6

317

J. Abdul Jaleel, Anju Iqubal, Rahana P.

Communication Engineering, Younus College of Engineering and Technology, Kollam and TKM college of engineering, kollam for many insightful discussions and the facilities extended to us for completing the task.

Authors’ information Dr. Abdul Jaleel J. received the Bachelor degree in Electrical Engineering from University of Kerala, India in 1994. He received the M.Tech degree in Energetics from Regional Engineering College Calicut, Kerala, India in 2002, and PhD from WIU, USA in 2006. He joined the EEE department of TKM College of Engineering as faculty member in 1990. He was with Saudi Aramco in 1996 to 1998 and worked in the field of power generation, transmission, distribution and instrumentation in the Oil and Gas sector of Saudi Arabia. He was with Water Supply department of Sultanate of Oman in 1985 to 1986 and worked with the maintenance of Submersible bore-well pumps and power supplies. He was with Saudi Electricity Company in 1979 to 1985 and worked in the Generation, Transmission and distribution fields. He worked with project management, Quality Management and he is a certified Value Engineer and Auditor for QMS. He is a consultant for Oztern Microsoft, Technopark, Kerala and Consultant for Educational Projects of KISAT and MARK Research and Education Foundation. He was also serving as the P.G. Coordinator of M. Tech Programme in the TKM College of Engineering under University of Kerala and DC member VIT University, Research Supervisor in Anna University & Karppagam University. Currently he is working as the Principal of AlAzhar College of Engineering and Technology under Mahatma Gandhi University. His main areas of research are power system control & optimization, power system reliability, voltage stability, computer aided design and analysis.

References [1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10] [11]

[12] [13]

Michel Houtermans, Tino Vande Capelle , “Improve industrial process plant safety and availability via reliability engineering," Computer Systems and Applications, march 2008 ,pp:1021 1026 Nutaro, James J., “The throughput, reliability, availability, maintainability (TRAM) methodology for predicting chemical plant production,” Reliability and Maintainability Symposium (RAMS), 2012, pp:1-6. Huang Xiao Tao, Huang Li Qun , “ The Research of information security risk assessment method based on fault tree,” Reliability Engineering and System Safety 2008. Allan RN, Billinton R. Insightful discussions and the facilities extended to us for completing the task Proceedings of the IEEE 2000, pp:140–62. Ying-Yi Hong, Lun-Hui Lee Heng-Hsing Cheng, “Reliability Assessment of Protection System for Switchyard Using FaultTree Analysis,” International Conference on Power System Technology,2006 IEEE Vaurio, Jussi K, “Treatment of general dependencies in system fault and risk analysis,” Reliability, IEEE Transaction on 2002, pp:278-287. W. S. Lee, D. L. Grosh, F. A. Tillman, C. H. Lie, “Fault Tree Analysis, Methods, and Applications - A Review,” IEEE transactions on reliability, vol. r-34, no. 3,1985. Awosope COA, Akinbulire TO. “A computer program for generating power- system load-point minimal paths,” IEEE Transactions on Reliability 1991; 40(3),pp:302–8.. Hongzhi Liu , Congcong Zhang, “Research on Information Engineering Surveillance Risk Evaluation Based on Fault Tree Analysis,” 2010 IEEE. Vries RC. “An automated methodology for generating a fault tree,”. IEEE Transactions on Reliability 1990;39(1),pp:76–86. Hessian RT, Salter BB, Goodwin EF. “Fault-tree analysis for system design, development, modification, and verification,”. IEEE Transactions on Reliability 1990;39(1),pp:87–91. Cˇepin M,Mavko B , “.A dynamic fault tree,”. Reliability Engineering and System Safety 2002;75(1),pp:83–91. Xiang, Jiangwen, “ Automatic synthesis of automatic fault trees from synthesis model,” Secure Software Integration and Reliability Improvement (SSIRI), 2011 Fifth International Conference on June 2011,pp:127-136

Rahana P. received B.Tech in Electronics and communication engineering from College of Engineering poonjar and Technology. Currently she is doing M.Tech in Applied Electronics and Instrumentation at Younus college of Engineering, Kollam.

Anju Iqubal received B.Tech in Electronics and communication Engineering and M.Tech in Instrumentation and control from TKM College of engineering, Kollam.Currently she is working in Younus college of engineering and technology, Kollam.

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

318

International Journal on Information Technology (I.RE.I.T.) Vol. 1, N. 6 ISSN 2281-2911 November 2013

Reliability Evaluation and Failure Rate Prediction of Ilmenite Fluidized Bed Dryer at IREL, Chavara J. Abdul Jaleel, Minchu Vijayan Abstract – In industries the reliability engineering plays a vital role in process availability, safety and probability of failure components. So this paper is based on the reliability analysis of a process industry. Reliability is the probability that a device continues to perform a particular function over a particular period of time and under stated conditions. Here the plant at Indian Rare Earths Limited is chosen for reliability evaluation. The technique used for the reliability evaluation is fault tree analysis. The approach is based on Fault Tree Analysis (FTA), which is a technique used to obtain the probability of occurrence of an undesired event. Open FTA is the software, used for the Fault tree analysis. This paper also describes the Reliability and Failure rate predictions using Artificial Neural Networks. The working environment used for ANN is Neural LAB. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved.

Keywords: Reliability Engineering, Availability, Open FTA, Fault Tree Analysis, Artificial Neural Network (ANN), Neural LAB

Reliability is the ability of an apparatus, machine, or system to consistently perform its intended or required function or mission, on demand and without degradation or failure [1]-[3]. It is often measured as a probability of failure or a measure of availability. Thus the definition of reliability has four parts:probability, intended function, time, and conditions. Thus, a reliability statement is complete when all four parts have been provided. This means that failure is regarded as a random phenomenon, for which the likelihood for failures to occur varies over time according to the given probability function. The system requirements specification is the criterion against which reliability is measured. Reliability engineering ensures that components and materials will meet the requirements during the specified time. This constraint is necessary because it is impossible to design a system for unlimited conditions. Thus the main objective is to determine the reliability of the process plant and also reliability and failure rate prediction using Artificial Neural Networks. The industry chosen is Indian Rare Earths Limited (IREL), a mining and mineral processing industry at Chavara. The Fluidized Bed Dryer at IREL is chosen for the reliability evaluation. The focus will be on the actual data available within the plant that can among others be collected through the information derived from the achieved data in the DCS systems. An excellent time to collect data is during scheduled plant turn-around. The paper could be used as an executive summary for people not practicing reliability engineering activities today. The much-used Bathtub Curve is an example of the practice of treating more than one failure type by a single classification.

Nomenclature IREL DWUP FTA RBD HUP FBD MSP MTBF MTTR MTTF FIT BMS PLC

Indian Rare Earths Limited Dredge and Wet Up gradation Plant Fault Tree Analysis Reliability Block Diagram Heavies Up gradation Plant Fluidized Bed Dryer Mineral Separation Plant Mean Time Between Failure Mean Time To Repair Mean Time To Failure Failure In Time Burner Management System Programmable Logic Control

I.

Introduction

A very important engineering issue is the reliability analysis of industrial systems, in order to guarantee their functional behavior. Almost all the critical failures are generated by the interactions between the sub-systems, implemented in different technologies, e.g. mechanics, electronics, and software. Therefore the analysis of the system as a whole is not enough and it is necessary to study all the interactions in order to estimate the system reliability. Therefore, worldwide chemical and other processing plants are trying to implement reliability programs to improve plant safety while trying to maintain plant availability. Reliability engineering plays an important but undervalued role in today’s processing plants around the world. Manuscript received and revised October 2013, accepted November 2013

319

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

J. Abdul Jaleel, Minchu Vijayan

It seeks to describe the variation of Failure Rate of components during their life. The life of a population of units can be divided into three distinct periods. Fig. 1 shows the reliability “bathtub curve” which models the cradle to grave instantaneous failure rate vs. time. If we follow the slope from the start to where it begins to flatten out this can be considered the first period. The first period is characterized by a decreasing failure rate. It is what occurs during the early life of a population of units.

The plant operates on a mining area containing as high as 40% heavy minerals and extending over a length of 23 km in the belt of Neendakara and Kayamkulam. The deposit is quite rich with respect to ilmenite, rutile and zircon and the mineral-ilmenite happens to be of weathered variety analyzing 60% TiO2. The present annual production capacity of Chavara unit engaged in dry as well as wet (dredging/ upgradation) mining and mineral separation stands at 1,54,000t of ilmenite, 9,500t of rutile, 14,000t of zircon and 7,000t of sillimanite. In addition the plant has facilities for annual production of ground zircon called zirflor (-45 micron) and microzir (1-3 micron) of the order of 6,000t and 500t respectively.

III. System Reliability and its Parameters III.1. Mean Time Between Failures Mean Time Between Failures is a reliability term used to provide the amount of failures per million hours for a product. This is the most common inquiry about a product’s life span, and is important in the decisionmaking process of the end user. MTBF is more important for industries and integrators than for consumers. Fig. 1. Reliability Bathtub Curve

The weaker units die off leaving a population that is more rigorous. This first period is also called infant mortality period [4]-[5]. The next period is the flat portion of the graph. It is called the normal life. Failures occur more in a random sequence during this time. It is difficult to predict which failure mode will manifest, but the rate of failures is predictable. Notice the constant slope. The third period begins at the point where the slope begins to increase and extends to the end of the graph. This is what happens when units become old and begin to fail at an increasing rate. The Fluidized Bed Dryer at IREL is chosen for the reliability evaluation. The technique used for the reliability analysis is Fault tree Method. Failure rate, MTTR, Repair rate, Availability and unavailability are evaluated. The sections are organized as follows:Section I gives the introduction to reliability and its importance in industry. Section II gives the introduction to the industry, IREL at Chavara. Section III describes the system reliability and its parameters and section IV explains the reliability analysis techniques used here. Section V gives the reliability analysis of the Fluidized Bed Dryer at IREL. Reliability prediction is described in Section VI. Section VII discusses about the results and discussions. Section VIII concludes the observations from the analysis.

III.2. Mean Time To Repair Mean Time To Repair is the time needed to repair a failed hardware module. In an operational system, repair generally means replacing a failed hardware part. Thus, hardware MTTR could be viewed as mean time to replace a failed hardware module. Taking too long to repair a product drives up the cost of the installation in the long run, due to down time until the new part arrives and the possible window of time required to schedule the installation. To avoid MTTR, many companies purchase spare products so that a replacement can be installed quickly. III.3. Mean Time To Failure Mean Time To Failure is a basic measure of reliability for non-repairable systems. It is the mean time expected until the first failure of a piece of equipment. MTTF is a statistical value and is meant to be the mean over a long period of time and a large number of units. Technically, MTBF should be used only in reference to a repairable item, while MTTF should be used for nonrepairable items [6]. However, MTBF is commonly used for both repairable and non-repairable items. III.4. Failure Rate

II.

Indian Rare Earths Limited

The failure rate is a numerical value which represents the probability of specified failures of a component per time unit [7]. The all modes failure rate of a component is an aggregate of failure rates summed over relevant failure modes.

Located 10 km north of Kollam, 85 km from Thiruvananthapuram Capital of Kerala and 135 km by road from Kochi is perhaps blessed with the best mineral sand deposit of the country. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

320

J. Abdul Jaleel, Minchu Vijayan

The failure rate λ(t) of a system, subsystem or component is defined as:

 t  

f t  1  F t 

been designed to gain wide international acceptance for fault tree analysis, particularly in the aerospace, nuclear, medical equipment and defence fields. With Open FTA’s superior graphical user interface, fault trees may be constructed and modified with ease. Symbols may be added simply by clicking on the parent symbol and selecting an icon. The tree is automatically laid out by a highly optimised algorithm. Branches may be moved from one location to another with just a few mouse clicks.

(1)

where: f(t) 1-F(t)...

probability density for a failure of the device probability that the device did not fail up to the time t III.5. Availability

The degree to which a system, subsystem, or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time. Simply put, availability is the proportion of time a system is in a functioning condition. This is often described as a mission capable rate [8]. Mathematically, this is expressed as 1 minus unavailability.

Fig. 2. Fault tree in Open FTA

One click on a symbol in the tree overview window (which is always zoomed out to the full tree) will place that symbol in the centre of the editing window. Full transferred-in tree functionality supports the construction of very large fault trees - nested to any level. A design objective of Open FTA was that it should not be hindered by artificial limitations such as a maximum number of gates or events. This design objective has been realised – Open FTA has no inherent limitations. Events, for example, may appear in any number of transferred-in trees - during analysis, the tree is treated as one large fault tree.

III.6. Unavailability Unavailability is the probability that an item will not operate correctly at a given time and under specified conditions [9]. It opposes availability.

IV.

Reliability Analysis Techniques IV.1. Fault Tree Analysis

The fault tree analysis (FTA) was first introduced by Bell Laboratories and is one of the most widely used methods in system reliability, maintainability and safety analysis. It is a deductive procedure used to determine the various combinations of hardware and software failures and human errors that could cause undesired events (referred to as top events) at the system level. The deductive analysis begins with a general conclusion, then attempts to determine the specific causes of the conclusion by constructing a logic diagram called a fault tree. This is also known as taking a top-down approach. The main purpose of the fault tree analysis is to help identify potential causes of system failures before the failures actually occur. It can also be used to evaluate the probability of the top event using analytical or statistical methods [10]-[13]. These calculations involve system quantitative reliability and maintainability information, such as failure probability, failure rate and repair rate. After completing an FTA, you can focus your efforts on improving system safety and reliability.

IV.3. Reliability Block Diagram A Reliability Block Diagram (RBD) performs the system reliability and availability analyses on large and complex systems using block diagrams to show network relationships. The structure of the reliability block diagram defines the logical interaction of failures within a system that are required to sustain system operation. The rational course of a RBD stems from an input node located at the left side of the diagram. The input node flows to arrangements of series or parallel blocks that conclude to the output node at the right side of the diagram. A diagram should only contain one input and one output node. The RBD system is connected by a parallel or series configuration. A parallel connection is used to show redundancy and is joined by multiple links or paths from the Start Node to the End Node. Figure3 shows the RBD of the fault tree diagram.

IV.2. Open FTA

V.

Open FTA is an advanced tool for fault tree analysis. It has an intuitive front-end which allows the user to construct, modify or analyse fault trees. OpenFTA has

Reliability Analysis of Ilmenite FBD

The reliability analysis of Ilmenite Fluidized Bed Dryer at Indian Rare Earths Limited is considered.

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

321

J. Abdul Jaleel, Minchu Vijayan

Datas regarding the failure of the equipment for one year are taken. Using these datas, the seasonal failure rate, repair rate, MTTR, Availability and Unavailability were calculated. Graphs were plotted for the various reliability parameters. Using the Open FTA software the fault tree analysis of the system was done. Reliability Block Diagram of the system was drawn. On simulation of the Open FTA software, the minimal cut sets and numerical probability were found out (Fig. 3).

Fig. 4. Reliability Prediction in Neural LAB

VII.

We get the minimal cut sets and numerical probability of the equipment from the Open FTA software. So from this the probability of failure can be found out. Failure rates, repair rates, MTTR, Availability and Unavailability were manually calculated. Corresponding graphs were also plotted. On analysis of Fig. 5, we can see that the failure rate was very high during the March- April season and very low during September- October.

Fig. 3. Reliability Block Diagram

VI.

Results and Discussions

Reliability Prediction

In this paper we discuss the prediction of reliability of component assemblies where the components are reusable assets. Rather than present a solution to the prediction problem, we present a set of issues related to currently accepted combinatorial reliability models that must be resolved in order to predict reliability of component. Reliability is an important quality attribute [14]. System availability, the likelihood that the system will be capable of performing a function when needed, is one of the most common quality requirements specified by commissioners of computerized systems and availability is based on system reliability. generally defined as the probability for failure-free execution for a specified interval of time or other natural unit. Hardware degrades because it is used and wears but using an executable piece of software does not cause it to wear out. It might become more likely to fail over time, but that failure is not due to wear and tear on the executable. There are many ways in which a system can fail and many ways in which a component can contribute to a given type of system failure [15]. Thus, it might be that a system developer is interested in predicting the likelihood that the system will produce an incorrect value but one or more of the components that are being assembled define reliability only in terms of failure to continue operating. Here, the reliability prediction is done using the Artificial Neural Networks. The NEURAL Lab environment is used for the reliability prediction (Fig. 4).

Fig. 5. Seasonal Failure Rate of FBD

No 1 2 3 4 5 6 7 8 9 10 11 12 13

TABLE I RESULTS FROM OPEN FTA Minimal Cut sets Numerical Probability of Failure B1 8.0000E-002 B12 6.0000E-002 B13b14 1.2000E-003 B2b3 3.5000E-003 B11b15b17b19b6b7b8b9 9.0000E-004 B11b15b17b20b6b7b8b9 1.7280E-011 B11b15b17b20b6b7b8b9 1.3824E-011 B11b15b17b20b6b7b8b9 1.7280E-011 B11b15b17b20b6b7b8b9 1.3824E-011 B11b15b17b20b6b7b8b9 2.1600E-011 B11b15b17b20b6b7b8b9 1.7280E-011 B11b15b17b20b6b7b8b9 2.1600E-011 B11b15b17b20b6b7b8b9 1.7280E-011

The Fig. 6 gives the seasonal repair rate and it shows greater repair rate during September-October. Seasonal availability of year 2010 is given in Fig. 7 and unavailability in Fig. 8.

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

322

J. Abdul Jaleel, Minchu Vijayan

VIII. Conclusion The reliability analysis of the various machineries in industries can be easily found out using fault tree method. Here, the Fluidized Bed Dryer at IREL is considered for the reliability analysis. From the fault tree analysis, the minimal cut sets are found out. It gives the minimum number of components whose failure will result in the failure of the whole system. The Reliability Block Diagram of the FBD is also drawn. Also the graphs were plotted for the various reliability parameters. It gives the seasonal-wise failure analysis of the equipment for one year. From the graph it is clear that failure of Burner management System and the supply failure are most frequent reasons for the failure. Also the reliability was predicted using the neural networks. The analysis helped to take various measures to improve the reliability of the system.

Fig. 6. Seasonal repair rate of FBD

Fig. 7. Seasonal availability of FBD

Acknowledgements The authors would like to thank the management, and Faculty Members, of Department of Electrical and Electronics Engineering, TKM College of Engineering, Kollam, for many insightful discussions and the facilities extended to us for completing the task.

References Fig. 8. Seasonal unavailability of FBD

[1]

W. S. Lee, D. L. Grosh,F. A. Tillman, C. H. Lie, Fault Tree Analysis, Methods, and Applications - A Review, IEEE transactions on Reliability, vol. r-34, no. 3,1985 [2] Xiang, Jiangwen, “ Automatic synthesis of automatic fault trees from synthesis model”, Secure Software Integration and Reliability Improvement (SSIRI), 2011 Fifth International Conference on June 2011:127-136 [3] Nutaro, James J., “The throughput, reliability, availability, maintainability (TRAM) methodology for predicting chemical plant production”, Reliability and Maintainability Symposium (RAMS), 2012:1-6. [4] Huang Xiao Tao, Huang Li Qun , “ The Research of information security risk assessment method based on fault tree” Reliability Engineering and System Safety 2008. [5] Allan RN, Billinton R. insightful discussions and the facilities extended to us for completing the task Proceedings of the IEEE 2000; 88(2):140–62. [6] Kaliraj, S., Chandru, N., Wahi, A., A reliability framework of component based software system using Kal-Chan path selection algorithm, (2013) International Review on Computers and Software (IRECOS), 8 (2), pp. 605-612. [7] Vaurio, Jussi K, “Treatment of general dependencies in system fault and risk analysis” Reliability,IEEE Transaction on 2002, 278-287 [8] W. S. Lee, D. L. Grosh, F. A. Tillman, C. H. Lie, “Fault Tree Analysis, Methods, and Applications - A Review” IEEE transactions on reliability, vol. r-34, no. 3,1985 [9] Awosope COA, Akinbulire TO. A computer program for generating power- system load-point minimal paths. IEEE Transactions on Reliability 1991; 40(3):302–8. [10] Hongzhi Liu , Congcong Zhang, “Research on Information Engineering Surveillance Risk Evaluation Based on Fault Tree Analysis” 2010 IEEE. [11] Vries RC. An automated methodology for generating a fault tree. IEEE Transactions on Reliability 1990;39(1):76–86. [12] Hessian RT, Salter BB, Goodwin EF. Fault-tree analysis for system design, development, modification, and verification. IEEE Transactions on Reliability 1990;39(1):87–91.

On comparing the 2 graphs, September- October season has the least unavailability and July- August the least availability. Seasonal reliability of FBD is given in Fig. 9; September-October has highest reliability.

Fig. 9. Seasonal reliability of FBD of year 2010

Fig. 10. Seasonal component failure rate of FBD

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

323

J. Abdul Jaleel, Minchu Vijayan

[13] Cˇepin M,Mavko B , “.A dynamic fault tree”.Reliability Engineering and System Safety 2002;75(1):83–91. [14] N. Karunanithi, Y.K. Malaiya and D. Whitley, Prediction Of Software Reliability Using Neural Networks, IEEE 1991. [15] Nachimuthu Karunanithdi, Arrelwlhitley, and YashwantK. Malaiy, Using Neural Networks in Reliability Prediction, IEEE July 1992.

Authors’ information Dr. Abdul Jaleel J. received the Bachelor degree in Electrical Engineering from University of Kerala, India in 1994. He received the M.Tech degree in Energetics from Regional Engineering College Calicut, Kerala, India in 2002, and PhD from WIU, USA in 2006. He joined the EEE department of TKM College of Engineering as faculty member in 1990. He was with Saudi Aramco in 1996 to 1998 and worked in the field of power generation, transmission, distribution and instrumentation in the Oil and Gas sector of Saudi Arabia. He was with Water Supply department of Sultanate of Oman in 1985 to 1986 and worked with the maintenance of Submersible bore-well pumps and power supplies. He was with Saudi Electricity Company in 1979 to 1985 and worked in the Generation, Transmission and distribution fields. He worked with project management, Quality Management and he is a certified Value Engineer and Auditor for QMS. He is a consultant for Oztern Microsoft, Technopark, Kerala and Consultant for Educational Projects of KISAT and MARK Research and Education Foundation. Currently he is a P.G. Coordinator of M. Tech Programme in the TKM College of Engineering under University of Kerala and DC member VIT University, Research Supervisor in Anna University & Karppagam University. His main areas of research are power system control & optimization, power system reliability, voltage stability, computer aided design and analysis. Minchu Vijayan received B.E in Electrical and Electronics Engineering from Sun College of Engineering and Technology. Currently she is doing M.Tech in Industrial Instrumentation and Control at TKM college of Engineering, Kollam.

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

324

International Journal on Information Technology (I.RE.I.T.) Vol. 1, N. 6 ISSN 2281-2911 November 2013

Kilobyte Virtual Machine Memory Management Adamou Souleymane Aboubacar Abstract – Java Virtual Machines use various automatic garbage collector algorithms to manage memory in the object lifecycle. However, these algorithms have some drawbacks. In order to improve embedded systems memory management, we implement a new garbage collector algorithm on Kilobyte Virtual Machine. This algorithm apply the mark-sweep and compaction of the memory garbage collection in pages most used in the recent past, and the mark-sweep garbage collection without compacting the memory in pages used the least in the near past. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved.

Keywords: Embedded System, Garbage Collector, J2ME, KVM, Memory

Nomenclature µs

Duration in microseconds

I.

II.

Memory Management

II.1.

Manual Memory Management

Traditionally, memory is managed by the programmer by using the functions of allowances and release of memory space and is referred to as explicit memory management. For example, in C/C++ programmers use the alloc (), malloc (), free () functions, “new” operator, constructor and destructor methods for objects [3]. The disadvantage of this type of memory management is the risk of forgetting:  Unreleased memory (waste)  Use of data already released (error!) [4]

Introduction

In recent years, computer systems are more and more present in our daily lives in the form of smart cards, mobile phones or other mobile devices. These devices consisted by a material entity and a software entity, are called "embedded systems". These devices have to satisfy some requirement which are increasingly complex (video, internet, Wi-Fi ...) while respecting some constraints (reduced dimensions, lower manufacturing cost ...). Both requirements and constraints require to increase the performance of the device (more memory, more processing power, smaller size). In this context, the deployment of the Java 2 Micro Edition for Connected Limited Device Configuration (J2ME/CLDC) platform for this type of terminal is a great success because of its attractive features, namely automatic memory management, mobility , portability and security. The J2ME platform has a lighter version of the Java virtual machine, called Kilobyte Virtual Machine (KVM). To automatically manage memory, KVM uses mark-sweep and compaction of memory garbage collector (GC) [1] - [2]. Like other GC algorithms, KVM’s algorithm has some drawbacks. Our objective is to implement a new GC algorithm for a better optimization of the memory management. In this paper, firstly, we present the different types of memory management, the GC algorithms and the new algorithm to implement. Then, we present the main features of memory management in KVM. And finally, we'll talk about what we have achieved and our perspectives.

II.2.

Automatic Memory Management

In most of high-level languages (eg Java), the memory is managed implicitly by these programming languages using the GC [5]. This action is called Garbage Collection (GC) and we talk in this case about automatic memory management. It uses GC algorithms. The garbage collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program [6]. The presence of these garbage in memory is unnecessary and can cause memory footprint for other objects required by the program.With automatic memory management, the developer does not have to worry about freeing the memory used by unused objects because the GC automatically requests the release of memory space occupied by unused objects. The advantage with this type of memory management is the impossibility of forget to free memory and use data already released.

III. Garbage Collector Algorithms III.1. Reference Counting Algorithm Reference counting GC counts the number of

Manuscript received and revised October 2013, accepted November 2013

325

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

Adamou Souleymane Aboubacar

references that point to the object [7]. In practice, this counter is an integer stored in the header of the object itself. The reference count is incremented each time the reference is duplicated. Conversely, when a reference to an object is destroyed, the associated counter is decremented. The GC collects objects for which the reference count is 0 [8] - [9]. So the loss of an object can lead to the loss of other objects [10]. Advantages of this algorithm are that:  The Recycling is done when an object become garbage;  The principle is incremental, so the GC runs at the same time as the user programs. But disadvantages of this algorithm are that:  The GC can’t recycle unreachable cyclic structures of objects, such as objects A, B and C in Fig. 1. These objects are unreachable, but the counters are not 0, they will not be collected.  The counter, usually an integer, must not overflows, otherwise it could lead to the recycling of objects living or not-recycling garbage.  This kind of GC is not fast. The counter must be each time incremented or decremented and tested if zero. For example, if the first object of a tree is released, all of the associated branch counters are decremented.  Memory fragmentation problems due to the collection of scattered objects in the heap

collect garbage even in the presence of cyclic structures, such as objects D and E in Fig. 2 [10]. For cons, the following disadvantages can be mentioned:  heap fragmentation;  poor memory locality (when tracing);  must be able to dynamically identify pointers in variables/objects.

Fig. 2. Mark and sweep

III.3. Copy Garbage Collection Algorithm In this scheme, the heap is divided into two equal and contiguous areas: departure space (fromspace) and the arrival space (tospace) [12]. Only one of them is in use at any one time. Garbage collection is performed by copying live objects from one semi-space (the fromspace) to the other (the to-space), which then becomes the new heap [13] - [14]. The entire old heap is then discarded in one piece. The GC don’t split the sweep and mark phases. During the execution of normal programs, only the "fromspace" is used. It copy linearly the accessible cells from the roots of the departure space to the arrival space. The objects are put one by one in order to obtain a defragmented half-space at the end of the copy and, thereafter, the two halves-spaces functions are exchanged. On the Fig. 3, the objects and the references are represented in the "fromspace". During the passage of the GC, the accessible objects from "fromspace" are copied one by one in "tospace" by upgrading the references by attributing them their new values in the "tospace". Finally, the spaces roles are permuted, then the "fromspace" become the "tospace" and vice versa. Advantages of this GC are that: [10]  Its time cost is interesting because it is directly proportional to the number of objects "live" to manage and not to the total memory size or the amount of crumbs to manage;  The memory fragmentation does not exist more when using this algorithm;  Collects cyclic structures;  The allocation is faster because there is no more linked list of objects "dead";  The supports compaction (fast allocation);  The only visits reachable records, not all records in heap;  There are optimal memory usage. The virtual page number decreases because the data is compressed.

Fig. 1. Problem of cyclic structures

III.2. Mark and Sweep Algorithm The mark and sweep algorithm is traces out the entire collection of objects that are directly or indirectly accessible by the program. The objects that a program can access directly are those which are referenced by local variables on the processor stack as well as by any static variables that refer to objects. In the context of garbage collection, these variables are called the roots. An object is indirectly accessible if it is referenced by a field in some other (directly or indirectly) accessible object. An accessible object is said to be live. Conversely, an object which is not live is garbage. The mark-and-sweep algorithm consists of two phases: in the first phase, it finds and marks all accessible objects. This phase is called the mark phase [11]. In the second phase, the garbage collection algorithm scans through the heap and reclaims all the unmarked objects. This phase is called the sweep phase. In contrast to reference counting algorithm, this algorithm is able to correctly identify and

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

326

Adamou Souleymane Aboubacar

     



The objects are attached, so there are strong reasons for two objects that go together are saved in the same virtual page. Its disadvantages are: requiring twice the (virtual) memory; "embarrassing pause" problem; copying can be slow; need to change pointers because records are moving; breadth-first traversal means to-space records will have poor locality; The performance of this type of GC is good if and only if some objects are copied from one space to another. If there are a lot of crumbs and some living things, there may be an unnecessary copying of objects with a long lifespan; The size of physical memory is divided by two, which helps reduce the space usage of this memory.

IV.2. KVM’s Garbage Collector KVM implement mark and sweep GC in "garbageCollect(int moreMemory)" function. The major steps of this GC are:  Priori Check amount of free memory available; Before starting the collection of unused spaces, the call of the "memoryFree ()" function permits to check the amount of free memory long memoryFree(void) { CHUNK thisChunk = FirstFreeChunk; /* thisChunk is initialized to the first free space of the memory */ long available = 0; for (; thisChunk != NULL; thisChunk = thisChunk->next) { available += (thisChunk->size >> TYPEBITS) + HEADERSIZE; } return available * CELL; }

 Execution of the algorithm witch done realy the unsed memory collect garbageCollectForReal(int realSize) { CHUNK firstFreeChunk; long maximumFreeSize;

Fig. 3. Copy garbage collection

/* Call of mark functions */ markRootObjects(); markNonRootObjects(); markWeakPointerLists(); markWeakReferences(); firstFreeChunk = sweepTheHeap(&maximumFreeSize); /* Recovery of free space, recovery of the first free space pointer and recovery of the maximum size of consecutive memory */

III.4. Our Garbage Collector In order to overcome the problem of cyclic structures and minimize the number of counters of objects for the reference counting GC, a new approach is to cut the memory of "pages" from 8 to 16KB. This algorithm is based on the idea that the most frequently used pages in the recent past are more likely to be used again in the near future and therefore the GC mark-sweep and compaction of the memory will be applied in the pages most used in the recent past, and the mark-sweep GC without compacting the memory pages used the least in the near past. It therefore combines a usage count for all pages to distinguish the most used pages less used pages [15].

IV.

#if ENABLE_HEAP_COMPACTION if (realSize > maximumFreeSize) { /* If the maximum size of consecutive memory is less than the requested size, compaction of the free space will be required*/ breakTableStruct currentTable; cell* freeStart = compactTheHeap(¤tTable, firstFreeChunk); /* If there has been a memory displacement an references update are asked */ if (currentTable.length > 0) { updateRootObjects(¤tTable); updateHeapObjects(¤tTable, freeStart);

Memory Management in KVM IV.1. Memory Initialization

KVM memory heaps initialization function is InitializeMemoryManagement(). This function includes three (3) processes:  Initial memory reservation  Roots objects initialization  Initializing memory that require an additional erase mechanism.

} /* If the first free space is in the heap, we update the pointer and the size of the first free space */

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

International Journal on Information Technology, Vol. 1, N. 6

327

Adamou Souleymane Aboubacar

if (freeStart < CurrentHeapEnd - 1) { firstFreeChunk = (CHUNK)freeStart; firstFreeChunk->size = (CurrentHeapEnd - freeStart - HEADERSIZE) next = NULL; /* Update first free chunk pointer and memory free size*/ } else { /* Memory is completely full, and there is no free space whatsoever. */ firstFreeChunk = NULL; } } #endif FirstFreeChunk = firstFreeChunk; }

}

 callocObject cell* callocObject(long size, GCT_ObjectType type) { cell* result = mallocHeapObject(size, type); if (result == NULL) { THROW(OutOfMemoryObject); } /* Filling the memory with 0 */ memset(result, 0, size result); /* compacting memory is forced by asking an amount of memory equal to the size of the pile */ garbageCollect(AllHeapEnd - AllHeapStart); */If there is more space, an exception is thrown*/ if (newPermanentSpace < (cell*)FirstFreeChunk + 2 * HEADERSIZE) { raiseExceptionWithMessage(OutOfMemoryError,

 mallocHeapObject (low-level function) cell* mallocHeapObject(long size, GCT_ObjectType type) { cell* thisChunk; long realSize; if (size == 0) size = 1; realSize = size + HEADERSIZE; if (EXCESSIVE_GARBAGE_COLLECTION) { garbageCollect(0); } /* space allocation for the new object */ thisChunk = allocateFreeChunk(realSize); if (thisChunk == NULL) { garbageCollect(realSize); /* Garbage collect if we need more free memory */ thisChunk = allocateFreeChunk(realSize); if (thisChunk == NULL) { return NULL; } } /* type creation for the new object */ *thisChunk |= (type size = newFreeSize