GEAMAS V2.0 an Object Oriented Platform for Complex Systems Simulations.
- 格式:pdf
- 大小:98.97 KB
- 文档页数:13
Package‘kernelshap’December3,2023Title Kernel SHAPVersion0.4.1Description Efficient implementation of Kernel SHAP,see Lundberg and Lee(2017),and Covert and Lee(2021)<http://proceedings.mlr.press/v130/covert21a>.Furthermore,for up to14features,exact permutation SHAP values can be calculated.Thepackage plays well together with meta-learning packages like'tidymodels','caret'or'mlr3'.Visualizations can be done using theR package'shapviz'.License GPL(>=2)Depends R(>=3.2.0)Encoding UTF-8RoxygenNote7.2.3Imports foreach,stats,utilsSuggests doFuture,testthat(>=3.0.0)Config/testthat/edition3URL https:///ModelOriented/kernelshapBugReports https:///ModelOriented/kernelshap/issuesNeedsCompilation noAuthor Michael Mayer[aut,cre],David Watson[aut],Przemyslaw Biecek[ctb](<https:///0000-0001-8423-1823>)Maintainer Michael Mayer<************************>Repository CRANDate/Publication2023-12-0314:20:02UTCR topics documented:is.kernelshap (2)is.permshap (3)12is.kernelshapkernelshap (3)permshap (9)print.kernelshap (11)print.permshap (12)summary.kernelshap (13)summary.permshap (14)Index15 is.kernelshap Check for kernelshapDescriptionIs object of class"kernelshap"?Usageis.kernelshap(object)Argumentsobject An R object.ValueTRUE if object is of class"kernelshap",and FALSE otherwise.See Alsokernelshap()Examplesfit<-lm(Sepal.Length~.,data=iris)s<-kernelshap(fit,iris[1:2,-1],bg_X=iris[,-1])is.kernelshap(s)is.kernelshap("a")is.permshap3 is.permshap Check for permshapDescriptionIs object of class"permshap"?Usageis.permshap(object)Argumentsobject An R object.ValueTRUE if object is of class"permshap",and FALSE otherwise.See Alsokernelshap()Examplesfit<-lm(Sepal.Length~.,data=iris)s<-permshap(fit,iris[1:2,-1],bg_X=iris[,-1])is.permshap(s)is.permshap("a")kernelshap Kernel SHAPDescriptionEfficient implementation of Kernel SHAP,see Lundberg and Lee(2017),and Covert and Lee (2021),abbreviated by CL21.For up to p=8features,the resulting Kernel SHAP values are exact regarding the selected background data.For larger p,an almost exact hybrid algorithm involving iterative sampling is used,see Details.Usagekernelshap(object,...)##Default S3method:kernelshap(object,X,bg_X,pred_fun=stats::predict,feature_names=colnames(X),bg_w=NULL,exact=length(feature_names)<=8L,hybrid_degree=1L+length(feature_names)%in%4:16,paired_sampling=TRUE,m=2L*length(feature_names)*(1L+3L*(hybrid_degree==0L)),tol=0.005,max_iter=100L,parallel=FALSE,parallel_args=NULL,verbose=TRUE,...)##S3method for class rangerkernelshap(object,X,bg_X,pred_fun=function(m,X,...)stats::predict(m,X,...)$predictions, feature_names=colnames(X),bg_w=NULL,exact=length(feature_names)<=8L,hybrid_degree=1L+length(feature_names)%in%4:16,paired_sampling=TRUE,m=2L*length(feature_names)*(1L+3L*(hybrid_degree==0L)),tol=0.005,max_iter=100L,parallel=FALSE,parallel_args=NULL,verbose=TRUE,...)##S3method for class Learnerkernelshap(object,X,bg_X,pred_fun =NULL,feature_names =colnames(X),bg_w =NULL,exact =length(feature_names)<=8L,hybrid_degree =1L +length(feature_names)%in%4:16,paired_sampling =TRUE,m =2L *length(feature_names)*(1L +3L *(hybrid_degree ==0L)),tol =0.005,max_iter =100L,parallel =FALSE,parallel_args =NULL,verbose =TRUE,...)Argumentsobject Fitted model object....Additional arguments passed to pred_fun(object,X,...).X(n ×p )matrix or data.frame with rows to be explained.The columns should only represent model features,not the response (but see feature_names on how to overrule this).bg_XBackground data used to integrate out "switched off"features,often a subset of the training data (typically 50to 500rows)It should contain the same columns as X .In cases with a natural "off"value (like MNIST digits),this can also be a single row with all values set to the off value.pred_funPrediction function of the form function(object,X,...),providing K ≥1predictions per row.Its first argument represents the model object ,its second argument a data structure like X .Additional (named)arguments are passed via ....The default,stats::predict(),will work in most cases.feature_names Optional vector of column names in X used to calculate SHAP values.By de-fault,this equals colnames(X).Not supported if X is a matrix.bg_w Optional vector of case weights for each row of bg_X .exactIf TRUE ,the algorithm will produce exact Kernel SHAP values with respect to the background data.In this case,the arguments hybrid_degree ,m ,paired_sampling ,tol ,and max_iter are ignored.The default is TRUE up to eight features,and FALSE otherwise.hybrid_degreeInteger controlling the exactness of the hybrid strategy.For 4≤p ≤16,the default is 2,otherwise it is 1.Ignored if exact =TRUE .•0:Pure sampling strategy not involving any exact part.It is strictly worse than the hybrid strategy and should therefore only be used for studying properties of the Kernel SHAP algorithm.•1:Uses all 2p on-off vectors z withz ∈{1,p −1}for the exact part,which covers at least 75%of the mass of the Kernel weight distribution.The remaining mass is covered by random sampling.•2:Uses all p (p +1)on-off vectors z withz ∈{1,2,p −2,p −1}.This covers at least 92%of the mass of the Kernel weight distribution.The remaining mass is covered by sampling.Convergence usually happens in the minimal possible number of iterations of two.•k>2:Uses all on-off vectors withz ∈{1,...,k,p −k,...,p −1}.paired_samplingLogical flag indicating whether to do the sampling in a paired manner.This means that with every on-off vector z ,also 1−z is considered.CL21shows its superiority compared to standard sampling,therefore the default (TRUE )should usually not be changed except for studying properties of Kernel SHAP algo-rithms.Ignored if exact =TRUE .m Even number of on-off vectors sampled during one iteration.The default is 2p ,except when hybrid_degree ==0.Then it is set to 8p .Ignored if exact =TRUE .tolTolerance determining when to stop.Following CL21,the algorithm keeps iter-ating until max (σn )/(max (βn )−min (βn ))<tol,where the βn are the SHAP values of a given observation,and σn their standard errors.For multidimen-sional predictions,the criterion must be satisfied for each dimension separately.The stopping criterion uses the fact that standard errors and SHAP values are all on the same scale.Ignored if exact =TRUE .max_iter If the stopping criterion (see tol )is not reached after max_iter iterations,the algorithm stops.Ignored if exact =TRUE .parallelIf TRUE ,use parallel foreach::foreach()to loop over rows to be explained.Must register backend beforehand,e.g.,via ’doFuture’package,see README for an example.Parallelization automatically disables the progress bar.parallel_argsNamed list of arguments passed to foreach::foreach().Ideally,this is NULL (default).Only relevant if parallel =TRUE .Example on Windows:if object is a GAM fitted with package ’mgcv’,then one might need to set parallel_args =list(.packages ="mgcv").verbose Set to FALSE to suppress messages and the progress bar.DetailsPure iterative Kernel SHAP sampling as in Covert and Lee (2021)works like this:1.A binary "on-off"vector z is drawn from {0,1}p such that its sum follows the SHAP Kernel weight distribution (normalized to the range {1,...,p −1}).2.For each j with z j =1,the j -th column of the original background data is replaced by the corresponding feature value x j of the observation to be explained.3.The average prediction v z on the data of Step 2is calculated,and the average prediction v 0on the background data is subtracted.4.Steps 1to 3are repeated m times.This produces a binary m ×p matrix Z (each row equals one of the z )and a vector v of shifted predictions.5.v is regressed onto Z under the constraint that the sum of the coefficients equals v 1−v 0,where v 1is the prediction of the observation to be explained.The resulting coefficients are the Kernel SHAP values.This is repeated multiple times until convergence,see CL21for details.A drawback of this strategy is that many (at least 75%)of the z vectors will havez ∈{1,p −1},producing many duplicates.Similarly,at least 92%of the mass will be used for the p (p +1)possible vectors withz ∈{1,2,p −2,p −1}.This inefficiency can be fixed by a hybrid strategy,combining exact calculations with sampling.The hybrid algorithm has two steps:1.Step 1(exact part):There are 2p different on-off vectors z withz ∈{1,p −1},covering a large proportion of the Kernel SHAP distribution.The degree 1hybrid will list those vectors and use them according to their weights in the upcoming calculations.Depending on p ,we can also go a step further to a degree 2hybrid by adding all p (p −1)vectors with z ∈{2,p −2}to the process etc.The necessary predictions are obtained along with other calculations similar to those described in CL21.2.Step 2(sampling part):The remaining weight is filled by sampling vectors z according to Kernel SHAP weights renormalized to the values not yet covered by Step 1.Together with the results from Step 1-correctly weighted -this now forms a complete iteration as in CL21.The difference is that most mass is covered by exact calculations.Afterwards,the algorithm iterates until convergence.The output of Step 1is reused in every iteration,leading to an extremely efficient strategy.If p is sufficiently small,all possible 2p −2on-off vectors z can be evaluated.In this case,no sampling is required and the algorithm returns exact Kernel SHAP values with respect to the given background data.Since kernelshap()calculates predictions on data with MN rows (N is the background data size and M the number of z vectors),p should not be much higher than 10for exact calculations.For similar reasons,degree 2hybrids should not use p much larger than 40.ValueAn object of class "kernelshap"with the following components:•S :(n ×p )matrix with SHAP values or,if the model output has dimension K >1,a list of K such matrices.•X :Same as input argument X .•baseline :Vector of length K representing the average prediction on the background data.•SE :Standard errors corresponding to S (and organized like S ).•n_iter :Integer vector of length n providing the number of iterations per row of X .•converged :Logical vector of length n indicating convergence per row of X .•m :Integer providing the effective number of sampled on-off vectors used per iteration.•m_exact :Integer providing the effective number of exact on-off vectors used per iteration.•prop_exact :Proportion of the Kernel SHAP weight distribution covered by exact calcula-tions.•exact :Logical flag indicating whether calculations are exact or not.•txt :Summary text.•predictions :(n ×K )matrix with predictions of X .Methods(by class)•kernelshap(default):Default Kernel SHAP method.•kernelshap(ranger):Kernel SHAP method for"ranger"models,see Readme for an exam-ple.•kernelshap(Learner):Kernel SHAP method for"mlr3"models,see Readme for an exam-ple.References1.Scott M.Lundberg and Su-In Lee.A unified approach to interpreting model predictions.Proceedings of the31st International Conference on Neural Information Processing Systems, 2017.2.Ian Covert and Su-In Lee.Improving KernelSHAP:Practical Shapley Value Estimation Us-ing Linear Regression.Proceedings of The24th International Conference on Artificial Intel-ligence and Statistics,PMLR130:3457-3465,2021.Examples#MODEL ONE:Linear regressionfit<-lm(Sepal.Length~.,data=iris)#Select rows to explain(only feature columns)X_explain<-iris[1:2,-1]#Select small background dataset(could use all rows here because iris is small)set.seed(1)bg_X<-iris[sample(nrow(iris),100),]#Calculate SHAP valuess<-kernelshap(fit,X_explain,bg_X=bg_X)s#MODEL TWO:Multi-response linear regressionfit<-lm(as.matrix(iris[,1:2])~Petal.Length+Petal.Width+Species,data=iris) s<-kernelshap(fit,iris[1:4,3:5],bg_X=bg_X)summary(s)#Non-feature columns can be dropped via feature_namess<-kernelshap(fit,iris[1:4,],bg_X=bg_X,feature_names=c("Petal.Length","Petal.Width","Species"))spermshap Permutation SHAPDescriptionExact permutation SHAP algorithm with respect to a background dataset,see Strumbelj and Kononenko.The function works for up to14features.Usagepermshap(object,...)##Default S3method:permshap(object,X,bg_X,pred_fun=stats::predict,feature_names=colnames(X),bg_w=NULL,parallel=FALSE,parallel_args=NULL,verbose=TRUE,...)##S3method for class rangerpermshap(object,X,bg_X,pred_fun=function(m,X,...)stats::predict(m,X,...)$predictions,feature_names=colnames(X),bg_w=NULL,parallel=FALSE,parallel_args=NULL,verbose=TRUE,...)##S3method for class Learnerpermshap(object,X,bg_X,pred_fun=NULL,feature_names=colnames(X),bg_w=NULL,parallel=FALSE,parallel_args=NULL,verbose=TRUE,...)Argumentsobject Fitted model object....Additional arguments passed to pred_fun(object,X,...).X(n×p)matrix or data.frame with rows to be explained.The columns should only represent model features,not the response(but see feature_names on howto overrule this).bg_X Background data used to integrate out"switched off"features,often a subset of the training data(typically50to500rows)It should contain the same columnsas X.In cases with a natural"off"value(like MNIST digits),this can also be asingle row with all values set to the off value.pred_fun Prediction function of the form function(object,X,...),providing K≥1 predictions per row.Itsfirst argument represents the model object,its secondargument a data structure like X.Additional(named)arguments are passed via....The default,stats::predict(),will work in most cases.feature_names Optional vector of column names in X used to calculate SHAP values.By de-fault,this equals colnames(X).Not supported if X is a matrix.bg_w Optional vector of case weights for each row of bg_X.parallel If TRUE,use parallel foreach::foreach()to loop over rows to be explained.Must register backend beforehand,e.g.,via’doFuture’package,see READMEfor an example.Parallelization automatically disables the progress bar.parallel_args Named list of arguments passed to foreach::foreach().Ideally,this is NULL (default).Only relevant if parallel=TRUE.Example on Windows:if object isa GAMfitted with package’mgcv’,then one might need to set parallel_args=list(.packages="mgcv").verbose Set to FALSE to suppress messages and the progress bar.ValueAn object of class"permshap"with the following components:•S:(n×p)matrix with SHAP values or,if the model output has dimension K>1,a list of K such matrices.•X:Same as input argument X.•baseline:Vector of length K representing the average prediction on the background data.•m_exact:Integer providing the effective number of exact on-off vectors used.•exact:Logicalflag indicating whether calculations are exact or not(currently TRUE).•txt:Summary text.•predictions:(n×K)matrix with predictions of X.print.kernelshap11Methods(by class)•permshap(default):Default permutation SHAP method.•permshap(ranger):Permutation SHAP method for"ranger"models,see Readme for an ex-ample.•permshap(Learner):Permutation SHAP method for"mlr3"models,see Readme for an ex-ample.References1.Erik Strumbelj and Igor Kononenko.Explaining prediction models and individual predictionswith feature contributions.Knowledge and Information Systems41,2014.Examples#MODEL ONE:Linear regressionfit<-lm(Sepal.Length~.,data=iris)#Select rows to explain(only feature columns)X_explain<-iris[1:2,-1]#Select small background dataset(could use all rows here because iris is small)set.seed(1)bg_X<-iris[sample(nrow(iris),100),]#Calculate SHAP valuess<-permshap(fit,X_explain,bg_X=bg_X)s#MODEL TWO:Multi-response linear regressionfit<-lm(as.matrix(iris[,1:2])~Petal.Length+Petal.Width+Species,data=iris) s<-permshap(fit,iris[1:4,3:5],bg_X=bg_X)s#Non-feature columns can be dropped via feature_namess<-permshap(fit,iris[1:4,],bg_X=bg_X,feature_names=c("Petal.Length","Petal.Width","Species"))sprint.kernelshap Prints"kernelshap"ObjectDescriptionPrints"kernelshap"Object12print.permshapUsage##S3method for class kernelshapprint(x,n=2L,...)Argumentsx An object of class"kernelshap".n Maximum number of rows of SHAP values to print....Further arguments passed from other methods.ValueInvisibly,the input is returned.See Alsokernelshap()Examplesfit<-lm(Sepal.Length~.,data=iris)s<-kernelshap(fit,iris[1:3,-1],bg_X=iris[,-1])sprint.permshap Prints"permshap"ObjectDescriptionPrints"permshap"ObjectUsage##S3method for class permshapprint(x,n=2L,...)Argumentsx An object of class"permshap".n Maximum number of rows of SHAP values to print....Further arguments passed from other methods.ValueInvisibly,the input is returned.summary.kernelshap13See Alsopermshap()Examplesfit<-lm(Sepal.Length~.,data=iris)s<-permshap(fit,iris[1:3,-1],bg_X=iris[,-1])ssummary.kernelshap Summarizes"kernelshap"ObjectDescriptionSummarizes"kernelshap"ObjectUsage##S3method for class kernelshapsummary(object,compact=FALSE,n=2L,...)Argumentsobject An object of class"kernelshap".compact Set to TRUE for a more compact summary.n Maximum number of rows of SHAP values etc.to print....Further arguments passed from other methods.ValueInvisibly,the input is returned.See Alsokernelshap()Examplesfit<-lm(Sepal.Length~.,data=iris)s<-kernelshap(fit,iris[1:3,-1],bg_X=iris[,-1])summary(s)14summary.permshap summary.permshap Summarizes"permshap"ObjectDescriptionSummarizes"permshap"ObjectUsage##S3method for class permshapsummary(object,compact=FALSE,n=2L,...)Argumentsobject An object of class"permshap".compact Set to TRUE for a more compact summary.n Maximum number of rows of SHAP values etc.to print....Further arguments passed from other methods.ValueInvisibly,the input is returned.See Alsopermshap()Examplesfit<-lm(Sepal.Length~.,data=iris)s<-permshap(fit,iris[1:3,-1],bg_X=iris[,-1])summary(s)Indexforeach::foreach(),6,10is.kernelshap,2is.permshap,3kernelshap,3kernelshap(),2,3,7,12,13permshap,9permshap(),13,14print.kernelshap,11print.permshap,12stats::predict(),5,10summary.kernelshap,13summary.permshap,1415。
目录1.Overview of ObjectARX --ObjectARX二次开发概况 (2)1.1 .The ObjectARX Programming Environment—ObjectARX编程环境 (3)1.1.1.Accessing the AutoCAD Database--访问AutoCAD数据库 (6)1.1.2.Interacting with the AutoCAD Editor--与AutoCAD编辑器交互 (6)1.1.3.Creating User Interfaces with MFC--创建用户界面用MFC (6)1.1.4.Supporting MDI--支持MDI (6)1.1.5.Creating Custom Classes--创建自定义类 (7)1.1.6.Building Complex Applications--创建复杂的应用 (7)1.1.7.Interacting with Other Environments--与其他环境交互 (7)1.2.The ObjectARX Documentation Set-- ObjectARX文档集 (8)ing the ObjectARX Developer's Guide--使用ObjectARX开发指南 (9)1.3.ObjectARX类组 (10)1.3.1.AcRx Classes—AcRx类 (11)1.3.2.AcEd Classes—AcEd类 (13)1.3.3.AcDb Classes—AcDb类 (13)1.3.4.AcGi Classes—AcGi类 (14)1.3.5.AcGe Classes—AcGe类 (15)1.4.Getting Started—入门 (16)1.Overview of ObjectARX --ObjectARX二次开发概况ObjectARX, the AutoCAD Runtime Extension programming environment, includes C++ libraries that are the building blocks you can use to develop AutoCAD applications, extend AutoCAD classes and protocol, and create new commands that operate in the same manner as built-in AutoCAD commands. You can add new classes and export them for use by other programs. You can also extend the ObjectARX protocol by adding functions at runtime to existing AutoCAD classes.ObjectARX,是AutoCAD Runtime Extension编程环境,包含了扩展的C + +库,这些是已经建立的块,你可以用这些开发出AutoCAD应用程序、扩展AutoCAD类和协议,创建一个和内置的AutoCAD命令一样模式的新命令。
19StandardMath ToolsDisplay up to four math function traces (F1-F4). The easy-to-use graphical interface simplifies setup of up to two operations on each function trace;and function traces can be chained together to perform math-on-math.absolute value integralaverage (summed)invert (negate)average (continuous)log (base e)custom (MATLAB) – limited points product (x)derivativeratio (/)deskew (resample)reciprocaldifference (–)rescale (with units)enhanced resolution (to 11 bits vertical)roof envelope (sinx)/x exp (base e)square exp (base 10)square root fft (power spectrum, magnitude, phase,sum (+)up to 50 kpts) trend (datalog) of 1000 events floorzoom (identity)histogram of 1000 eventsMeasure ToolsDisplay any 6 parameters together with statistics, including their average,high, low, and standard deviations. Histicons provide a fast, dynamic view of parameters and wave-shape characteristics.Pass/Fail TestingSimultaneously test multiple parameters against selectable parameter limits or pre-defined masks. Pass or fail conditions can initiate actions including document to local or networked files, e-mail the image of the failure, save waveforms, send a pulse out at the rear panel auxiliary BNC output, or (with the GPIB option) send a GPIB SRQ.Jitter and Timing Analysis Software Package (WRXi-JTA2)(Standard with MXi-A model oscilloscopes)•Jitter and timing parameters, with “Track”graphs of •Edge@lv parameter (counts edges)• Persistence histogram, persistence trace (mean, range, sigma)Software Options –Advanced Math and WaveShape AnalysisStatistics Package (WRXi-STAT)This package provides additional capability to statistically display measurement information and to analyze results:• Histograms expanded with 19 histogram parameters/up to 2 billion events.• Persistence Histogram• Persistence Trace (mean, range, sigma)Master Analysis Software Package (WRXi-XMAP)(Standard with MXi-A model oscilloscopes)This package provides maximum capability and flexibility, and includes all the functionality present in XMATH, XDEV, and JTA2.Advanced Math Software Package (WRXi-XMATH)(Standard with MXi-A model oscilloscopes)This package provides a comprehensive set of WaveShape Analysis tools providing insight into the wave shape of complex signals. Includes:•Parameter math – add, subtract, multiply, or divide two different parameters.Invert a parameter and rescale parameter values.•Histograms expanded with 19 histogram parameters/up to 2 billion events.•Trend (datalog) of up to 1 million events•Track graphs of any measurement parameter•FFT capability includes: power averaging, power density, real and imaginary components, frequency domain parameters, and FFT on up to 24 Mpts.•Narrow-band power measurements •Auto-correlation function •Sparse function• Cubic interpolation functionAdvanced Customization Software Package (WRXi-XDEV)(Standard with MXi-A model oscilloscopes)This package provides a set of tools to modify the scope and customize it to meet your unique needs. Additional capability provided by XDEV includes:•Creation of your own measurement parameter or math function, using third-party software packages, and display of the result in the scope. Supported third-party software packages include:– VBScript – MATLAB – Excel•CustomDSO – create your own user interface in a scope dialog box.• Addition of macro keys to run VBScript files •Support for plug-insValue Analysis Software Package (WRXi-XVAP)(Standard with MXi-A model oscilloscopes)Measurements:•Jitter and Timing parameters (period@level,width@level, edge@level,duty@level, time interval error@level, frequency@level, half period, setup, skew, Δ period@level, Δ width@level).Math:•Persistence histogram •Persistence trace (mean, sigma, range)•1 Mpts FFTs with power spectrum density, power averaging, real, imaginary, and real+imaginary settings)Statistical and Graphical Analysis•1 Mpts Trends and Histograms •19 histogram parameters •Track graphs of any measurement parameterIntermediate Math Software Package (WRXi-XWAV)Math:•1 Mpts FFTs with power spectrum density, power averaging, real, and imaginary componentsStatistical and Graphical Analysis •1 Mpts Trends and Histograms •19 histogram parameters•Track graphs of any measurement parameteramplitude area base cyclescustom (MATLAB,VBScript) –limited points delay Δdelay duration duty cyclefalltime (90–10%, 80–20%, @ level)firstfrequency lastlevel @ x maximum mean median minimumnumber of points +overshoot –overshoot peak-to-peak period phaserisetime (10–90%, 20–80%, @ level)rmsstd. deviation time @ level topΔ time @ levelΔ time @ level from triggerwidth (positive + negative)x@ max.x@ min.– Cycle-Cycle Jitter – N-Cycle– N-Cycle with start selection – Frequency– Period – Half Period – Width– Time Interval Error – Setup– Hold – Skew– Duty Cycle– Duty Cycle Error20WaveRunner WaveRunner WaveRunner WaveRunner WaveRunner 44Xi-A64Xi-A62Xi-A104Xi-A204Xi-AVertical System44MXi-A64MXi-A104MXi-A204MXi-ANominal Analog Bandwidth 400 MHz600 MHz600 MHz 1 GHz 2 GHz@ 50 Ω, 10 mV–1 V/divRise Time (Typical)875 ps500 ps500 ps300 ps180 psInput Channels44244Bandwidth Limiters20 MHz; 200 MHzInput Impedance 1 MΩ||16 pF or 50 Ω 1 MΩ||20 pF or 50 ΩInput Coupling50 Ω: DC, 1 MΩ: AC, DC, GNDMaximum Input Voltage50 Ω: 5 V rms, 1 MΩ: 400 V max.50 Ω: 5 V rms, 1 MΩ: 250 V max.(DC + Peak AC ≤ 5 kHz)(DC + Peak AC ≤ 10 kHz)Vertical Resolution8 bits; up to 11 with enhanced resolution (ERES)Sensitivity50 Ω: 2 mV/div–1 V/div fully variable; 1 MΩ: 2 mV–10 V/div fully variableDC Gain Accuracy±1.0% of full scale (typical); ±1.5% of full scale, ≥ 10 mV/div (warranted)Offset Range50 Ω: ±1 V @ 2–98 mV/div, ±10 V @ 100 mV/div–1 V/div; 50Ω:±400mV@2–4.95mV/div,±1V@5–99mv/div,1 M Ω: ±1 V @ 2–98 mV/div, ±10 V @ 100 mV/div–1 V/div,±10 V @ 100 mV–1 V/div±**********/div–10V/div 1 M Ω: ±400 mV @ 2–4.95 mV/div, ±1 V @5–99 mV/div, ±10 V @ 100 mV–1 V/div,±*********–10V/divInput Connector ProBus/BNCTimebase SystemTimebases Internal timebase common to all input channels; an external clock may be applied at the auxiliary inputTime/Division Range Real time: 200 ps/div–10 s/div, RIS mode: 200 ps/div to 10 ns/div, Roll mode: up to 1,000 s/divClock Accuracy≤ 5 ppm @ 25 °C (typical) (≤ 10 ppm @ 5–40 °C)Sample Rate and Delay Time Accuracy Equal to Clock AccuracyChannel to Channel Deskew Range±9 x time/div setting, 100 ms max., each channelExternal Sample Clock DC to 600 MHz; (DC to 1 GHz for 104Xi-A/104MXi-A and 204Xi-A/204MXi-A) 50 Ω, (limited BW in 1 MΩ),BNC input, limited to 2 Ch operation (1 Ch in 62Xi-A), (minimum rise time and amplitude requirements applyat low frequencies)Roll Mode User selectable at ≥ 500 ms/div and ≤100 kS/s44Xi-A64Xi-A62Xi-A104Xi-A204Xi-A Acquisition System44MXi-A64MXi-A104MXi-A204MXi-ASingle-Shot Sample Rate/Ch 5 GS/sInterleaved Sample Rate (2 Ch) 5 GS/s10 GS/s10 GS/s10 GS/s10 GS/sRandom Interleaved Sampling (RIS)200 GS/sRIS Mode User selectable from 200 ps/div to 10 ns/div User selectable from 100 ps/div to 10 ns/div Trigger Rate (Maximum) 1,250,000 waveforms/secondSequence Time Stamp Resolution 1 nsMinimum Time Between 800 nsSequential SegmentsAcquisition Memory Options Max. Acquisition Points (4 Ch/2 Ch, 2 Ch/1 Ch in 62Xi-A)Segments (Sequence Mode)Standard12.5M/25M10,00044Xi-A64Xi-A62Xi-A104Xi-A204Xi-A Acquisition Processing44MXi-A64MXi-A104MXi-A204MXi-ATime Resolution (min, Single-shot)200 ps (5 GS/s)100 ps (10 GS/s)100 ps (10 GS/s)100 ps (10 GS/s)100 ps (10 GS/s) Averaging Summed and continuous averaging to 1 million sweepsERES From 8.5 to 11 bits vertical resolutionEnvelope (Extrema)Envelope, floor, or roof for up to 1 million sweepsInterpolation Linear or (Sinx)/xTrigger SystemTrigger Modes Normal, Auto, Single, StopSources Any input channel, External, Ext/10, or Line; slope and level unique to each source, except LineTrigger Coupling DC, AC (typically 7.5 Hz), HF Reject, LF RejectPre-trigger Delay 0–100% of memory size (adjustable in 1% increments, or 100 ns)Post-trigger Delay Up to 10,000 divisions in real time mode, limited at slower time/div settings in roll modeHold-off 1 ns to 20 s or 1 to 1,000,000,000 events21WaveRunner WaveRunner WaveRunner WaveRunner WaveRunner 44Xi-A 64Xi-A 62Xi-A104Xi-A 204Xi-A Trigger System (cont’d)44MXi-A64MXi-A104MXi-A204MXi-AInternal Trigger Level Range ±4.1 div from center (typical)Trigger and Interpolator Jitter≤ 3 ps rms (typical)Trigger Sensitivity with Edge Trigger 2 div @ < 400 MHz 2 div @ < 600 MHz 2 div @ < 600 MHz 2 div @ < 1 GHz 2 div @ < 2 GHz (Ch 1–4 + external, DC, AC, and 1 div @ < 200 MHz 1 div @ < 200 MHz 1 div @ < 200 MHz 1 div @ < 200 MHz 1 div @ < 200 MHz LFrej coupling)Max. Trigger Frequency with400 MHz 600 MHz 600 MHz 1 GHz2 GHzSMART Trigger™ (Ch 1–4 + external)@ ≥ 10 mV@ ≥ 10 mV@ ≥ 10 mV@ ≥ 10 mV@ ≥ 10 mVExternal Trigger RangeEXT/10 ±4 V; EXT ±400 mVBasic TriggersEdgeTriggers when signal meets slope (positive, negative, either, or Window) and level conditionTV-Composite VideoT riggers NTSC or PAL with selectable line and field; HDTV (720p, 1080i, 1080p) with selectable frame rate (50 or 60 Hz)and Line; or CUSTOM with selectable Fields (1–8), Lines (up to 2000), Frame Rates (25, 30, 50, or 60 Hz), Interlacing (1:1, 2:1, 4:1, 8:1), or Synch Pulse Slope (Positive or Negative)SMART TriggersState or Edge Qualified Triggers on any input source only if a defined state or edge occurred on another input source.Delay between sources is selectable by time or eventsQualified First In Sequence acquisition mode, triggers repeatedly on event B only if a defined pattern, state, or edge (event A) is satisfied in the first segment of the acquisition. Delay between sources is selectable by time or events Dropout Triggers if signal drops out for longer than selected time between 1 ns and 20 s.PatternLogic combination (AND, NAND, OR, NOR) of 5 inputs (4 channels and external trigger input – 2 Ch+EXT on WaveRunner 62Xi-A). Each source can be high, low, or don’t care. The High and Low level can be selected independently. Triggers at start or end of the patternSMART Triggers with Exclusion TechnologyGlitch and Pulse Width Triggers on positive or negative glitches with widths selectable from 500 ps to 20 s or on intermittent faults (subject to bandwidth limit of oscilloscope)Signal or Pattern IntervalTriggers on intervals selectable between 1 ns and 20 sTimeout (State/Edge Qualified)Triggers on any source if a given state (or transition edge) has occurred on another source.Delay between sources is 1 ns to 20 s, or 1 to 99,999,999 eventsRuntTrigger on positive or negative runts defined by two voltage limits and two time limits. Select between 1 ns and 20 sSlew RateTrigger on edge rates. Select limits for dV, dt, and slope. Select edge limits between 1 ns and 20 s Exclusion TriggeringTrigger on intermittent faults by specifying the normal width or periodLeCroy WaveStream Fast Viewing ModeIntensity256 Intensity Levels, 1–100% adjustable via front panel control Number of Channels up to 4 simultaneouslyMax Sampling Rate5 GS/s (10 GS/s for WR 62Xi-A, 64Xi-A/64MXi-A,104Xi-A/104MXi-A, 204Xi-A/204MXi-A in interleaved mode)Waveforms/second (continuous)Up to 20,000 waveforms/secondOperationFront panel toggle between normal real-time mode and LeCroy WaveStream Fast Viewing modeAutomatic SetupAuto SetupAutomatically sets timebase, trigger, and sensitivity to display a wide range of repetitive signalsVertical Find ScaleAutomatically sets the vertical sensitivity and offset for the selected channels to display a waveform with maximum dynamic range44Xi-A 64Xi-A 62Xi-A104Xi-A 204Xi-A Probes44MXi-A 64MXi-A104MXi-A 204MXi-AProbesOne Passive probe per channel; Optional passive and active probes available Probe System; ProBus Automatically detects and supports a variety of compatible probes Scale FactorsAutomatically or manually selected, depending on probe usedColor Waveform DisplayTypeColor 10.4" flat-panel TFT-LCD with high resolution touch screenResolutionSVGA; 800 x 600 pixels; maximum external monitor output resolution of 2048 x 1536 pixelsNumber of Traces Display a maximum of 8 traces. Simultaneously display channel, zoom, memory, and math traces Grid StylesAuto, Single, Dual, Quad, Octal, XY , Single + XY , Dual + XY Waveform StylesSample dots joined or dots only in real-time mode22Zoom Expansion TracesDisplay up to 4 Zoom/Math traces with 16 bits/data pointInternal Waveform MemoryM1, M2, M3, M4 Internal Waveform Memory (store full-length waveform with 16 bits/data point) or store to any number of files limited only by data storage mediaSetup StorageFront Panel and Instrument StatusStore to the internal hard drive, over the network, or to a USB-connected peripheral deviceInterfaceRemote ControlVia Windows Automation, or via LeCroy Remote Command Set Network Communication Standard VXI-11 or VICP , LXI Class C Compliant GPIB Port (Accessory)Supports IEEE – 488.2Ethernet Port 10/100/1000Base-T Ethernet interface (RJ-45 connector)USB Ports5 USB 2.0 ports (one on front of instrument) supports Windows-compatible devices External Monitor Port Standard 15-pin D-Type SVGA-compatible DB-15; connect a second monitor to use extended desktop display mode with XGA resolution Serial PortDB-9 RS-232 port (not for remote oscilloscope control)44Xi-A 64Xi-A 62Xi-A104Xi-A 204Xi-A Auxiliary Input44MXi-A 64MXi-A104MXi-A 204MXi-ASignal Types Selected from External Trigger or External Clock input on front panel Coupling50 Ω: DC, 1 M Ω: AC, DC, GND Maximum Input Voltage50 Ω: 5 V rms , 1 M Ω: 400 V max.50 Ω: 5 V rms , 1 M Ω: 250 V max. (DC + Peak AC ≤ 5 kHz)(DC + Peak AC ≤ 10 kHz)Auxiliary OutputSignal TypeTrigger Enabled, Trigger Output. Pass/Fail, or Off Output Level TTL, ≈3.3 VConnector TypeBNC, located on rear panelGeneralAuto Calibration Ensures specified DC and timing accuracy is maintained for 1 year minimumCalibratorOutput available on front panel connector provides a variety of signals for probe calibration and compensationPower Requirements90–264 V rms at 50/60 Hz; 115 V rms (±10%) at 400 Hz, Automatic AC Voltage SelectionInstallation Category: 300 V CAT II; Max. Power Consumption: 340 VA/340 W; 290 VA/290 W for WaveRunner 62Xi-AEnvironmentalTemperature: Operating+5 °C to +40 °C Temperature: Non-Operating -20 °C to +60 °CHumidity: Operating Maximum relative humidity 80% for temperatures up to 31 °C decreasing linearly to 50% relative humidity at 40 °CHumidity: Non-Operating 5% to 95% RH (non-condensing) as tested per MIL-PRF-28800F Altitude: OperatingUp to 3,048 m (10,000 ft.) @ ≤ 25 °C Altitude: Non-OperatingUp to 12,190 m (40,000 ft.)PhysicalDimensions (HWD)260 mm x 340 mm x 152 mm Excluding accessories and projections (10.25" x 13.4" x 6")Net Weight7.26kg. (16.0lbs.)CertificationsCE Compliant, UL and cUL listed; Conforms to EN 61326, EN 61010-1, UL 61010-1 2nd Edition, and CSA C22.2 No. 61010-1-04Warranty and Service3-year warranty; calibration recommended annually. Optional service programs include extended warranty, upgrades, calibration, and customization services23Product DescriptionProduct CodeWaveRunner Xi-A Series Oscilloscopes2 GHz, 4 Ch, 5 GS/s, 12.5 Mpts/ChWaveRunner 204Xi-A(10 GS/s, 25 Mpts/Ch in interleaved mode)with 10.4" Color Touch Screen Display 1 GHz, 4 Ch, 5 GS/s, 12.5 Mpts/ChWaveRunner 104Xi-A(10 GS/s, 25 Mpts/Ch in interleaved mode)with 10.4" Color Touch Screen Display 600 MHz, 4 Ch, 5 GS/s, 12.5 Mpts/Ch WaveRunner 64Xi-A(10 GS/s, 25 Mpts/Ch in interleaved mode)with 10.4" Color Touch Screen Display 600 MHz, 2 Ch, 5 GS/s, 12.5 Mpts/Ch WaveRunner 62Xi-A(10 GS/s, 25 Mpts/Ch in interleaved mode)with 10.4" Color Touch Screen Display 400 MHz, 4 Ch, 5 GS/s, 12.5 Mpts/Ch WaveRunner 44Xi-A(25 Mpts/Ch in interleaved mode)with 10.4" Color Touch Screen DisplayWaveRunner MXi-A Series Oscilloscopes2 GHz, 4 Ch, 5 GS/s, 12.5 Mpts/ChWaveRunner 204MXi-A(10 GS/s, 25 Mpts/Ch in Interleaved Mode)with 10.4" Color Touch Screen Display 1 GHz, 4 Ch, 5 GS/s, 12.5 Mpts/ChWaveRunner 104MXi-A(10 GS/s, 25 Mpts/Ch in Interleaved Mode)with 10.4" Color Touch Screen Display 600 MHz, 4 Ch, 5 GS/s, 12.5 Mpts/Ch WaveRunner 64MXi-A(10 GS/s, 25 Mpts/Ch in Interleaved Mode)with 10.4" Color Touch Screen Display 400 MHz, 4 Ch, 5 GS/s, 12.5 Mpts/Ch WaveRunner 44MXi-A(25 Mpts/Ch in Interleaved Mode)with 10.4" Color Touch Screen DisplayIncluded with Standard Configuration÷10, 500 MHz, 10 M Ω Passive Probe (Total of 1 Per Channel)Standard Ports; 10/100/1000Base-T Ethernet, USB 2.0 (5), SVGA Video out, Audio in/out, RS-232Optical 3-button Wheel Mouse – USB 2.0Protective Front Cover Accessory PouchGetting Started Manual Quick Reference GuideAnti-virus Software (Trial Version)Commercial NIST Traceable Calibration with Certificate 3-year WarrantyGeneral Purpose Software OptionsStatistics Software Package WRXi-STAT Master Analysis Software Package WRXi-XMAP (Standard with MXi-A model oscilloscopes)Advanced Math Software Package WRXi-XMATH (Standard with MXi-A model oscilloscopes)Intermediate Math Software Package WRXi-XWAV (Standard with MXi-A model oscilloscopes)Value Analysis Software Package (Includes XWAV and JTA2) WRXi-XVAP (Standard with MXi-A model oscilloscopes)Advanced Customization Software Package WRXi-XDEV (Standard with MXi-A model oscilloscopes)Spectrum Analyzer and Advanced FFT Option WRXi-SPECTRUM Processing Web Editor Software Package WRXi-XWEBProduct Description Product CodeApplication Specific Software OptionsJitter and Timing Analysis Software Package WRXi-JTA2(Standard with MXi-A model oscilloscopes)Digital Filter Software PackageWRXi-DFP2Disk Drive Measurement Software Package WRXi-DDM2PowerMeasure Analysis Software Package WRXi-PMA2Serial Data Mask Software PackageWRXi-SDM QualiPHY Enabled Ethernet Software Option QPHY-ENET*QualiPHY Enabled USB 2.0 Software Option QPHY-USB †EMC Pulse Parameter Software Package WRXi-EMC Electrical Telecom Mask Test PackageET-PMT* TF-ENET-B required. †TF-USB-B required.Serial Data OptionsI 2C Trigger and Decode Option WRXi-I2Cbus TD SPI Trigger and Decode Option WRXi-SPIbus TD UART and RS-232 Trigger and Decode Option WRXi-UART-RS232bus TD LIN Trigger and Decode Option WRXi-LINbus TD CANbus TD Trigger and Decode Option CANbus TD CANbus TDM Trigger, Decode, and Measure/Graph Option CANbus TDM FlexRay Trigger and Decode Option WRXi-FlexRaybus TD FlexRay Trigger and Decode Physical Layer WRXi-FlexRaybus TDP Test OptionAudiobus Trigger and Decode Option WRXi-Audiobus TDfor I 2S , LJ, RJ, and TDMAudiobus Trigger, Decode, and Graph Option WRXi-Audiobus TDGfor I 2S LJ, RJ, and TDMMIL-STD-1553 Trigger and Decode Option WRXi-1553 TDA variety of Vehicle Bus Analyzers based on the WaveRunner Xi-A platform are available.These units are equipped with a Symbolic CAN trigger and decode.Mixed Signal Oscilloscope Options500 MHz, 18 Ch, 2 GS/s, 50 Mpts/Ch MS-500Mixed Signal Oscilloscope Option 250 MHz, 36 Ch, 1 GS/s, 25 Mpts/ChMS-500-36(500 MHz, 18 Ch, 2 GS/s, 50 Mpts/Ch Interleaved) Mixed Signal Oscilloscope Option 250 MHz, 18 Ch, 1 GS/s, 10 Mpts/Ch MS-250Mixed Signal Oscilloscope OptionProbes and Amplifiers*Set of 4 ZS1500, 1.5 GHz, 0.9 pF , 1 M ΩZS1500-QUADPAK High Impedance Active ProbeSet of 4 ZS1000, 1 GHz, 0.9 pF , 1 M ΩZS1000-QUADPAK High Impedance Active Probe 2.5 GHz, 0.7 pF Active Probe HFP25001 GHz Active Differential Probe (÷1, ÷10, ÷20)AP034500 MHz Active Differential Probe (x10, ÷1, ÷10, ÷100)AP03330 A; 100 MHz Current Probe – AC/DC; 30 A rms ; 50 A rms Pulse CP03130 A; 50 MHz Current Probe – AC/DC; 30 A rms ; 50 A rms Pulse CP03030 A; 50 MHz Current Probe – AC/DC; 30 A rms ; 50 A peak Pulse AP015150 A; 10 MHz Current Probe – AC/DC; 150 A rms ; 500 A peak Pulse CP150500 A; 2 MHz Current Probe – AC/DC; 500 A rms ; 700 A peak Pulse CP5001,400 V, 100 MHz High-Voltage Differential Probe ADP3051,400 V, 20 MHz High-Voltage Differential Probe ADP3001 Ch, 100 MHz Differential Amplifier DA1855A*A wide variety of other passive, active, and differential probes are also available.Consult LeCroy for more information.Product Description Product CodeHardware Accessories*10/100/1000Base-T Compliance Test Fixture TF-ENET-B †USB 2.0 Compliance Test Fixture TF-USB-B External GPIB Interface WS-GPIBSoft Carrying Case WRXi-SOFTCASE Hard Transit CaseWRXi-HARDCASE Mounting Stand – Desktop Clamp Style WRXi-MS-CLAMPRackmount Kit WRXi-RACK Mini KeyboardWRXi-KYBD Removable Hard Drive Package (Includes removeable WRXi-A-RHD hard drive kit and two hard drives)Additional Removable Hard DriveWRXi-A-RHD-02* A variety of local language front panel overlays are also available .† Includes ENET-2CAB-SMA018 and ENET-2ADA-BNCSMA.Customer ServiceLeCroy oscilloscopes and probes are designed, built, and tested to ensure high reliability. In the unlikely event you experience difficulties, our digital oscilloscopes are fully warranted for three years, and our probes are warranted for one year.This warranty includes:• No charge for return shipping • Long-term 7-year support• Upgrade to latest software at no chargeLocal sales offices are located throughout the world. Visit our website to find the most convenient location.© 2010 by LeCroy Corporation. All rights reserved. Specifications, prices, availability, and delivery subject to change without notice. Product or brand names are trademarks or requested trademarks of their respective holders.1-800-5-LeCroy WRXi-ADS-14Apr10PDF。
E.9Portable Object AdaptorO D S 1 T u t o r i a lE.9Portable Object Adaptors More complicated activation schemes s POA interface s Persistent referencesE.9Portable Object AdaptorO D S 1 T u t o r i a l1CORBA Object Life Cycles State diagram for life cyclex OA has to create servant and activate object when call arrivesO D S 1 T u t o r i a ls POA operation controlled by POA Manager s POA Manager statess One POA Manager for multiple POAs possible s PIDL interface POAManagerO D S 1 T u t o r i a ls IDL interface:s Policies influence POA operation s Root POA already exists in ORBmodule PortableServer {interface POAManager;exception AdapterAlreadyExists {};exception InvalidPolicy { unsigned short index; };interface POA {POA create_POA(in string adapter_name,in POAManager manager,in CORBA::PolicyList policies )raises(AdapterAlreadyExists, InvalidPolicy);...};};org.omg.CORBA.Object o = orb.resolve_initial_references("RootPOA" );org.omg.PortableServer.POA root_poa =org.omg.PortableServer.POAHelper.narrow(o );O D S 1 T u t o r i a ls Hierarchy of POAss IDL:module CORBA {typedef unsigned long PolicyType;interface Policy {readonly attribute PolicyType policy_type;Policy copy();void destroy();};typedef sequence<Policy> PolicyList;};s Locality-constrained objectslairotuT1SDOE.9Portable Object AdaptorO D S 1 T u t o r i a l5CORBA Object Life Span Policys IDL:s Single POA can either support persistent or transient objects, not both s Persistent objectsx ORB and Implementation Repository must keep track of these objectsx Additional information for re-activation is storeds Default Value:TRANSIENTmodule PortableServer {enum LifespanPolicyValue {TRANSIENT, PERSISTENT };interface LifespanPolicy : CORBA::Policy {readonly attribute LifespanPolicyValue value;};};O D S 1 T u t o r i a ls Objects are identified via object referencess Object IDs either chosen by:x the POA (SYSTEM_ID )x the application (USER_ID ), e.g. when objects are mapped to a databaseObject ReferenceProfile Object Key Object Identifiers IDL:module PortableServer {enum IdAssignmentPolicyValue {SYSTEM_ID, USER_ID};interface IdAssignmentPolicy : CORBA::Policy {readonly attribute IdAssignmentPolicyValue value;};};s Default Value:SYSTEM_IDlairotuT1SDOE.9Portable Object AdaptorO D S 1 T u t o r i a l7Mapping Objects to Servantss Relation between Object IDs and Servants s IDL:s UNIQUE_ID : One-to-one relation between objects and servantss MULTIPLE_ID : There may be several CORBA objects (and thereforeseveral Object IDs) that are implemented by the same Servant s Default Value:UNIQUE_IDmodule PortableServer {enum IdUniquenessPolicyValue {UNIQUE_ID, MULTIPLE_ID };interface IdUniquenessPolicy : CORBA::Policy {readonly attribute IdUniquenessPolicyValue value;};};E.9Portable Object AdaptorO D S 1 T u t o r i a l8Implicit Activations Activation via some special Skeleton method (in Java _this())s IDL:s Default Value:NO_IMPLICIT_ACTIVATIONs Exception: RootPOA has IMPLICIT_ACTIVATIONmodule PortableServer {enum ImplicitActivationPolicyValue {IMPLICIT_ACTIVATION, NO_IMPLICIT_ACTIVATION };interface ImplicitActivationPolicy : CORBA::Policy {readonly attribute ImplicitActivationPolicyValuevalue;};};O D S 1 T u t o r i a ls POA can store active Servants in an Active Object Mapx Only objects that are registered in Active Object Map exist (USE_ACTIVE_OBJECT_MAP_ONLY )x POA throws CORBA::OBJECT_NOT_EXIST otherwiseServantsPOA Active Object MapO D S 1 T u t o r i a ls For dynamic activation application supplies a Servant Manager to thePOAx Servant Manager is contacted if Object ID is not found in Active Object Map x Servant Manager may either return a Servant for the object or throw a CORBA::OBJECT_NOT_EXIST x Mode is USE_SERVANT_MANAGERs The application supplies a Default Servant – there is no Active ObjectMapx All requests are sent to the Default Servantx It uses the Dynamic Skeleton Interface (DSI) to process the requestx Mode is USE_DEFAULT_SERVANTs IDL:module PortableServer {enum RequestProcessingPolicyValue {USE_ACTIVE_OBJECT_MAP_ONLY,USE_DEFAULT_SERVANT,USE_SERVANT_MANAGER};interface RequestProcessingPolicy : CORBA::Policy {readonly attribute RequestProcessingPolicyValuevalue;};};s Default Value:USE_ACTIVE_OBJECT_MAP_ONLYlairotuT1SDOE.9Portable Object AdaptorO D S 1 T u t o r i a l10Retention of Object ID to Servant Associationss Should the POA remember Servants and store them in the Active ObjectMap?s Yes (RETAIN ): POA searches Active Object Maps No (NON_RETAIN ):POA relies on Default Servant or Servant Manager toprovide the association s IDL:s Default Value:RETAINmodule PortableServer {enum ServantRetentionPolicyValue {RETAIN, NON_RETAIN };interface ServantRetentionPolicy : CORBA::Policy {readonly attribute ServantRetentionPolicyValuevalue;};};E.9Portable Object AdaptorO D S 1 T u t o r i a l11Multithreadings How are requests allocated to threads?s IDL:s Default Value:ORB_CTRL_MODELmodule PortableServer {enum ThreadPolicyValue {ORB_CTRL_MODEL, SINGLE_THREAD_MODEL };interface ThreadPolicy : CORBA::Policy {readonly attribute ThreadPolicyValue value;};};E.9Portable Object AdaptorO D S 1 T u t o r i a l12Useful Policy Combinationss Some combinations don’t make sense and creation of such a POA fails s PERSISTENT often used with USER_IDx Easier to re-create servant if ObjectID contains a key to find the servant datas IMPLICIT_ACTIVATION requires SYSTEM_IDx Where should the ObjectID come from?E.9Portable Object AdaptorO D S 1 T u t o r i a lO D S 1 T u t o r i a ls Policies:x USE_SERVANT_MANAGER x RETAINs Application activates objects on demand via Servant ManagerO D S 1 T u t o r i a lO D S 1 T u t o r i a ls Servant Manager is a Servant Activator (derived interface)O D S 1 T u t o r i a ls Policies:x USE_SERVANT_MANAGER x NON_RETAINs POA has no Active Object Maps Servant Locator is consulted before and after each requests Servant Locator implements own Active Object Map and eviction strategyO D S 1 T u t o r i a lO D S 1 T u t o r i a ls Servant Manager is a Servant Locator (derived interface)s Policies:x USE_DEFAULT_SERVANTx NON_RETAINs POA has no Active Object Maps Application supplies Default Servants Default Servant gets each request of that POA and processes it using the Dynamic Skeleton Interface (DSI)lairotuT1SDOO D S 1 T u t o r i a ls POA attributess POA creationreadonly attribute string the_name;readonly attribute POA the_parent;readonly attribute POAList the_children;readonly attribute POAManager the_POAManager;attribute AdapterActivator the_activator;POA create_POA(in string adapter_name,in POAManager a_POAManager,in CORBA::PolicyList policies)raises (AdapterAlreadyExists, InvalidPolicy);POA find_POA(in string adapter_name,in boolean activate_it)raises (AdapterNonExistent);void destroy(in boolean etherealize_objects,in boolean wait_for_completion);s Policy factory operationsThreadPolicy create_thread_policy(in ThreadPolicyValue value);LifespanPolicy create_lifespan_policy(in LifespanPolicyValue value);IdUniquenessPolicy create_id_uniqueness_policy(in IdUniquenessPolicyValue value);IdAssignmentPolicy create_id_assignment_policy(in IdAssignmentPolicyValue value);ImplicitActivationPolicy create_implicit_activation_policy( in ImplicitActivationPolicyValue value);ServantRetentionPolicy create_servant_retention_policy(in ServantRetentionPolicyValue value);RequestProcessingPolicy create_request_processing_policy( in RequestProcessingPolicyValue value);lairotuT1SDOO D S 1 T u t o r i a ls Servant Manager operationss Default Servant operationss Object activation and deactivation operationsServantManager get_servant_manager()raises (WrongPolicy);void set_servant_manager(in ServantManager imgr)raises (WrongPolicy);Servant get_servant()raises (NoServant, WrongPolicy);void set_servant(in Servant p_servant)raises (WrongPolicy);ObjectId activate_object(in Servant p_servant)raises (ServantAlreadyActive, WrongPolicy);void activate_object_with_id(in ObjectId id,in Servant p_servant)raises (ServantAlreadyActive, ObjectAlreadyActive,WrongPolicy);void deactivate_object(in ObjectId oid)raises (ObjectNotActive, WrongPolicy);O D S 1 T u t o r i a ls Identity mapping operationss Reference creation operationsObjectId servant_to_id(in Servant p_servant)raises (ServantNotActive, WrongPolicy);Object servant_to_reference(in Servant p_servant)raises (ServantNotActive, WrongPolicy);Servant reference_to_servant(in Object reference)raises(ObjectNotActive, WrongPolicy);ObjectId reference_to_id(in Object reference)raises (WrongAdapter, WrongPolicy);Servant id_to_servant(in ObjectId oid)raises (ObjectNotActive, WrongPolicy);Object id_to_reference(in ObjectId oid)raises (ObjectNotActive, WrongPolicy);Object create_reference(in CORBA::RepositoryId intf)raises (WrongPolicy);Object create_reference_with_id(in ObjectId oid,in CORBA::RepositoryId intf)raises (WrongPolicy);E.9Portable Object AdaptorO D S 1 T u t o r i a l18Persistent Referencess Server Process starts and asks POA to create a referenceRepository at host2:4711O D S 1 T u t o r i a ls Persistent POA registers server with Implementation RepositoryRepository at host2:4711O D S 1 T u t o r i a ls Server saves Persistent Object Reference returned by POARepository at host2:4711O D S 1 T u t o r i a ls Server terminatesRepository at host2:4711O D S 1 T u t o r i a ls Client starts and reads Object ReferenceRepository at host2:4711O D S 1 T u t o r i a ls Client invokes operationRepository at host2:4711O D S 1 T u t o r i a ls Invocation request is sent to contact address, i.e. IRRepository at host2:4711O D S 1 T u t o r i a ls IR starts Server ProcessRepository at host2:4711O D S 1 T u t o r i a ls POA registers new contact address with IRRepository at host2:4711O D S 1 T u t o r i a ls IR returns location forward message with new contact addressRepository at host2:4711O D S 1 T u t o r i a ls Invocation request is re-sent to new contact address and executedRepository at host2:4711MessageE.9Portable Object Adaptor O D S 1 T u t o r i a l 18Persistent Referencess Reply is returned to the clientRepository at host2:4711MessageE.9Portable Object AdaptorO D S 1 T u t o r i a l19POA Summarys Hierarchy of POAss Many different policies s All sorts of request processing and servant management strategies possibles Persistent references via Implementation Repository。
汇编程序(MASM)常见错误信息汇编程序在对源程序的汇编过程中,若检查出某语句有语法错误,随时在屏幕上给出出错信息.如操作人员指定的列表文件名(即.LST),汇编程序亦将在列表文件中出错的下面给出出错信息,以便操作人员即时查找错误,给予更正.MASM5.0出错信息格式如下:源程序文件行:WARNING/ERROR错误信息码:错误描述信息其中,错误描述信息码由五个字符组成,第一个是字母A,表示汇编语言程序出错;接着有一个数字指明出错类别:'2'为严重错误,'4'为严肃警告,'5'为建议性警告,最后三位为错误编号.错误编号:错误描述0 Block nesting error嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局1 Extra characters on line 一语句行有多余字符,可能是语句中给出的参数太多2 Internal error-Register already defined这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request 表与Microsoft公司联系3 Unkown type specifer未知的类型说明符.例如类型字符拼错,把BYTE写成BIT,NEAR写成NAER等4 Redefinition of symbol符号重定义.同一标识符在两个位置上定义.在汇编第一遍扫描时,在这个标识符的第二个定义位置上给出这个错误5 Symbol is multidefined符号多重定义.同一标识符在两个位置上定义.在汇编第二遍扫描时,每当遇到这个标识符都给出这个错误6 Phase error between passes两次扫描间的遍错.一个标号在二次扫描时得到不同的地址值,就会给出这种错误.若在启动MASM 时使用/D任选项,产生第一遍扫描的列表文件,它可帮助你查找这种错误7 Already had ELSE clause 已有ELSE语句.在一个条件块里使用多于一个的ELSE语句8 Must be in conditional block 没有在条件块里.通常是有ENDIF或ELSE语句,而无IF 语句9 Symbol not defined 符号未定义,在程序中引用了未定义的标识符10 Syntax error 语法错误.不是汇编程序所能识别的一个语句11 Type illegal in context 指定非法类型.例如对一个过程指定BYTE类型,而不是NEAR或FAR12 Group name must be unique 组名应是唯一的.作为组名的符号作为其他符号使用13 Must be declared during pass 1必须在第一遍扫描期间定义.在第一遍扫描期间,如一个符号在未定义前就引用,就会出现这种错误.14 Illegal public declaration 一个标识符被非法的指定为PUBLIC类型15 Symbol already defferent kind重新定义一个符号为不同种类符号.例如一个段名重新被当作变量名定义使用16 Reserved word used as symbol 把汇编语言规定的保留字作标识符使用17 Forward reference illegal 非法的向前引用.在第一遍扫描期间,引用一个未定义符号.18 Operand must be register 操作数位置上应是寄存器,但出现了标识符19 Wrong type of register 使用寄存器出错20 Operand must be segment or group 应该给出一个段名或组名.例如ASSUME语句中应为某段寄存器和指定一个段名或组名,而不应是别的标号或变量名等21 Symbol has no segment 不知道标识符的段属性22 Operand must be type specifier 操作数应给出类型说明,如NEAR,FAR,BYTE等23 Symbol alread defined locally以被指定为内部的标识符,企图在EXTRN语句中又定义外部标识24 Segment paraneters are changed 段参数被改变.如同一标识符定义在不同段内25 Improper align/combin type 段定义时的定位类型/组合类型使用出错26 Reference to multidefined symbol 指令引用了多重定义的标识符27 Operand expected 需要一个操作数,只有操作符28 Operator expected 需要一个操作符,但只有操作数29 Divdsion by 0 or overflow 除以0或溢出30 Negative shift count 运算符SHL或SHR的移位表达式值为负数31 Operand type must match操作数类型不匹配.双操作数指令的两个操作数长度不一致,一个是字节,一个是字32 Illegal use of external 外部符号使用出错33 Must be record field name 应为记录字段名.在记录字段名位置上出现另外的符号34 Must be record name or field name应为记录名或记录字段名.在记录名或记录字段名位置上出现另外的符号35 Operand must be size应指明操作数的长度(如BYTE,WORD等).通常使用PTR运算即可改正36 Must be variable,label,or constant 应该是变量名,标号,或常数的位置上出现了其他信息37 Must be stucture field name 应该为结构字段名.在结构字段名位置上出现了另外的符号38 Lefe operand must segment操作数的左边应该是段的信息.如设DA1,DA2均是变量名,下列语句就是错误的:"MOV AX,DA1:DA2".DA1位置上应使用某段寄存器名39 One operand must constant 操作数必须是常数.40 Operand must be in same segment or one constant"—"运算符用错.例如"MOV AL,—VAR",其中VAR是变量名,应有一常数参加运算.又如两个不同段的变量名相减出错41 Normal type operand expected 要求给出一个正常的操作数.42 Constant expected 要求给出一个常数.43 Operand must have segment 运算符SEG用错.44 Must be associated with data 在必须与数据段有关的位置上出现了代码段有关的项45 Must be associated with code 在必须与代码段有关的位置上出现了数据段有关的项46 Multiple base registers 同时使用了多个基址寄存器.如"MOV AX ,[SI][BP]"47 Multiple index registers 同时使用了多个变址寄存器.如"MOV AX ,[SI][DI]"48 Must be index or base regiser 指令仅要求使用基址寄存器或变址寄存器,而不能使用其他寄存器.49 Illegal use of register 非法使用寄存器出错50 Value is out of range 数值太大,超过允许值.例如:"MOV AL ,100H"51 Operand not in current CS ASSUME segment操作数不在当前代码段内.通常指转移指令的目标地址不在当前CS段内52 Improper operand type 操作数类型使用不当.例如:"MOV VAR1,VAR2".两个操作数均为存储器操作数,不能汇编出目标代码53 Jump out of range by %ld byte条件转移指令跳转范围超过-128~ 127个字节.出错厂,信息同时给出超过的字节数54 Index displacement must be constant 变址寻址的位移量必须是常数55 Illegal register value 非法的寄存器值.目标代码中表达寄存器的值超过756 Immediate mode illegal 不允许使用立即数寻址.例如"MOV DS,CODE"其中CODE是段名,不能把段名作为立即数传送给段寄存器DS57 Illegal size for operand 使用操作数大小(字节数)出错.例如:使用双字的存储器操作数58 Byte register illegal要求用字寄存器的指令使用了字节寄存器.如PUSH,POP指令的操作数寄存器必须是字寄存器59 Illegal uer of CS register指令中错误使用了段寄存器CS.如:"MOV CS,AX" CS不能做目的操作数60 Must be accumulator register要求用AX或AL的位置上使用可其他寄存器.如IN,OUT指令必须使用累加器AX或AL61 Improper uer of segment register不允许使用段寄存器的位置上使用了段寄存器.如"SHL DS,1"62 Missing or unreachable CS试图跳转去执行一个CS达不到的标号.通常是指缺少ASSUME语句中CS与代码段相关联63 Operand combination illegal 双操作数指令中两个操作数组合出错64 Near JMP/CALL to different CS试图用NEAR属性的转移指令跳转到不在当前段的一个地址65 Label cannot have segment override 段前缀使用出错66 Must have instuction agter prefix 在重复前缀REP,REPE,REPNE后面必须有指令67 Cannot override ES for destination 串操作指令中目的操作数不能用其他段寄存器替代ES68 Cannot address with srgment register指令中寻找一个操作数,但ASSUME语句中未指明哪个段寄存器与该操作数所在段有关联69 Must be in segment block 指令语句没有在段内70 Cannot use EVEN or ALIGN with byte alignment在段定义伪指令的定位类型中选用BYTE,这时不能使用EVEN或ALIGN伪指令71 Forward needs override or FAR转移指令的目标没有在源程序中说明为FAR属性,可用PTR指定72 Illegal value for DUP count 操作符DUP前的重复次数是非法的或未定义73 Symbol id already external 在模块内试图定义的符号,它已在外部符号伪指令中说明74 DUP nesting too deep 操作数DUP的嵌套太深75 Illegak use of undefinde operand( ) 不定操作符" "使用不当.例如"DB 10H DUP( 2)"76 Too many valer for struc or record initialization 在定义结构变量或记录变量时,初始值太多77 Angle brackets requored around initialized list定义结构体变量时,初始值未用尖括号()括起来78 Directive illegal structure 在结构体定义中的伪指令使用不当.结构定义中的伪指令语句仅二种:分号(;)开始的注释语句和用DB,DW等数据定义伪指令语句79 Override with DUP illegal 在结构变量初始值表中使用DUP操作符出错80 Field cannot be overridden 在定义结构变量语句中试图对一个不允许修改的字段设置初值81 Override id of wrong type 在定义结构变量语句中设置初值时类型出错82 Circular chain of EQU aliases 用等值语句定义的符号名,最后又返回指向它自己.如:A EQU BB EQU A83 Cannot emulate cooprocessor opcode 仿真器不能支持的8087协处理器操作码84 End of file,not END directive 源程序文件无END文件85 Data emitted with no segment 语句数据没有在段内。
GEA Homogenization technologyState-of-the-art equipmentand solutions for your productionGEA is the leading supplier of highpressure homogenization technology fora complete range of industries andapplications.HomogenizationHighly customized solutions GEA offers highly specific and customized process solutions to always ensure excellent and safe product quality.Every applicationsHomogenization plays a primary role in manyindustries and is applied to a wide variety ofproducts. GEA excels with this technology as a resultof experience know-how, a passion for innovationand constantly focusing on improving processperformance.High pressure homogenization uses pressure to reduce particlesor droplets in emulsions to the required size (usually submicron). This reduction creates a stable dispersion in the finishedproduct, and provides a starting point for further productionprocesses.As a global leader, GEA has the best know-how in each of thisfields and the greatest flexibility in providing any kind ofrequired customization to perfectly meet the client’s processingrequirements. Leader in high pressure homogenizationApplications The benefits of high pressure homogenization are well known in dairy, pharmaceutical, food and beverage industries. High pressure processing offers distinct advantages in terms of time and cost saving to the customer. Particle micronization also has an essential role with emulsion and dispersion in pharmaceutical applications for the production of inhalation products, intravenous emulsions and in biologic cell lysis (bacteria, yeast, algae).DairyGEA homogenizers set the industry standard for sanitary andaseptic processing, automation and cleanability.The homogenization process is used on dairy products to improve their stability and shelf life, as well as increase digestibility and taste.•Fresh and pasteurized milk • UHT milk• Milk for yoghurt• Yoghurt drinks• Desserts• Cream cheese• Fermented milk products• Spray dryed productsFood & BeverageHomogenization in the food industry is widely used to obtaina stable product, with a longer shelf life. It reduces the amountof additives used while improving improves the dispersion ofingredients and the absorption of flavors.• Food emulsions• Baby foods• Fruits juices• Cloudifiers/aromas• Dressing• Egg and mayonnaise• Tomato products (paste/concentrate)• StarchesPharmaceuticalLiquid pharmaceutical products are homogenized to make thedispersion of active ingredients much more stable for enhancedclinical effectiveness, improved drug tolerance and reduceddosage.• Intravenous emulsions• Inhalation products• Liposomes• Syrups Biotechnology High pressure homogenization is used for cell rupture operations on yeast and bacteria to extract intra-cellular substances without using solvents or chemicals for the cell wall breakage. This releases proteins, enzymes and vitamins.• Vaccines • Yeast • Enzymes • Algae • Bacteria Home & Personal Care High pressure homogenization can effectively reduce the particle size, resulting in uniform dimensional distribution, for stable and longer shelf life of cosmetic products, along with a better active ingredient dispersion.• Ointments • Lotions • Nail varnish • Hair colorants • Detergents Chemical High pressure homogenization creates stable emulsions, dispersions and mixes for chemical products. It can also improve chemical reaction and extraction processes, polymer properties and pigment color.• Chemical slurries • Paints • Greases • Latex • Polymers • Pesticides/fertilizers • Cellulose fibersGEA offers a wide range of high pressure homogenizers thatguarantee the best results with the lowest consumption ofenergy and resources.The complete portfolio of GEA homogenizers ranges fromlaboratory to industrial scale, allowing scalability up to80,000 l/h.Homogenizers range FLOW RATE RANGEScalability of resultsPRESSURE RANGEGEA Ariete Homogenizer 5400GEA Lab Homogenizer PandaPLUSTechnology leaderWhen it comes to pulsating pressure, high flow velocities, andabrasiveness of processed fluids, material selection and dedicateddesigns are crucial.Thanks to GEA’s commitment towards efficiency and reliability,the core components of the homogenizer are engineereddifferently, based on the pressure range, product formulationsGEA Pharma Skid homogenizer 3015Certified qualityGEA meets all relevant international standards for food anddairy hygienic design (3-A), for biotech and pharmaceuticalcompliance (cGMP, FDA), and is an active partner in thedevelopment of EHEDG guidelines for hygienic and safe foodprocessing design equipment.ISO 9001:2008 certified Quality System represents a pointof reference for the company and its operations, from designto production, from sales to after sales services. In addition,systems can be supplied with ATEX explosion-proofcertification for hazardous areas.Certifications and validation s Tailor-made support to obtain any validation Equipment for pharmaceutical and biotechnology applications must be fully compliant with industry regulations, such as FDA requirements and cGMP guidelines. In order to guarantee and validate the equipment, GEA supplies highly qualified technical services to safely implement the machinery into cGMP certified facilities and processes.Every step of the system validation process is documented and recorded using dedicated procedures and protocols. This is the highest quality point of reference for the industry, developedover years of partnership and cooperation with leadingpharmaceutical and biotech companies, and applied to hundredsof installations.Our services include: preparation of customized FAT, SATand IQ/OQ protocols, scheduled maintenance, on-site trainingprograms and tailor-made support for PQ when required.The Product Engineering and Development department in GEA continues to excel in product innovation as well as application know-how to satisfy customers’ needs.Process Technology CenterGEA Process Test Center (PTC) located in Parma (Italy) has a unique portfolio of services for homogenizers:• Specification of product characteristics• Selection and design of the machine types, including peripheral equipment• Pilot tests under real conditions• Factory acceptances tests (FATs)The PTC laboratory equipment consists of pilot-scale and laboratory-scale high pressure homogenizers as well as instrument platforms for particle sizes, rheology, microscopy and the determination of stability characteristics. Homogenization parameters are defined alongside customers, thus ensuring a process configuration and install that will produce optimal results.Homogenization Under Real Working ConditionsThe PTC for homogenization offers perfect conditions for testing the homogenization technology on existing or new products and for optimizing the development of the customer’s production processes.• Product pilot tests with scaling to complete installations from 9 to 1000 l/h• Development and testing of prototypes of new homogenizationtechnology and new homogenizer models Future solutionsdeveloped todayMain services available:• Installation• Commissioning• Training• Spare Parts• Corrective maintenance• Preventive maintenance• Upgrades• Modernization• Optimization• Predictive maintenance• Second-hand equipment• Performance contracts• On-site project support•Service software products ServicesGEA offers the exclusive advantage of the latest technology, combined with competent, on-site, customized support. GEA customer services guarantee high quality spare parts, maintenance and personnel training, as well as continual updates to optimize machine operation and to improve production efficiency.GEA is a global technology company with multi-billion euro sales operations in more than 50 countries. Founded in 1881 the company is one of the largest providers of innovative equipment and process technology. GEA is listed in the STOXX ® Europe 600 Index. In addition, the company is included in selected MSCI Global Sustainability Indexes.We live our values.Excellence • Passion • Integrity • Responsibility • GEA-versityP r o d u c t G r o u p H o m o g e n i z a t i o n _R E V 09/2018 © G E A M e c h a n i c a l E q u i p m e n t I t a l i a S .p .A . A l l r i g h t s r e s e r v e d . S u b j e c t t o m o d i f i c a t i o n s . .GEA ItalyGEA Mechanical Equipment Italia S.p.AVia A.M. Da Erba Edoari, 2943123 Parma, Italy Tel +39 0521 965411Fax +39 0521 /contact。
Legal informationCopyright and License© Copyright 2019 HP Development Company, L.P.Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowedunder the copyright laws.The information contained herein is subject to change without notice.The only warranties for HP products and services are set forth in the express warranty statementsaccompanying such products and services. Nothing herein should be construed as constituting anadditional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.Edition 1, 10/2019Trademark CreditsAdobe®, Adobe Photoshop®, Acrobat®, and PostScript® are trademarks of Adobe Systems Incorporated.Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries.macOS is a trademark of Apple Inc., registered in the U.S. and other countries.AirPrint is a trademark of Apple Inc., registered in the U.S. and other countries.Google™ is a trademark of Google Inc.Microsoft®, Windows®, Windows® XP, and Windows Vista® are U.S. registered trademarks of MicrosoftCorporation.UNIX® is a registered trademark of The Open Group.iiiT able of contents1 Printer overview (1)Warning icons (1)Potential shock hazard (2)Printer views (2)Printer front view (2)Printer back view (4)Interface ports (4)Control-panel view (5)How to use the touchscreen control panel (7)Printer specifications (8)T echnical specifications (8)Supported operating systems (11)Mobile printing solutions (12)Printer dimensions (13)Power consumption, electrical specifications, and acoustic emissions (15)Operating-environment range (15)Printer hardware setup and software installation (16)2 Paper trays (17)Introduction (17)Load paper to Tray 1 (multipurpose tray) (17)Load Tray 1 (multipurpose tray) (18)Tray 1 paper orientation (19)Use alternative letterhead mode (24)Enable Alternative Letterhead Mode by using the printer control-panel menus (24)Load paper to Tray 2 (24)Load Tray 2 (24)Tray 2 paper orientation (26)Use alternative letterhead mode (29)Enable Alternative Letterhead Mode by using the printer control-panel menus (29)Load paper to the 550-sheet paper tray (30)Load paper to the 550-sheet paper tray (30)550-sheet paper tray paper orientation (32)Use alternative letterhead mode (35)Enable Alternative Letterhead Mode by using the printer control-panel menus (35)ivLoad paper to the 2 x 550-sheet paper trays (36)Load paper to the 2 x 550-sheet paper trays (36)2 x 550-sheet paper tray paper orientation (38)Use alternative letterhead mode (41)Enable Alternative Letterhead Mode by using the printer control-panel menus (41)Load paper to the 2,700-sheet high-capacity input paper trays (41)Load paper to the 2,700-sheet high-capacity input paper trays (41)2,700-sheet HCI paper tray paper orientation (43)Use alternative letterhead mode (45)Enable Alternative Letterhead Mode by using the printer control-panel menus (45)Load and print envelopes (46)Print envelopes (46)Envelope orientation (46)Load and print labels (47)Manually feed labels (47)Label orientation (48)3 Supplies, accessories, and parts (49)Order supplies, accessories, and parts (49)Ordering (49)Supplies and accessories (50)Maintenance/long-life consumables (51)Customer self-repair parts (51)Dynamic security (52)Configure the HP toner-cartridge-protection supply settings (53)Introduction (53)Enable or disable the Cartridge Policy feature (53)Use the printer control panel to enable the Cartridge Policy feature (54)Use the printer control panel to disable the Cartridge Policy feature (54)Use the HP Embedded Web Server (EWS) to enable the Cartridge Policy feature (54)Use the HP Embedded Web Server (EWS) to disable the Cartridge Policy feature (55)Troubleshoot Cartridge Policy control panel error messages (55)Enable or disable the Cartridge Protection feature (55)Use the printer control panel to enable the Cartridge Protection feature (56)Use the printer control panel to disable the Cartridge Protection feature (56)Use the HP Embedded Web Server (EWS) to enable the Cartridge Protection feature (56)Use the HP Embedded Web Server (EWS) to disable the Cartridge Protection feature (57)Troubleshoot Cartridge Protection control panel error messages (57)Replace the toner cartridges (58)T oner-cartridge information (58)Remove and replace the cartridges (59)Replace the imaging drums (62)Imaging drum information (62)Remove and replace the imaging drums (63)Replace the toner-collection unit (66)T oner-collection unit information (66)vRemove and replace the toner-collection unit (67)Replace the staple cartridge (M776zs model only) (70)Staple cartridge information (70)Remove and replace the staple cartridge (71)4 Print (73)Print tasks (Windows) (73)How to print (Windows) (73)Automatically print on both sides (Windows) (74)Manually print on both sides (Windows) (74)Print multiple pages per sheet (Windows) (75)Select the paper type (Windows) (75)Additional print tasks (76)Print tasks (macOS) (77)How to print (macOS) (77)Automatically print on both sides (macOS) (77)Manually print on both sides (macOS) (77)Print multiple pages per sheet (macOS) (78)Select the paper type (macOS) (78)Additional print tasks (79)Store print jobs on the printer to print later or print privately (79)Introduction (79)Create a stored job (Windows) (79)Create a stored job (macOS) (80)Print a stored job (81)Delete a stored job (81)Delete a job that is stored on the printer (81)Change the job storage limit (82)Information sent to printer for Job Accounting purposes (82)Mobile printing (82)Introduction (82)Wi-Fi, Wi-Fi Direct Print, NFC, and BLE printing (82)Enable wireless printing (83)Change the Wi-Fi Direct name (83)HP ePrint via email (83)AirPrint (84)Android embedded printing (85)Print from a USB flash drive (85)Enable the USB port for printing (85)Method one: Enable the USB port from the printer control panel (85)Method two: Enable the USB port from the HP Embedded Web Server (network-connectedprinters only) (85)Print USB documents (86)Print using high-speed USB 2.0 port (wired) (86)Method one: Enable the high-speed USB 2.0 port from the printer control panel menus (86)Method two: Enable the high-speed USB 2.0 port from the HP Embedded Web Server (network-connected printers only) (87)vi5 Copy (88)Make a copy (88)Copy on both sides (duplex) (90)Additional copy tasks (92)6 Scan (93)Set up Scan to Email (93)Introduction (93)Before you begin (93)Step one: Access the HP Embedded Web Server (EWS) (94)Step two: Configure the Network Identification settings (95)Step three: Configure the Send to Email feature (96)Method one: Basic configuration using the Email Setup Wizard (96)Method two: Advanced configuration using the Email Setup (100)Step four: Configure the Quick Sets (optional) (104)Step five: Set up Send to Email to use Office 365 Outlook (optional) (105)Introduction (105)Configure the outgoing email server (SMTP) to send an email from an Office 365 Outlookaccount (105)Set up Scan to Network Folder (108)Introduction (108)Before you begin (108)Step one: Access the HP Embedded Web Server (EWS) (108)Step two: Set up Scan to Network Folder (109)Method one: Use the Scan to Network Folder Wizard (109)Method two: Use Scan to Network Folder Setup (110)Step one: Begin the configuration (110)Step two: Configure the Scan to Network Folder settings (111)Step three: Complete the configuration (118)Set up Scan to SharePoint (118)Introduction (118)Before you begin (118)Step one: Access the HP Embedded Web Server (EWS) (118)Step two: Enable Scan to SharePoint and create a Scan to SharePoint Quick Set (119)Scan a file directly to a SharePoint site (121)Quick Set scan settings and options for Scan to SharePoint (122)Set up Scan to USB Drive (123)Introduction (124)Step one: Access the HP Embedded Web Server (EWS) (124)Step two: Enable Scan to USB Drive (124)Step three: Configure the Quick Sets (optional) (125)Default scan settings for Scan to USB Drive setup (126)Default file settings for Save to USB setup (126)Scan to email (127)Introduction (127)Scan to email (127)Scan to job storage (129)viiIntroduction (129)Scan to job storage on the printer (130)Print from job storage on the printer (132)Scan to network folder (132)Introduction (132)Scan to network folder (132)Scan to SharePoint (134)Introduction (134)Scan to SharePoint (134)Scan to USB drive (136)Introduction (136)Scan to USB drive (136)Use HP JetAdvantage business solutions (138)Additional scan tasks (138)7 Fax (140)Set up fax (140)Introduction (140)Set up fax by using the printer control panel (140)Change fax configurations (141)Fax dialing settings (141)General fax send settings (142)Fax receive settings (143)Send a fax (144)Additional fax tasks (146)8 Manage the printer (147)Advanced configuration with the HP Embedded Web Server (EWS) (147)Introduction (147)How to access the HP Embedded Web Server (EWS) (148)HP Embedded Web Server features (149)Information tab (149)General tab (149)Copy/Print tab (150)Scan/Digital Send tab (151)Fax tab (152)Supplies tab (153)Troubleshooting tab (153)Security tab (153)HP Web Services tab (154)Networking tab (154)Other Links list (156)Configure IP network settings (157)Printer sharing disclaimer (157)View or change network settings (157)Rename the printer on a network (157)viiiManually configure IPv4 TCP/IP parameters from the control panel (158)Manually configure IPv6 TCP/IP parameters from the control panel (158)Link speed and duplex settings (159)Printer security features (160)Introduction (160)Security statements (160)Assign an administrator password (160)Use the HP Embedded Web Server (EWS) to set the password (160)Provide user access credentials at the printer control panel (161)IP Security (161)Encryption support: HP High Performance Secure Hard Disks (161)Lock the formatter (161)Energy-conservation settings (161)Set the sleep timer and configure the printer to use 1 watt or less of power (161)Set the sleep schedule (162)Set the idle settings (162)HP Web Jetadmin (163)Software and firmware updates (163)9 Solve problems (164)Customer support (164)Control panel help system (165)Reset factory settings (165)Introduction (165)Method one: Reset factory settings from the printer control panel (165)Method two: Reset factory settings from the HP Embedded Web Server (network-connectedprinters only) (166)A “Cartridge is low” or “Cartridge is very low” message displays on the printer control panel (166)Change the “Very Low” settings (166)Change the “Very Low” settings at the control panel (166)For printers with fax capability (167)Order supplies (167)Printer does not pick up paper or misfeeds (167)Introduction (167)The printer does not pick up paper (167)The printer picks up multiple sheets of paper (171)The document feeder jams, skews, or picks up multiple sheets of paper (174)Clear paper jams (174)Introduction (174)Paper jam locations (174)Auto-navigation for clearing paper jams (175)Experiencing frequent or recurring paper jams? (175)Clear paper jams in the document feeder - 31.13.yz (176)Clear paper jams in Tray 1 (13.A1) (177)Clear paper jams in Tray 2 (13.A2) (182)Clear paper jams in the fuser (13.B9, 13.B2, 13.FF) (188)ixClear paper jams in the duplex area (13.D3) (194)Clear paper jams in the 550-sheet trays (13.A3, 13.A4) (199)Clear paper jams in the 2 x 550 paper trays (13.A4, 13.A5) (206)Clear paper jams in the 2,700-sheet high-capacity input paper trays (13.A3, 13.A4, 13.A5, 13.A7) (213)Resolving color print quality problems (220)Introduction (220)Troubleshoot print quality (221)Update the printer firmware (221)Print from a different software program (221)Check the paper-type setting for the print job (221)Check the paper type setting on the printer (221)Check the paper type setting (Windows) (221)Check the paper type setting (macOS) (222)Check toner-cartridge status (222)Step one: Print the Supplies Status Page (222)Step two: Check supplies status (222)Print a cleaning page (222)Visually inspect the toner cartridge or cartridges (223)Check paper and the printing environment (223)Step one: Use paper that meets HP specifications (223)Step two: Check the environment (223)Step three: Set the individual tray alignment (224)Try a different print driver (224)Troubleshoot color quality (225)Calibrate the printer to align the colors (225)Troubleshoot image defects (225)Improve copy image quality (233)Check the scanner glass for dirt and smudges (233)Calibrate the scanner (234)Check the paper settings (235)Check the paper selection options (235)Check the image-adjustment settings (235)Optimize copy quality for text or pictures (236)Edge-to-edge copying (236)Improve scan image quality (236)Check the scanner glass for dirt and smudges (237)Check the resolution settings (238)Check the color settings (238)Check the image-adjustment settings (239)Optimize scan quality for text or pictures (239)Check the output-quality settings (240)Improve fax image quality (240)Check the scanner glass for dirt and smudges (240)Check the send-fax resolution settings (242)Check the image-adjustment settings (242)Optimize fax quality for text or pictures (242)Check the error-correction setting (243)xSend to a different fax machine (243)Check the sender's fax machine (243)Solve wired network problems (244)Introduction (244)Poor physical connection (244)The computer is unable to communicate with the printer (244)The printer is using incorrect link and duplex settings for the network (245)New software programs might be causing compatibility problems (245)The computer or workstation might be set up incorrectly (245)The printer is disabled, or other network settings are incorrect (245)Solve wireless network problems (245)Introduction (245)Wireless connectivity checklist (245)The printer does not print after the wireless configuration completes (246)The printer does not print, and the computer has a third-party firewall installed (246)The wireless connection does not work after moving the wireless router or printer (247)Cannot connect more computers to the wireless printer (247)The wireless printer loses communication when connected to a VPN (247)The network does not appear in the wireless networks list (247)The wireless network is not functioning (247)Reduce interference on a wireless network (248)Solve fax problems (248)Checklist for solving fax problems (248)What type of phone line are you using? (249)Are you using a surge-protection device? (249)Are you using a phone company voice-messaging service or an answering machine? (249)Does your phone line have a call-waiting feature? (249)Check fax accessory status (249)General fax problems (250)The fax failed to send (250)No fax address book button displays (250)Not able to locate the Fax settings in HP Web Jetadmin (250)The header is appended to the top of the page when the overlay option is enabled (251)A mix of names and numbers is in the recipients box (251)A one-page fax prints as two pages (251)A document stops in the document feeder in the middle of faxing (251)The volume for sounds coming from the fax accessory is too high or too low (251)Index (252)xiPrinter overview1Review the location of features on the printer, the physical and technical specifications of the printer,and where to locate setup information.For video assistance, see /videos/LaserJet.The following information is correct at the time of publication. For current information, see /support/colorljM776MFP.For more information:HP's all-inclusive help for the printer includes the following information:●Install and configure●Learn and use●Solve problems●Download software and firmware updates●Join support forums●Find warranty and regulatory informationWarning iconsUse caution if you see a warning icon on your HP printer, as indicated in the icon definitions.●Caution: Electric shock●Caution: Hot surface●Caution: Keep body parts away from moving partsPrinter overview1●Caution: Sharp edge in close proximity●WarningPotential shock hazardReview this important safety information.●Read and understand these safety statements to avoid an electrical shock hazard.●Always follow basic safety precautions when using this product to reduce risk of injury from fire orelectric shock.●Read and understand all instructions in the user guide.●Observe all warnings and instructions marked on the product.●Use only a grounded electrical outlet when connecting the product to a power source. If you do notknow whether the outlet is grounded, check with a qualified electrician.●Do not touch the contacts on any of the sockets on the product. Replace damaged cordsimmediately.●Unplug this product from wall outlets before cleaning.●Do not install or use this product near water or when you are wet.●Install the product securely on a stable surface.●Install the product in a protected location where no one can step on or trip over the power cord.Printer viewsIdentify certain parts of the printer and the control panel.Printer front viewLocate features on the front of the printer.2Chapter 1 Printer overviewPrinter front view3Printer back viewLocate features on the back of the printer.Interface portsLocate the interface ports on the printer formatter. 4Chapter 1 Printer overviewControl-panel viewThe control panel provides access to the printer features and indicates the current status of the printer.NOTE:Tilt the control panel for easier viewing.The Home screen provides access to the printer features and indicates the current status of the printer.screens.NOTE:The features that appear on the Home screen can vary, depending on the printerconfiguration.Control-panel view5Figure 1-1Control-panel view?i 12:42 PM6Chapter 1 Printer overviewHow to use the touchscreen control panelPerform the following actions to use the printer touchscreen control panel.T ouchT ouch an item on the screen to select that item or open that menu. Also, when scrolling T ouch the Settings icon to open the Settings app.How to use the touchscreen control panel 7SwipeT ouch the screen and then move your finger horizontally to scroll the screen sideways.Swipe until the Settings app displays.Printer specificationsDetermine the specifications for your printer model.IMPORTANT:The following specifications are correct at the time of publication, but they are subject to change. For current information, see /support/colorljM776MFP .T echnical specificationsReview the printer technical specifications.Product numbers for each model ●M776dn - #T3U55A ●Flow M776z - #3WT91A ●Flow M776zs - #T3U56APaper handling specificationsPaper handling features Tray 1 (100-sheet capacity)Included Included Included Tray 2 (550-sheet capacity)IncludedIncludedIncluded8Chapter 1 Printer overview550-sheet paper trayOptional Included Not included NOTE:The M776dn models accept one optional550-sheet tray.Optional Included Included2 x 550-sheet paper tray and standNOTE:The M776dn models accept one optional550-sheet tray that may be installed on top of thestand.Optional Not included Not included2,700-sheet high-capacity input (HCI) paper trayand standNOTE:The M776dn models accept one optional550-sheet tray that may be installed on top of theoptional printer stand.Printer standOptional Not included Not included NOTE:The M776dn models accept one optional550-sheet tray that may be installed on top of theoptional printer stand.Inner finisher accessory Not included Not included Included Automatic duplex printing Included IncludedIncludedIncluded Included Included10/100/1000 Ethernet LAN connection with IPv4and IPv6Hi-Speed USB 2.0Included Included IncludedIncluded Included IncludedEasy-access USB port for printing from a USBflash drive or upgrading the firmwareIncluded Included Included Hardware Integration Pocket for connectingaccessory and third-party devicesHP Internal USB Ports Optional Optional OptionalOptional Optional OptionalHP Jetdirect 2900nw Print Server accessory forWi-Fi connectivity and an additional Ethernet portOptional IncludedIncludedHP Jetdirect 3100w accessory for Wi-Fi, BLE, NFC,and proximity badge readingPrints 45 pages per minute (ppm) on Letter-sizepaper and 46 ppm on A4-size paperEasy-access USB printing for printing from a USBIncluded Included Includedflash driveT echnical specifications9Included Included Included Store jobs in the printer memory to print later orprint privatelyScans 100 pages per minute (ppm) on A4 andIncluded Included Included letter-size paper one-sidedIncluded Included Included 200-page document feeder with dual-headscanning for single-pass duplex copying andscanningNot included Included Included HP EveryPage T echnologies including ultrasonicmulti-feed detectionNot included Included Included Embedded optical character recognition (OCR)provides the ability to convert printed pages intotext that can be edited or searched using acomputerIncluded Included Included SMART Label feature provides paper-edgedetection for automatic page croppingIncluded Included Included Automatic page orientation for pages that haveat least 100 characters of textIncluded Automatic tone adjustment sets contrast,Included Includedbrightness, and background removal for eachpageIncluded Included Includedfolders on a networkIncludedSend documents to SharePoint®Included IncludedIncluded Included Included NOTE:Memory reported on the configurationpage will change from 2.5 GB to 3 GB with theoptional 1 GB SODIMM installed.Mass storage: 500 GB hard disk drive Included Included IncludedSecurity: HP Trusted Platform Module (TPM)Included Included IncludedT ouchscreen control panel Included Included IncludedRetractable keyboard Not included Included Included 10Chapter 1 Printer overviewFax Optional Included IncludedSupported operating systemsUse the following information to ensure printer compatibility with your computer operating system.Linux: For information and print drivers for Linux, go to /go/linuxprinting.UNIX: For information and print drivers for UNIX®, go to /go/unixmodelscripts.The following information applies to the printer-specific Windows HP PCL 6 print drivers, HP print driversfor macOS, and to the software installer.Windows: Download HP Easy Start from /LaserJet to install the HP print driver. Or, go tothe printer-support website for this printer: /support/colorljM776MFP to download the printdriver or the software installer to install the HP print driver.macOS: Mac computers are supported with this printer. Download HP Easy Start either from /LaserJet or from the Printer Support page, and then use HP Easy Start to install the HP print driver.1.Go to /LaserJet.2.Follow the steps provided to download the printer software.Windows 7, 32-bit and 64-bit The “HP PCL 6” printer-specific print driver is installed for this operating system aspart of the software installation.Windows 8.1, 32-bit and 64-bit The “HP PCL-6” V4 printer-specific print driver is installed for this operating systemas part of the software installation.Windows 10, 32-bit and 64-bit The “HP PCL-6” V4 printer-specific print driver is installed for this operating systemas part of the software installation.Windows Server 2008 R2, SP 1, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2012, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2012 R2, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2016, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Windows Server 2019, 64-bit The PCL 6 printer-specific print driver is available for download from the printer-support website. Download the driver, and then use the Microsoft Add Printer tool toinstall it.Supported operating systems11macOS 10.13 High Sierra, macOS 10.14 MojaveDownload HP Easy Start from /LaserJet , and then use it to install the print driver.NOTE:Supported operating systems can change.NOTE:For a current list of supported operating systems and HP’s all-inclusive help for the printer, go to /support/colorljM776MFP .NOTE:For details on client and server operating systems and for HP UPD driver support for this printer, go to /go/upd . Under Additional information , click Specifications .●Internet connection●Dedicated USB 1.1 or 2.0 connection or a network connection● 2 GB of available hard-disk space ●1 GB RAM (32-bit) or2 GB RAM (64-bit)●Internet connection●Dedicated USB 1.1 or 2.0 connection or a network connection●1.5 GB of available hard-disk spaceNOTE:The Windows software installer installs the HP Smart Device Agent Base service. The file size is less than 100 kb. Its only function is to check for printers connected via USB hourly. No data is collected. If a USB printer is found, it then tries to locate a JetAdvantage Management Connector (JAMc) instance on the network. If a JAMc is found, the HP Smart Device Agent Base is securelyupgraded to a full Smart Device Agent from JAMc, which will then allow printed pages to be accounted for in a Managed Print Services (MPS) account. The driver-only web packs downloaded from for the printer and installed through the Add Printer wizard do not install this service.T o uninstall the service, open the Control Panel , select Programs or Programs and Features , and then select Add/Remove Programs or Uninstall a Programto remove the service. The file name isHPSmartDeviceAgentBase.Mobile printing solutionsHP offers multiple mobile printing solutions to enable easy printing to an HP printer from a laptop, tablet, smartphone, or other mobile device.T o see the full list and to determine the best choice, go to /go/MobilePrinting .NOTE:Update the printer firmware to ensure all mobile printing capabilities are supported.●Wi-Fi Direct (wireless models only, with HP Jetdirect 3100w BLE/NFC/Wireless accessory installed)●HP ePrint via email (Requires HP Web Services to be enabled and the printer to be registered with HP Connected)●HP Smart app ●Google Cloud Print12Chapter 1 Printer overview。
eclipse 常用插件安装地址博客分类:javaEclipsemave nAn droidiBATISIDE1.安装Subclipse要安装Subclipse,使用下面的Eclipse插件更新站点。
Subclipse 1.6: http://subclipse.tigris.0rg/update_1.6.x2.m2eclipsem2eclipse 插件:/sites/m2e3ibatisabator 插件:/tools/abator4tomcat下载tomcatPluginV321 插件直接解压放到eclipse的plugins下即可重启首选项里配置tomcat在本地的路径5an droid安装an droid eclipse 插件地址:https://dl-ssl.google.eom/a ndroid/eclipse/6jbpm4下载jbpm-gpd-site.zip然后在eclipse里指定本地安装插件即可评论2 楼xiuying 2010-10-28 weblogic 插件eclipse3.5http://dow nl /ot n_software/oepe/galileoeclipse3.6http://dow nl /ot n_software/oepe/helios1 楼xiuyi ng 2010-10-28eclipse3.6.1 安装m2eclipse 插件(转):一、eclipse 3.6.1 下载地址[eclipse-jee-helios-SR1-win32.zip]/dow nloads/packages/eclipse-ide-java-ee-developers/he liossr1二、插件地址1、gef插件地址:/tools/gef/updates/i nterim/实际测试发现eclipse 3.6.1已经安装gef,仅仅缺少zest插件,最小安装zest的run time 即可,地址如下:/dow nloads/dow nload.php?file=/tools/gef/dow nloads/drops/3.6.1/R201009132020/GEF-zest-3.6.1.zip在没有安装zest插件的话,直接安装m2eclipse插件会报出缺少依赖的错误,信息如下:Cannot complete the in stall because one or more required items could not be found.Software being in stalled: Mave n In tegrati on for Eclipse (Required)0.10.0.20100209-0800 (org.mave n.ide.eclipse.feature.feature.group0.10.0.20100209-0800)Miss ing requireme nt: Mave n In tegrati on for Eclipse (Editors)0.10.0.20100209-0800 (org.mave n.ide.eclipse.editor 0.10.0.20100209-0800) requires 'bun dle org.eclipse.zest.core 0.0.0' but it could not be foundCannot satisfy depe ndency:From: Maven In tegration for Eclipse (Required) 0.10.0.20100209-0800(org.mave n.ide.eclipse.feature.feature.group 0.10.0.20100209-0800)To: org.mave n.ide.eclipse.editor [0.10.0.20100209-0800]2、subclipse 插件地址:/update_1.6.x实际测试subclipse不安装也是可以的.3、maven2 插件地址:m2eclipse-core Update Site: http://m2eclipse.s on /sites/m2e m2eclipse-extras Update Site: http://m2eclipse.s on /sites/m2e-extras注意:必须两个插件都安装,不安装extras插件时,点击一run as server来运server mave n project II二、安装时出现冋题:直接在线安装maven2会出现依赖插件找不到的问题,无法安装。
Package‘modelObj’October13,2022Type PackageTitle A Model Object Framework for Regression AnalysisVersion4.2Date2022-06-05Author Shannon T.HollowayMaintainer Shannon T.Holloway<****************************>Description A utility library to facilitate the generalization of statistical methods built on a regres-sion framework.Package developers can use'modelObj'methods to initiate a regression analy-sis without concern for the details of the regression model and the method to be used to ob-tain parameter estimates.The specifics of the regression step are left to the user to de-fine when calling the function.The user of a function developed within the'modelObj'frame-work creates as input a'modelObj'that contains the model and the R methods to be used to ob-tain parameter estimates and to obtain predictions.In this way,a user can easily go from lin-ear to non-linear models within the same package.Depends methodsSuggests stats,graphicsLicense GPL-2Encoding UTF-8NeedsCompilation noRoxygenNote7.1.1Collate'methodObj.R''methodObjPredict.R''methodObjSolver.R''methodObjSolverFormula.R''modelObj.R''modelObjFormula.R''methodObjSolverXY.R''modelObjXY.R''buildModelObj.R''modelObjFit.R''warnMsg.R'Repository CRANDate/Publication2022-06-0708:30:09UTCR topics documented:buildModelObj (2)fit (4)1fitObject (5)model (6)modelObj (7)modelObjFit-class (8)predict (9)predictor (10)predictorArgs (11)solver (11)solverArgs (12)Index14 buildModelObj Create an Object of Class modelObjDescriptionA utility function to transfer user defined models and estimation methods to an object of classmodelObj.UsagebuildModelObj(model,solver.method=NULL,solver.args=NULL,predict.method=NULL,predict.args=NULL)Argumentsmodel An object of class formula;the model.solver.method An object of class character specifying the name of the R function to be used to obtain parameter estimates.Or,the function to be used to obtain parameterestimates.For example,‘lm’,‘glm’,or‘rpart’.The specified modeling functionMUST have a corresponding predict method.solver.args An object of class list containing additional arguments to be sent to solver.method.Arguments must be provided as a list,where the name of each element matchesa formal argument of solver.method.For example,if a logistic regression usingglm is desired,solver.method=“glm”solver.args=list(“family”=binomial)A solver.method can takes formal arguments’formula’and’data’as inputs,suchas lm and glm.Some R methods do not use formal names’formula’and’data’;a user can indicate if a different naming convention is used for these two inputarguments.For example,if a method expects the formula object to be passedthrough input variable x,solver.args<-list("x"="formula")A solver.method can also take formal arguments’x’and’y’as inputs,such asglmnet.Some R methods do not use formal names’x’and’y’to indicate the co-variate and response;a user can indicate if a different naming convention is usedfor these two input arguments.For example,if a method expects the covariatematrix to be passed through input variable X,solver.args<-list("X"="x") predict.method A character.The name of the R function or the function to be used to obtainpredictions.For example,‘predict.lm’,‘predict’,or‘predict.glm’.If no functionis explicitly given,the generic predict is assumed.For many methods,thegeneric method is appropriate.predict.args A list.Additional arguments to be sent to predict.method.This must be pro-vided as a list,where the name of each element matches a formal argument ofpredict.method.For example,if a logistic regression using glm was used tofitthe model formula object and predictions on the scale of the response are de-sired,predict.method=“predict.glm”predict.args=list(“type”=“response”).It is assumed that the predict.method has formal arguments“object"and“new-data".If predict.method does not use these formal arguments,predict.args mustexplicitly indicate the variable names used for these inputs.For example,list(“newx"=“newdata")if the new data is passed to predict.method through input argument“newx".DetailsUnless changed by the user in solver.args and/or predict.args,default settings are assumed for thespecified regression and prediction methods.ValueAn object of class modelObjFormula or modelObjXY,which inherit directly from modelObj.Examples#----------------------------------------------------##Create modeling object using a formula#----------------------------------------------------#mo<-buildModelObj(model=Y~X1+X2+X3+X4,solver.method= lm ,predict.method= predict.lm ,predict.args=list(type= response ))4fit fit Obtain parameter estimatesDescriptionPerforms specified regression analysis.Usagefit(object,data,response,...)##S4method for signature modelObj,data.framefit(object,data,response,...)Argumentsobject An object of class modelObj as returned by the buildModelObj function.data An object of class data.frame containing the variables in the model.response An object of class vector containing the response variable....ignoredDetailsIf defined by the modeling function,the following methods can be applied to the value object returned:coef,plot,predict,print,residuals,show,and summary.ValueAn object of class modelObjFit,which contains the object returned by the modeling function and the method to be used to obtain predictions.Examples#generate dataX<-matrix(rnorm(1000,0,1),ncol=4,dimnames=list(NULL,c("X1","X2","X3","X4")))Y<-X%*%c(0.1,0.2,0.3,0.4)+rnorm(250)X<-data.frame(X)#create modeling object using a formulamo<-buildModelObj(model=Y~X1+X2+X3+X4,solver.method= lm )#fit modelfit.obj<-fit(object=mo,data=X,response=Y)fitObject5coef(fit.obj)head(residuals(fit.obj))plot(fit.obj)head(predict(fit.obj,X))summary(fit.obj)fitObject Retrieve Regression ObjectDescriptionRetrieves the value object returned by the regression method used to obtain parameter estimates. UsagefitObject(object,...)##S4method for signature ANYfitObject(object,...)##S4method for signature modelObjFitfitObject(object,...)Argumentsobject An object of class modelObjFit....ignored.DetailsThis function is useful for accessing methods that are defined by the regression method but are not directly accessible from the modelObjFit object.For example,for many regression methods,users can retrieve thefitted values by callingfitted.values(object).This method is not directly accessible from a modelObjFit.However,fitted.values()can be applied to the object returned byfitObject().ValueThe Value returned by the regression method specified in the governing modelObj.The exact structure of the value will depend on the regression method.For example,if nls()is the regression method,a list is returned.6modelExamples#Generate dataX<-matrix(rnorm(1000,0,1),ncol=4,dimnames=list(NULL,c("X1","X2","X3","X4")))Y<-X%*%c(0.1,0.2,0.3,0.4)+rnorm(250)X<-data.frame(X)#Create modeling object using a formulamo<-buildModelObj(model=Y~X1+X2+X3+X4,solver.method= lm )#Fit modelfit.obj<-fit(object=mo,data=X,response=Y)obj<-fitObject(fit.obj)fobj<-fitted.values(obj)head(fobj)model Retrieve modelDescriptionRetrieves model from modelObjUsagemodel(object,...)##S4method for signature ANYmodel(object,...)##S4method for signature modelObjmodel(object,...)##S4method for signature modelObjFitmodel(object,...)Argumentsobject A modelObj object...ignoredmodelObj7 ValueThe formula for the regressionmodelObj Class modelObjDescriptionA class for model objects.DetailsObjects should not be created directly.The utility function buildModelObj()should be used.Slotsmodel Object of class formulasolver Object of class methodObjSolver method to obtain parameter estimates.predictor Object of class methodObjPredict method to obtain predicted values.Methodsfit:Executes regression step.model:Retrieve model.solver:Retrieve regression method name.solverArgs:Retrieve arguments to be sent to regression method.solverArgs(object)<-:Set arguments to be sent to regression method.predictor:Retrieve prediction method name.predictorArgs:Retrieve arguments to be sent to prediction method.predictorArgs(object)<-:Set arguments to be sent to prediction method.ExamplesshowClass("modelObj")8modelObjFit-class modelObjFit-class Class modelObjFitDescriptionA class for storing regression analysis results.Usage##S4method for signature modelObjFitcoef(object,...)##S4method for signature modelObjFitplot(x,y,...)##S4method for signature modelObjFitprint(x)##S4method for signature modelObjFitresiduals(object,...)##S4method for signature modelObjFitshow(object)##S4method for signature modelObjFitsummary(object,...)Argumentsobject An object of class modelObjFit...passed to underlying method defined for regression value object.x An object of class modelObjFity ignoredMethods(by generic)•coef:Extract Model Coefficients•plot:X-Y plotting•print:Print regression results•residuals:Extract residuals•show:Show regression results•summary:Show summary resultspredict9SlotsfitObj Object returned by the regression analysismodelObj Object of class modelObj.MethodsfitObject:Extracts regression step.model:Retrieve model.solver:Retrieve regression method name.solverArgs:Retrieve arguments to be sent to regression method.solverArgs(object)<-:Set arguments to be sent to regression method.predictor:Retrieve prediction method name.predictorArgs:Retrieve arguments to be sent to prediction method.predictorArgs(object)<-:Set arguments to be sent to prediction method.ExamplesshowClass("modelObjFit")predict Model PredictionsDescriptionPredictions from the results of afit object.Usagepredict(object,...)##S4method for signature modelObjFitpredict(object,newdata,...)Argumentsobject An object of class modelObjFit as returned by thefit()function.newdata An object of class data.frame containing the variables in the model....ignoredValueModel predictions,the form of which depend on the regression analysis.10predictorExamples#generate dataX<-matrix(rnorm(1000,0,1),ncol=4,dimnames=list(NULL,c("X1","X2","X3","X4")))Y<-X%*%c(0.1,0.2,0.3,0.4)+rnorm(250)X<-data.frame(X)#create modeling object using a formulamo<-buildModelObj(model=Y~X1+X2+X3+X4,solver.method= lm )#fit modelfit.obj<-fit(object=mo,data=X,response=Y)predict(fit.obj)predict(fit.obj,newdata=X[1:10,])predictor Retrieve Prediction MethodDescriptionRetrieves method for prediction analysisUsagepredictor(object,...)##S4method for signature modelObjpredictor(object,...)##S4method for signature modelObjpredictor(object,...)##S4method for signature modelObjFitpredictor(object,...)Argumentsobject A modelObj object...ignoredValueAn object of class character or functionpredictorArgs11 predictorArgs Retrieve Predictor ArgumentsDescriptionRetrieves the arguments that are to be passed to the prediction method when called.UsagepredictorArgs(object,...)##S4method for signature modelObjpredictorArgs(object,...)predictorArgs(object)<-value##S4replacement method for signature ANY,ANYpredictorArgs(object)<-value##S4replacement method for signature modelObj,listpredictorArgs(object)<-value##S4method for signature modelObjFitpredictorArgs(object,...)Argumentsobject A modelObj object...ignoredvalue List to be stored in argsValueA listsolver Retrieve Solver MethodDescriptionRetrieves method for regression analysisUsagesolver(object,...)##S4method for signature ANYsolver(object,...)##S4method for signature modelObjsolver(object,...)##S4method for signature modelObjFitsolver(object,...)Argumentsobject A modelObj object...ignoredValueAn object of class character or functionsolverArgs Retrieve Solver ArgumentsDescriptionRetrieves the arguments that are to be passed to the regression method when called. UsagesolverArgs(object,...)##S4method for signature ANYsolverArgs(object,...)##S4method for signature modelObjsolverArgs(object,...)solverArgs(object)<-value##S4replacement method for signature ANY,ANYsolverArgs(object)<-value##S4replacement method for signature modelObj,listsolverArgs(object)<-value##S4method for signature modelObjFitsolverArgs(object,...)Argumentsobject A modelObj object...ignoredvalue List to be stored in args ValueA listIndexbuildModelObj,2coef,modelObjFit-method(modelObjFit-class),8fit,4fit,modelObj,data.frame-method(fit),4 fitObject,5fitObject,ANY-method(fitObject),5 fitObject,modelObjFit-method(fitObject),5model,6model,ANY-method(model),6model,modelObj-method(model),6 model,modelObjFit-method(model),6 modelObj,3,7modelObjFit-class,8 modelObjFormula-class(modelObj),7 modelObjXY-class(modelObj),7plot,modelObjFit-method(modelObjFit-class),8 predict,9predict,modelObjFit-method(predict),9 predictor,10predictor,modelObj-method(predictor), 10predictor,modelObjFit-method(predictor),10 predictorArgs,11predictorArgs,modelObj-method(predictorArgs),11 predictorArgs,modelObjFit-method(predictorArgs),11 predictorArgs<-(predictorArgs),11 predictorArgs<-,ANY,ANY-method(predictorArgs),11 predictorArgs<-,modelObj,list-method (predictorArgs),11print,modelObjFit-method(modelObjFit-class),8residuals,modelObjFit-method(modelObjFit-class),8show,modelObjFit-method(modelObjFit-class),8solver,11solver,ANY-method(solver),11solver,modelObj-method(solver),11solver,modelObjFit-method(solver),11solverArgs,12solverArgs,ANY-method(solverArgs),12solverArgs,modelObj-method(solverArgs),12solverArgs,modelObjFit-method(solverArgs),12solverArgs<-(solverArgs),12solverArgs<-,ANY,ANY-method(solverArgs),12solverArgs<-,modelObj,list-method(solverArgs),12summary,modelObjFit-method(modelObjFit-class),814。
GEAMAS V2.0: an Object Oriented Platformfor Complex Systems Simulations.JC. Soulié, P. Marcenac, S. Calderoni and R. CourdierMAS2 Team - IREMIA, University of La Réunion, BP 715197715 St Denis Cedex 9 - FranceEmail: {soulie, marcenac, calde, courdier}@univ-reunion.frUrl: http://www.univ-reunion.fr/~mas2AbstractThis paper presents the object oriented design and implementation of GEAMAS V2.0, a toolkit for virtual simulations of complex systems. GEAMAS V2.0 is structured in three modules: the Kernel, the Generation Environment and the Simulation Environment. The Kernel implements an object model for agents and provides generic classes. The Generation Environment allows the graphical design of applications. The Simulation Environment enables the observation of the simulation’s evolution via Graphical User Interface tools. The implementation uses Java 1.1. We applied GEAMAS V2.0 to the sand-pile automaton problem. This reference application, which is easily modeled with GEAMAS V2.0, provides a first validation of our system architecture and simulation mechanism.1. IntroductionThe great complexity of natural systems constitutes a challenge for computer science modeling. This kind of tools is meant for researchers who need to validate complex models, without having to implement the whole application by their own. This work tries to answer some lacks in the framework of complex systems modeling, by providing a development environment reducing complexity of the system tackled. Resulting systems then provide behavior emerging from local interactions between simple components. Because of this complexity, our team has developed a generic architecture based on agent modeling called GEAMAS, acronym of GEneric Architecture for Multi-Agent Simulation.Our team obtain promising results [4] [7] [10] with dedicated application developped with agent technologies on Smalltalk-80. This was the first prototypal version of GEAMAS called GEAMAS V1.0. Two simulation applications of physical processes have developped: the first one investigated volcano eruptions predicting; the second one reports a very interesting experience dealing with the emergence of natural structures by simulation. But with the growth of Internet, we want to develop software systems whose can be accessible by everyone on the net. That's why we decided not only to port our model in Java but to create a set of tools whose can help scientists or researchers working on the agent approach. This new version of GEAMAS is called GEAMAS V2.0.GEAMAS V2.0 is structured in three modules: the Kernel which provides generic agents and society, the Generation Environment which allows the graphical design of new applications, and the Simulation Environment which allows the observation of the simulation’s evolution. These two environment relied on the GEAMAS V2.0’s core: the Kernel. The design of GEAMAS V2.0 has been tackled with an OMT approach [14] and has led to implement three abstraction level: a micro-level, describing atomic an ddeterminist behaviors in simple (reactive) agents; a medium-level, arranging intermediate structures; and a macro-level called society, describing the whole system where emerging behavior will be observed and analyzed.Our proposal relies on the fact that the asked question is not "what happened?" or even "what might have happened?", but rather "what are sufficient conditions for a given result to be obtained?". The aim of the platform is then to provide a complete toolkit as a virtual laboratory [12] for designing a large scope of dynamic systems, and providing generic interfaces to set and control the simulation. This kind of tool is meant for researchers needing to simulate complex systems, without to implement the whole application by their own.This paper is organized as followed. Section 2 describes briefly the engineering and the abstraction level of GEAMAS V2.0. Section 3 details GEAMAS's Kernel, including OMT models, and Java code samples. Section 4 details the Generation Environment and the Simulation Environment of GEAMAS V2.0.2. Engineering and Abstraction LevelThe objectives are here to separate language and agents features from application definition, and finally application from simulation represented by instancesFigure 1. gives an overview of the GEAMAS V2.0 which is briefly exposed in this section,before being detailed in the next one.Knowledge Abstraction LevelFigure 1. An overview of GEAMAS V2.0Horizontally, GEAMAS V2.0 is based on three software engineering layers:• The Language Layer, describing Java as an object-oriented language [8] [15], which has been choosen to implement GEAMAS V2.0. There are three leading reasons of this choice:− The clarity and cleanness of the language according to the object-oriented philosophy (all-object, static and dynamic inheritance, dynamic overloading,polymorphism, …) as well as useful utilities for agent's implementation, such asthreads;− Java program are compiled to an architecture neutral byte-code. A Java application can run on any system which implements the Java Virtual Machine (JVM);− The necessity to deliver our applications through Applets, which is small, subordinate or embeddable application to be run within the context of a largerapplication such as a web browser for instance [13]. Moreover Applets are secured:they can not access to the local file system. Such kind of access are managed by theSecurityManager class.• The Agent Layer, adding agents capacities to Java, that is independence, autonomy and evolution features. Independence allows the agent to process tasks without explicitly receiving the order. Action are performed through passing asynchronous messages.At the same time, an agent is given an autonomous part which can control its behavior.The autonomous part of an agent determines its self-governing and decentralizes the control of the system behavior: an agent is able to take an initiative and exercise a flexible degree of control over its own actions, by dynamically choosing which action to invoke. An agent also evolves during its life, due to relationships kept with other agents.• Finally, the GUI Layer, hiding the complexity of the environment to the user, by introducing interfaces needed to setup applications and derive simulations. The GUI Layer contributes to integrate the platform as a toolkit and a virtual laboratory for complex systems simulation purposes.The platform is also vertically based on four knowledge abstraction layers:• The Object Layer is the language layer. It is composed of each Java class being used or derived to implement the sub-abstraction layer. Figure 1. illustrates some of these classes, for instance: Thread allowing parallel tasking, Observer indicating that a class is going to be observed, or Vector which allows to dynamically manage list of instance.The GEAMAS Layer which constitutes the heart of GEAMAS V2.0. It includes a specific architecture (composed of a macro-agent, medium-agents and micro-agents) as well as agent and society models.• The Application Layer can be seen as the result of the GEAMAS Layer applied on a specific domain. An application is therefore understood as a real world translation in terms of agents following the model implemented in the GEAMAS Layer. Building an application then consists in describing the real world by deriving some or all classes of the previous layer by using The Generation Environment. The Application Layer is a set of classes, whose definitions are built by the generator.• The Simulation Layer is the instance level of the application. It defines a set of instances of classes. Instanciation of such classes is graphically set with the help of the simulator editor, that proposes some fill-in-the-blanks windows to set each parameter value.The next section describes the heart of the GEAMAS Layer named Kernel in the GEAMAS V2.0 architecture. We detail internal mechanisms, the OMT model, and the Java implementation.3. Architecture and Implementation of the GEAMAS V2.0's Kernel3.1 Architecture and MechanismsThe architecture of the Kernel is based on three abstraction levels [11]. Figure 2. gives an overview of the three levels.Each successive level represents a higher level of abstraction. Each abstraction level describes a degree of knowledge complexity and applies a model of agents through the expression of knowledge, behavior and evolution capabilities. Each level is independent executing processes asynchronously and representing a higher level of abstraction than the one below it. Furthermore, the architecture implements the recursion property to greatly reduce the design of the system, by applying the same agent-model to coarse-grain and fine-grain agents. To tackle the relation between individual and collective, two fundamental mechanisms are introduced: Decomposition and Recomposition. Decomposition allows to transfer informations to lower levels, until Recomposition allows to transfer information tohigher levels [10].Figure 2. Architecture with three abstraction levels• The Macro-Level: describes a coarse-grain agent, as a related element in which the global behavior will be observed. It holds on the underlying agent's organization in a society. In multi-agent systems, such an organization has no reason to be if it is unable to represent interactions facilities between agents. The society is therefore organized as a network of acquaintances, allowing agents to interacts together and is named macro-agent.• The Micro-Level: describes fine-grain-agents, that is reactive agents [5] [6], called micro-agents. Each micro-agent generates behavior without explicit representation ofthe domain neither global tasks constraints. At run time, micro-agents interact in a concurrent way with their surroundings. The Micro-Level then masks the complexity of the whole system by encapsulating basic actions.• The Medium-Level: however, as we seen it before, a complex system integrates a chaotic dimension: the critical state of the system leads to "catastrophes". Our assumptions are then to consider the critical state as assigned to particular states of micro-agents, and the catastrophe to a spatio-temporal aggregation, in some particular context and environment, and under specific conditions, of micro-agents taking part to the phenomenon. Those agents are named medium-agents and represents cognitive-agents.Our proposal is to consider the result of this spatio-temporal aggregation as an emergent phenomenon, created by self-organization in the multi-agent system. Self-organization is a dimension of complexity and an important feature of evolutionary systems. It is assigned to the appearance in a specific context and in an active environment, of new structures not previously identified, and from now on irreversible within a system of interacting entities.Therefore, the main issue is to represent and characterize self-organization result, born from local interactions between agents. Considering a two-levels architecture in the system makes the catastrophes modeling tasks difficult in the system, and this for two reasons. On the one hand, as micro-level is described by fine-grain agents, the organization of new structures can not be processed in such a microscopic level, having not enough knowledge to do so. Beyond this microscopic dimension, emergent structures can only arise in one macroscopic level, disposing of missing knowledge. On the other hand, it is often impossible for a macro-level to characterize and correctly identify the whole set of emergent structures. Indeed, available knowledge in macro-agent is too imprecise, and as a matter of fact, a significant number of micro-agents could intervene in the whole emergence process.It is then skillful to introduce an intermediate grain level between the macro-level and the micro-level, embedded as sub-organizations. This medium level is designed before the simulation begins by giving sub-organizations' structure and behavior. This point of view enforces the necessity of finding the most efficient abstraction when designing this level, which is totally dependent of context tackled [2]. However, such medium-agents are not dynamically pre-defined in the system because they spontaneously appear during the simulation as the result of self-organization. When self-organization arises (meaning that the system's critical state is reached), a new medium-agent will be created within the system to model the "catastrophe".This approach seems handy, because it allows to consider the "catastrophe" as an entire entity able to compute its own properties. Moreover, it is at the right place to distribute new computed values after the critical point in order to constraint the affected part of the system. Medium-agent's properties are computed and set when the organization has been built. Such properties are then "re-introduced" in underlying lower-level agents as constraints to apply in their own structure, this mechanism is called "back-propagation". That’s why, a medium-agent is playing a causal role for the rest of the simulation, by constraining a part of the system.3.2 Working3.2.1 Global working: two fundamental mechanisms are identified: firstly, a set of decomposition mechanisms which allows a global input event to be distributed over the network in order to be performed by lower level agents; secondly, the part of the self-organization mechanisms needed to create, manage, and preserve consistency of medium-agent during phenomena emergence.Decomposition general mechanisms: three tasks are carried out when distributing events over the networks. Firstly, a process called Decomposition, able to propagate a message to underlying agents. Decomposition allows informations to be transferred in lower levels of the architecture. When receiving a Decomposition message, the agent gets information given by its society. A Decomposition message could specify that an external event is to be performed by lower level agents. This type of message helps micro-agents to be ready to perform the event. The event is thus divided up, and "sub-events" are transferred to micro-agents which are the best able to process them. Conversely, there may be laws or knowledge on a macro-level that must be observed by micro-agents, for instance, knowledge that constrains micro-agents moves. A society is at the right place to express such knowledge; it may constraint part of the state and behavior of their subordinate micro-agents, either by acting on the world structure or on individual micro-agents. Secondly, a process able to find the handling underlying agents which can perform an event, according to those able to receive external solicitations in the organization. It defines a process responsible for localizing the necessary agents to perform an event type that remains consistent with the current goal of the society. Thirdly, a filtering function receives an external in input and provides "discretized" sub-events in output. Such a function is application-relative, as the way to transform an event in such tiny simulated events can not be generic anyway.Global self-organization mechanisms: when self organization is needed to represent emergent phenomena, the global mechanism is used to create a medium-agent aggregating some micro-agents, or adding them to an existing one. Beyond this mechanism, back propagation aims a feedback reaction at medium-agent's members, by computing appropriate values to the new agent's state. Setting new properties in a medium-agent becomes easy at this point, mainly because the global creation mechanism can pick up information from lower-level. Therefore, when the emergent structure back-propagates a constraint, it forces the behavior of underlying agents by applying them some of its properties. This view is very close to reality: during an eruption for instance, each magma lens releases energy and moves into the system. The remaining energy is then low, and such micro-agents should be properly re-initialized so that the whole system behavior might be modified accordingly.3.2.2 Local Working: recomposition is the "bottom-up" mechanism which is at the root of emergent behaviors of the system. It transfers informations on the agent's stability from micro-level to macro-level. State parameters values evolve during the simulation, based on multiple local interactions between micro-agents. When a threshold is reached, the agent is assumed to be unstable, and information is then transferred to the agent's society with a Recomposition message. Therefore, a Recomposition message is provided by micro-agents to alert the society that something unusual is happening. Shifting from the micro-level up to the upper-level, the society collects data on microbehaviors and combines them to determine macrobehaviors and then adapts itself to the situation. Recomposition then requires the society some abilities to interpret informations at low-levels. A higher level behavior then emerges from such ability. In such sense, the dynamic of low-level agents governs emerging behaviors.Local self-organization mechanism: a local detection mechanism, distributed over micro-agents, is locally implemented to detect and identify an effective cooperation between interacting agents leading to an emergent phenomenon. At the time an interaction occurs, an agent A looks for agent B's intentions. Then a local observer mechanism compares agentA's intention with those of agent B. As the similarity is detected, a cooperation is then established, and both agents get organized for a common purpose. From this self-organization, locally emerges an organizational structure that has never been described in the system before [2]. When the phenomenon stops, a mechanism in charge of ending the process examines the neighborhood to look at potential agents not enough stable (and able to propagate again the phenomenon). This mechanism is called an observer. In traditional multi-agent systems, the observer is usually implemented as a global loop inserted over the system or as a part of the society, to inspect the stability of underlying agents forming the structure. In our architecture the programmed observer is distributed and locally defined [10].3.3 ImplementationThe heart of the Kernel is composed of the Society Model Unit describing the global view of the multi-agents system, the Agent Model Unit describing local behaviors and interactions. Another important part of the Agent Model Unit is an unit called Agent System Unit. This unit allows the Simulation Environment to observe the multi-agents system's evolution.3.3.1 Society Model Unit: the macro-level manages agents in the system in order to match global specifications of the application and is inscribed in a model called the society model. The society model describes the role, the interface and the whole organization of the systems: the system's role is expressed through behaviors (global events and global constraints); the interface with the external world (software, human, ...) describes input and output parameters for simulation needs; and the organization is managed through in a structure of inter-related agents.The society model has a global vision of all the micro-agents and medium-agents. And these agents are evolving and interacting together during a simulation. The organization is defined as the description of agent's dynamic relationships used to structure interactions within the system. The structure is then organized as a network of acquaintances, forming a competence network, where agents correspond to nodes and interaction possibilities (acquaintances relationships) to edges. The choice of a network as data structure to organized agents is justify by its flexibility and its general nature to be adapted to several situations [10]. In addition it allows the description of some real world topologic representation, where the geometry can be implicitly represented. Indeed, the acquaintances number of each agent determines the topology, and constitutes a very interesting feature, showing how a real world could be designed as a three dimensional network. The parameter is called the agent's connectivity. As connections determine the ability of an agent to communicate, a part of the communication protocol is then defined by setting this parameter.In addition, some more information has been added in the graph: firstly, edges could be strengthened to take the signal intensity between two agents into account. This feature allows a certain priority of messages among agents to be expressed by the application designer. Indeed, the intensity of a signal emitted by an agent decreases as a function of the distance between agents, and agents’ behavior is strongly dictated by their relative position in the topological structure. Secondly, some agents could be defined to receive external solicitations. This kind of agent will be first considered when an external event has to be performed in the system. In descriptive real worlds such in Physics for instance, such agents generally model the system's side. This kind of agent are called input-agents and the graphcan enumerate the set of this input-agents. Thirdly, with the same idea, some agents are shown as able to provide results, modeling for instance the opposite side of the system. This information allows the system with computing simulation results or adapting behavior. This kind of agent are called output-agent , and the graph can retrieve them to.The Figure 3. below illustrates the OMT class diagram of the SocietyModel Unit and the AgentModel Unit.3.3.2 Agent Model Unit: the agent model is the most important part of the Kernel, as it defines agent as the atomic entity handled in the GEAMAS V2.0’s Kernel.Agent's knowledge is represented with a "state vector", from which each coordinate describes an internal property. A subset of these internal properties, called state parameters ,are limited by threshold defining the critical state. A specific behavior is then associated with each threshold. The agent's stability is defined as a satisfaction state with regards of its role.An agent is then stable when the state parameters values do not reach the threshold.The agent behavior can be internal or external. An internal behavior describes the agent life-cycle that performs actions continually without external solicitations. Internal behaviors ensure the independant part of the agent. For this reason, agent's behavior should be implemented as a Thread [8] (in the Java sense of it, that is parallel process).Figure 3. OMT diagram of the SocietyModel Unit and the AgentModel Unit External behavior are provided by the agent when receiving external sollicitations (such as events). For instance, one of the scenarios for such an external behavior can be: (1) update the state vector, (2) compute the rest of constraint to propagate in neighborhood, (3) choose agents to which propagate the event and (4) really propagate the event.The autonomous part of the agent is embedded in an unit called Autonomous Unit. This unit owns two classes: the Consciousness class and the IndividualConsciousness class. The first one inherits from Thread (given in the Java Development Kit and allows parallel processing). It is an abstract class because it will never be instanciated. As it is a subclass of Thread, it should implement the method named run(). The second one is very important for the agent. It manages them. It inherits from Consciousness and defines methods such as: behaviorControl() which launch a new behavior; this method is a kind of meta-control which controls the agent's behavior and determines which action to invoke, this mechanism allows to keep room for decision making, since agent's behavior is dynamically self-adapted during the simulation; perform() which allow to call a method only with his selector and his parameters, this method simulates the perform we can find in Smalltalk [9] which does not exist in Java. This is very useful functionality to setup a generic method invocation mechanism for autonomous agents.Figure 4. Class description of asynchronous message passing part inGEAMAS V2.0Message Passing with Java: an important part of agents is its asynchronous part. This part is derived from the use of two mailboxes: In and Out. The In class stores messages that should be performed by the agent ordered by intensity and arrival. The Out class stores each message to be propagated in the agent’s neighborhood. To implement this mechanism, we use two pre-defined classes of the Java Development Kit: Observer and Observable [8]. The "observable" object concept has been borrowed from Smalltalk [9] with the Model-View-Controller (MVC) approach. In this language, an object can be observed by another one. In Smalltalk this mechanism is embedded in the Object class and not in Java. In Java the observed object should inherit from the pre-definite Observable class. When it changes, it invokes two methods: firstly, a method called setChanged() which marks the object as changed; secondly a method called notifyObservers()which notifies all observerobjects. That’s why the Out class implements the Observer interface and the In class inherits from the Observable class.In conclusion of the asynchronous message passing part, the Figure 4. above describes the Java class description of the In and Out mailboxes.3.3.3 Agent System Unit: because the GEAMAS V2.0's Kernel is able to run without any attached GUI application, it has been necessary to create a link between the Kernel and GUI Applications. This link is then very important and we have brought a particular attention to it. Two essentials roles are affected to this link. Firstly, the unit Agent System realizes the link between the Kernel and GUI applications; secondly, this link as been implemented for learning user's comportment and predict his action. For this reason, an Agent System is a kind of Agent. With an inheritance link, an Agent System inherits from all Agent's capabilities. Finally, it owns two mailboxes. For instance, an agent can send the message "my state has changed" to the Agent System that will forward this message to the attached GUI application.Figure 5. below describe the OMT model of the Agent System Unit.Inheritance link (is-a)Aggregation link (has)Figure 5. OMT class diagram of the Agent System Unit In our Kernel, we have chosen to implement this link at the upper level, precisely in the Society unit. We have added an aggregation link between the society and the AgentGUI class.More, the AgentGUI class is able to save a simulation into a file, thanks to the serialization’s utilities given by the Java Development Kit. A description of the serialization concept and implementation can be found in [8]. A class can be saved if and only if it implements the Serializable interface. That's why all classes in the Kernel implement this interface. This facility is interesting for two reasons: firstly, with only one call of method, all the society and its dependencies can be save; secondly, the file can be compressed during the writing file operation. By the same way a serialized file can be read and all objects in itare retrieved. The only default is that links, such as observer links, are not saved and the AgentGUI class should rebuild them when a simulation is loaded by covering all the acquaintances’ graph.The next section details a tool developed over the Kernel. This tool named "Generation Environment" is a GUI Application which generate Java code.4. The Generation Environment and the Simulation Environment of GEAMAS V2.04.1 The Generation EnvironmentSection 3 reports the generic Kernel of GEAMAS V2.0. But our goal is to reduce the complexity of application designing. That's why the Generation Environment has been developped. It comes in help a user who wants to create a simulationWith the generation environment, the user can define, through GUIs, different agents, a macro-agent, medium-agents, and micro-agents. More, the Generation Environment should be able to: describe different types of agents and general comportment for this types, and generate associated code in Java.As our Kernel is generic, we can build a specific application only with deriving classes from the Agent class or the Society class and overriding methods. The creation of a new application has to be realized in four steps: firstly, identification of requirements; secondly, definition of the appropriate micro-agents, medium-agents, and macro-agent; thirdly, in each type of agent, the definition of the consciousness, behaviors, input events, and output events; fourthly interactions between agents.More precisely, this environment owns two main windows: on the one hand the Agent Designer Window, one the other hand the Society Designer Window. The first one allows to define the following parts: the agent’s name, the description of this agent, the agent’s consciousness, agent’s external and internal behaviors, agent’s external and internal parameters. And the second one allows to define the following parts: the society’s name, the society’s description, the agent’s part of the society (remember that a society is a kind of agent), the society’s filtering function, global constraints of the system, and input and output events of the system.4.2 The Simulation EnvironmentThe Simulation Environment is a GUI application which provides tools to set and control a simulation created with the Generation Environment. This tool is able to: set the global context of a system, set locally each agent in the system, dynamically control the global evolution of the system, dynamically control the local evolution of each agent in the system, and dynamically observe system's evolution, and precisely observe the medium-agent's emergence.Our Simulation Environment uses the notion of Bean. According to the Sun Microsystems’ definition, a Bean is "a reusable software component than can be manipulated visually in a builder tool" [4]. Our purpose is not to develop a builder tool but a Bean which is able to read information in a class. The Simulation Environment reads and initializes classes defined by the generator, and for instance, the Simulation Environment can dynamically modify the value of a state vector of a society or its input event.。