Aras Corp

Aras Corporation is an American developer and publisher of product development software, Aras Innovator. The product is used for product lifecycle management (PLM) and other purposes. Since 2007, Aras has been providing Aras Innovator for free as "Enterprise open-source software", with Aras Corp providing technical support, software updates, and other consulting as a subscription service. Aras Corp was founded in 2000 in Andover, Massachusetts by Peter Schroer.
Aras Innovator is an enterprise software suite for managing product lifecycle management business processes. The product is based on the Microsoft .NET Framework and SQL Server. The product is used for product lifecycle management (PLM), advanced product quality planning (APQP), lean product development, product quality control, collaborative product development and new product introduction (NPI).
Until 2007, Aras sold their product as proprietary software for enterprises.
In 2007, Aras began providing Aras Innovator as open-source software. Clients obtain the software for free, and Aras Corp provides technical support, software updates, and other consulting as a subscription service.
In July 2020, Aras confirmed the introduction of a new framework, Digital Twin Core, which introduces functionality for generating and handling digital twins to the Aras low-code package. Aras Cloud PLM provides a secure, cost-effective, and scalable solution for customers who need to manage their product data in the cloud.


Smith predictor

The Smith predictor (invented by O. J. M. Smith in 1957) is a type of predictive controller designed to control systems with a significant feedback time delay. The idea can be illustrated as follows.
Suppose the plant consists of formula_1 followed by a pure time delay formula_2. formula_3 refers to the Z-transform of the transfer function relating the inputs and outputs of the plant formula_4.
As a first step, suppose we only consider formula_1 (the plant without a delay) and design a controller formula_6 with a closed-loop transfer function formula_7 that we consider satisfactory.
Next, our objective is to design a controller formula_8 for the plant formula_9 so that the closed loop transfer function formula_10 equals formula_11.
Solving formula_12,
we obtain
formula_13. The controller is implemented as shown in the following figure, where formula_1 has been changed to formula_15 to indicate that it is a model used by the controller.
Note that there are two feedback loops. The outer control loop feeds the output back to the input, as usual. However, this loop alone would not provide satisfactory control, because of the delay; this loop is feeding back outdated information. Intuitively, for the k sample intervals during which no fresh information is available, the system is controlled by the inner loop which contains a predictor of what the (unobservable) output of the plant G currently is.
To check that this works, a re-arrangement can be made as follows:
Here we can see that if the model used in the controller, formula_16, matches the plant formula_9 perfectly, then the outer and middle feedback loops cancel each other, and the controller generates the "correct" control action. In reality, however, it is impossible for the model to perfectly match the plant.


Annealing by short circuit

Annealing by short circuit is a method of efficiently annealing copper wire which employs a controlled electrical short circuit. It can be advantageous because it does not require a temperature-regulated furnace like other methods of annealing.
Process.
The process consists of two conductive pulleys ("step pulleys") which the wire passes across after it is drawn. The two pulleys have an electrical potential across them, which causes the wire to form a short circuit. The Joule effect causes the temperature of the wire to rise to approximately 400 °C. This temperature is affected by the rotational speed of the pulleys, the ambient temperature, and the voltage applied. Where formula_1 is the temperature of the wire, formula_2 is a constant, formula_3 is the voltage applied, formula_4 is the number of rotations of the pulleys per minute, and formula_5 is the ambient temperature:
The constant formula_2 depends on the diameter of the pulleys and the resistivity of the copper.
Purely in terms of the temperature of the copper wire, an increase in the speed with which the wire passes through the pulley system has the same effect as a decrease in resistance. Therefore, the speed with which the wire can be drawn through varies quadratically as the voltage applied.


Sample complexity

The sample complexity of a machine learning algorithm represents the number of training-samples that it needs in order to successfully learn a target function.
More precisely, the sample complexity is the number of training-samples that we need to supply to the algorithm, so that the function returned by the algorithm is within an arbitrarily small error of the best possible function, with probability arbitrarily close to 1.
There are two variants of sample complexity:
The No free lunch theorem, discussed below, proves that, in general, the strong sample complexity is infinite, i.e. that there is no algorithm that can learn the globally-optimal target function using a finite number of training samples.
However, if we are only interested in a particular class of target functions (e.g, only linear functions) then the sample complexity is finite, and it depends linearly on the VC dimension on the class of target functions.
Definition.
Let formula_1 be a space which we call the input space, and formula_2 be a space which we call the output space, and let formula_3 denote the product formula_4. For example, in the setting of binary classification, formula_1 is typically a finite-dimensional vector space and formula_2 is the set formula_7.
Fix a hypothesis space formula_8 of functions formula_9. A learning algorithm over formula_8 is a computable map from formula_11 to formula_8. In other words, it is an algorithm that takes as input a finite sequence of training samples and outputs a function from formula_1 to formula_2. Typical learning algorithms include empirical risk minimization, without or with Tikhonov regularization.
Fix a loss function formula_15, for example, the square loss formula_16, where formula_17. For a given distribution formula_18 on formula_4, the expected risk of a hypothesis (a function) formula_20 is
In our setting, we have formula_22, where formula_23 is a learning algorithm and formula_24 is a sequence of vectors which are all drawn independently from formula_18. Define the optimal riskformula_26Set formula_27, for each formula_28. Note that formula_29 is a random variable and depends on the random variable formula_30, which is drawn from the distribution formula_31. The algorithm formula_23 is called consistent if formula_33 probabilistically converges to formula_34. In other words, for all formula_35, there exists a positive integer formula_36, such that, for all formula_37, we have
formula_38
The sample complexity of formula_23 is then the minimum formula_36 for which this holds, as a function of formula_41, and formula_42. We write the sample complexity as formula_43 to emphasize that this value of formula_36 depends on formula_41, and formula_42. If formula_23 is not consistent, then we set formula_48. If there exists an algorithm for which formula_49 is finite, then we say that the hypothesis space formula_50 is learnable.
In others words, the sample complexity formula_49 defines the rate of consistency of the algorithm: given a desired accuracy formula_52 and confidence formula_42, one needs to sample formula_49 data points to guarantee that the risk of the output function is within formula_52 of the best possible, with probability at least formula_56 .
In probably approximately correct (PAC) learning, one is concerned with whether the sample complexity is "polynomial", that is, whether formula_49 is bounded by a polynomial in formula_58 and formula_59. If formula_49 is polynomial for some learning algorithm, then one says that the hypothesis space formula_61 is PAC-learnable. Note that this is a stronger notion than being learnable.
Unrestricted hypothesis space: infinite sample complexity.
One can ask whether there exists a learning algorithm so that the sample complexity is finite in the strong sense, that is, there is a bound on the number of samples needed so that the algorithm can learn any distribution over the input-output space with a specified target error. More formally, one asks whether there exists a learning algorithm formula_23, such that, for all formula_35, there exists a positive integer formula_36 such that for all formula_37, we have
formula_66
where formula_27, with formula_24 as above. The No Free Lunch Theorem says that without restrictions on the hypothesis space formula_8, this is not the case, i.e., there always exist "bad" distributions for which the sample complexity is arbitrarily large.
Thus, in order to make statements about the rate of convergence of the quantity
formula_70
one must either
Restricted hypothesis space: finite sample-complexity.
The latter approach leads to concepts such as VC dimension and Rademacher complexity which control the complexity of the space formula_8. A smaller hypothesis space introduces more bias into the inference process, meaning that formula_74 may be greater than the best possible risk in a larger space. However, by restricting the complexity of the hypothesis space it becomes possible for an algorithm to produce more uniformly consistent functions. This trade-off leads to the concept of regularization.
It is a theorem from VC theory that the following three statements are equivalent for a hypothesis space formula_8:
This gives a way to prove that certain hypothesis spaces are PAC learnable, and by extension, learnable.
An example of a PAC-learnable hypothesis space.
formula_79, and let formula_8 be the space of affine functions on formula_1, that is, functions of the form formula_82 for some formula_83. This is the linear classification with offset learning problem. Now, note that four coplanar points in a square cannot be shattered by any affine function, since no affine function can be positive on two diagonally opposite vertices and negative on the remaining two. Thus, the VC dimension of formula_8 is formula_85, so it is finite. It follows by the above characterization of PAC-learnable classes that formula_8 is PAC-learnable, and by extension, learnable.
Sample-complexity bounds.
Suppose formula_8 is a class of binary functions (functions to formula_88). Then, formula_8 is formula_90-PAC-learnable with a sample of size:
formula_91
where formula_92 is the VC dimension of formula_8.
Moreover, any formula_90-PAC-learning algorithm for formula_8 must have sample-complexity:
formula_96
Thus, the sample-complexity is a linear function of the VC dimension of the hypothesis space.
Suppose formula_8 is a class of real-valued functions with range in formula_98. Then, formula_8 is formula_90-PAC-learnable with a sample of size:
formula_101
where formula_102 is Pollard's pseudo-dimension of formula_8.
Other Settings.
In addition to the supervised learning setting, sample complexity is relevant to semi-supervised learning problems including active learning, where the algorithm can ask for labels to specifically chosen inputs in order to reduce the cost of obtaining many labels. The concept of sample complexity also shows up in reinforcement learning, online learning, and unsupervised algorithms, e.g. for dictionary learning.
Efficiency in robotics.
A high sample complexity means, that many calculations are needed for running a Monte Carlo tree search. Its equal to a model free brute force search in the state space. In contrast, a high efficiency algorithm has a low sample complexity. Possible techniques for reducing the sample complexity are metric learning and model based reinforcement learning.


Describing function

In control systems theory, the describing function (DF) method, developed by Nikolay Mitrofanovich Krylov and Nikolay Bogoliubov in the 1930s, and extended by Ralph Kochenburger is an approximate procedure for analyzing certain nonlinear control problems. It is based on quasi-linearization, which is the approximation of the non-linear system under investigation by a linear time-invariant (LTI) transfer function that depends on the amplitude of the input waveform. By definition, a transfer function of a true LTI system cannot depend on the amplitude of the input function because an LTI system is linear. Thus, this dependence on amplitude generates a family of linear systems that are combined in an attempt to capture salient features of the non-linear system behavior. The describing function is one of the few widely applicable methods for designing nonlinear systems, and is very widely used as a standard mathematical tool for analyzing limit cycles in closed-loop controllers, such as industrial process controls, servomechanisms, and electronic oscillators.
The method.
Consider feedback around a discontinuous (but piecewise continuous) nonlinearity (e.g., an amplifier with saturation, or an element with deadband effects) cascaded with a slow stable linear system. The continuous region in which the feedback is presented to the nonlinearity depends on the amplitude of the output of the linear system. As the linear system's output amplitude decays, the nonlinearity may move into a different continuous region. This switching from one continuous region to another can generate periodic oscillations. The describing function method attempts to predict characteristics of those oscillations (e.g., their fundamental frequency) by assuming that the slow system acts like a low-pass or bandpass filter that concentrates all energy around a single frequency. Even if the output waveform has several modes, the method can still provide intuition about properties like frequency and possibly amplitude; in this case, the describing function method can be thought of as describing the sliding mode of the feedback system.
Using this low-pass assumption, the system response can be described by one of a family of sinusoidal waveforms; in this case the system would be characterized by a sine input describing function (SIDF) formula_1 giving the system response to an input consisting of a sine wave of amplitude A and frequency formula_2. This SIDF is a modification of the transfer function formula_3 used to characterize linear systems. In a quasi-linear system, when the input is a sine wave, the output will be a sine wave of the same frequency but with a scaled amplitude and shifted phase as given by formula_1. Many systems are approximately quasi-linear in the sense that although the response to a sine wave is not a pure sine wave, most of the energy in the output is indeed at the same frequency formula_2 as the input. This is because such systems may possess intrinsic low-pass or bandpass characteristics such that harmonics are naturally attenuated, or because external filters are added for this purpose. An important application of the SIDF technique is to estimate the oscillation amplitude in sinusoidal electronic oscillators.
Other types of describing functions that have been used are DFs for level inputs and for Gaussian noise inputs. Although not a complete description of the system, the DFs often suffice to answer specific questions about control and stability. DF methods are best for analyzing systems with relatively weak nonlinearities. In addition the higher order sinusoidal input describing functions (HOSIDF), describe the response of a class of nonlinear systems at harmonics of the input frequency of a sinusoidal input. The HOSIDFs are an extension of the SIDF for systems where the nonlinearities are significant in the response.
Caveats.
Although the describing function method can produce reasonably accurate results for a wide class of systems, it can fail badly for others. For example, the method can fail if the system emphasizes higher harmonics of the nonlinearity. Such examples have been presented by Tzypkin for bang–bang systems. A fairly similar example is a closed-loop oscillator consisting of a non-inverting Schmitt trigger followed by an "inverting" integrator that feeds back its output to the Schmitt trigger's input. The output of the Schmitt trigger is going to be a square waveform, while that of the integrator (following it) is going to have a triangle waveform with peaks coinciding with the transitions in the square wave. Each of these two oscillator stages lags the signal exactly by 90 degrees (relative to its input). If one were to perform DF analysis on this circuit, the triangle wave at the Schmitt trigger's input would be replaced by its fundamental (sine wave), which passing through the trigger would cause a phase shift of less than 90 degrees (because the sine wave would trigger it sooner than the triangle wave does) so the system would appear not to oscillate in the same (simple) way.
Also, in the case where the conditions for Aizerman's or Kalman conjectures are fulfilled, there are no periodic solutions by describing function method, but counterexamples with hidden periodic attractors are known. Counterexamples to the describing function method can be constructed for discontinuous dynamical systems when a rest segment destroys predicted limit cycles. Therefore, the application of the describing function method requires additional justification.


Closed-loop pole

In systems theory, closed-loop poles are the positions of the poles (or eigenvalues) of a closed-loop transfer function in the s-plane. The open-loop transfer function is equal to the product of all transfer function blocks in the forward path in the block diagram. The closed-loop transfer function is obtained by dividing the open-loop transfer function by the sum of one and the product of all transfer function blocks throughout the negative feedback loop. The closed-loop transfer function may also be obtained by algebraic or block diagram manipulation. Once the closed-loop transfer function is obtained for the system, the closed-loop poles are obtained by solving the characteristic equation. The characteristic equation is nothing more than setting the denominator of the closed-loop transfer function to zero.
In control theory there are two main methods of analyzing feedback systems: the transfer function (or frequency domain) method and the state space method. When the transfer function method is used, attention is focused on the locations in the s-plane where the transfer function is undefined (the "poles") or zero (the "zeroes"; see Zeroes and poles). Two different transfer functions are of interest to the designer. If the feedback loops in the system are opened (that is prevented from operating) one speaks of the "open-loop transfer function", while if the feedback loops are operating normally one speaks of the "closed-loop transfer function". For more on the relationship between the two, see root-locus.
Closed-loop poles in control theory.
The response of a linear time-invariant system to any input can be derived from its impulse response and step response. The eigenvalues of the system determine completely the natural response (unforced response). In control theory, the response to any input is a combination of a transient response and steady-state response. Therefore, a crucial design parameter is the location of the eigenvalues, or closed-loop poles.
In root-locus design, the gain "K" is usually parameterized. Each point on the locus satisfies the angle condition and magnitude condition and corresponds to a different value of "K". For negative feedback systems, the closed-loop poles move along the root-locus from the open-loop poles to the open-loop zeroes as the gain is increased. For this reason, the root-locus is often used for design of proportional control, i.e. those for which formula_1.
Finding closed-loop poles.
Consider a simple feedback system with controller formula_1, plant formula_3 and transfer function formula_4 in the feedback path. Note that a unity feedback system has formula_5 and the block is omitted. For this system, the open-loop transfer function is the product of the blocks in the forward path, formula_6. The product of the blocks around the entire closed loop is formula_7. Therefore, the closed-loop transfer function is
The closed-loop poles, or eigenvalues, are obtained by solving the characteristic equation formula_9. In general, the solution will be n complex numbers where n is the order of the characteristic polynomial.
The preceding is valid for single-input-single-output systems (SISO). An extension is possible for multiple input multiple output systems, that is for systems where formula_3 and formula_11 are matrices whose elements are made of transfer functions. In this case the poles are the solution of the equation


Tombstone (manufacturing)

A tombstone, also known as a pedestal-type fixture, tooling tower, tooling column or fixture block, is a fixture of two or more sides, onto which are mounted parts to be manufactured. Tombstones are typically used in automated systems; parts are loaded onto the tombstone so that robots may operate on one part, flip the tombstone, and operate on the next part until all processes are completed, then transport the entire tombstone to the next station.
The first tombstone type fixture was patented in 1971 by the Vereinigte Flugtechnische Werke.
Tombstones are used in agile manufacturing to facilitate quick and easy installation, scalability and reconfiguration.


Dead-beat control

In discrete-time control theory, the dead-beat control problem consists of finding what input signal must be applied to a system in order to bring the output to the steady state in the smallest number of time steps.
For an "N"th-order linear system it can be shown that this minimum number of steps will be at most "N" (depending on the initial condition), provided that the system is null controllable (that it can be brought to state zero by "some" input). The solution is to apply feedback such that all poles of the closed-loop transfer function are at the origin of the "z"-plane. This approach is straightforward for linear systems. However, when it comes to nonlinear systems, dead beat control is an open research problem.
Usage.
Dead beat controllers are often used in process control due to their good dynamic properties. They are a classical feedback controller where the control gains are set using a table based on the plant system order and normalized natural frequency.
The deadbeat response has the following characteristics:
Transfer function of dead-beat controller.
Consider that a plant has the transfer function
where
The transfer function of the corresponding dead-beat controller is
where "d" is the minimum necessary system delay for controller to be realizable. For example, systems with two poles must have at minimum 2 step delay from controller to output, so "d" = 2.
The closed-loop transfer function is
and has all poles at the origin. In general, a closed loop transfer function which has all of its poles at the origin is called a dead beat transfer function.


Linear matrix inequality

In convex optimization, a linear matrix inequality (LMI) is an expression of the form
where
This linear matrix inequality specifies a convex constraint on "y".
Applications.
There are efficient numerical methods to determine whether an LMI is feasible ("e.g.", whether there exists a vector "y" such that LMI("y") ≥ 0), or to solve a convex optimization problem with LMI constraints.
Many optimization problems in control theory, system identification and signal processing can be formulated using LMIs. Also LMIs find application in Polynomial Sum-Of-Squares. The prototypical primal and dual semidefinite program is a minimization of a real linear function respectively subject to the primal and dual convex cones governing this LMI.
Solving LMIs.
A major breakthrough in convex optimization was the introduction of interior-point methods. These methods were developed in a series of papers and became of true interest in the context of LMI problems in the work of Yurii Nesterov and Arkadi Nemirovski.


Backtracking line search

In (unconstrained) mathematical optimization, a backtracking line search is a line search method to determine the amount to move along a given search direction. Its use requires that the objective function is differentiable and that its gradient is known.
The method involves starting with a relatively large estimate of the step size for movement along the line search direction, and iteratively shrinking the step size (i.e., "backtracking") until a decrease of the objective function is observed that adequately corresponds to the amount of decrease that is expected, based on the step size and the local gradient of the objective function. A common stopping criterion is the Armijo–Goldstein condition.
Backtracking line search is typically used for gradient descent (GD), but it can also be used in other contexts. For example, it can be used with Newton's method if the Hessian matrix is positive definite.
Motivation.
Given a starting position formula_1 and a search direction formula_2, the task of a line search is to determine a step size formula_3 that adequately reduces the objective function formula_4 (assumed formula_5 i.e. continuously differentiable), i.e., to find a value of formula_6 that reduces formula_7 relative to formula_8. However, it is usually undesirable to devote substantial resources to finding a value of formula_6 to precisely minimize formula_10. This is because the computing resources needed to find a more precise minimum along one particular direction could instead be employed to identify a better search direction. Once an improved starting point has been identified by the line search, another subsequent line search will ordinarily be performed in a new direction. The goal, then, is just to identify a value of formula_6 that provides a reasonable amount of improvement in the objective function, rather than to find the actual minimizing value of formula_6.
The backtracking line search starts with a large estimate of formula_6 and iteratively shrinks it. The shrinking continues until a value is found that is small enough to provide a decrease in the objective function that adequately matches the decrease that is expected to be achieved, based on the local function gradient formula_14
Define the local slope of the function of formula_6 along the search direction formula_2 as formula_17 (where formula_18 denotes the dot product). It is assumed that formula_2 is a vector for which some local decrease is possible, i.e., it is assumed that formula_20.
Based on a selected control parameter formula_21, the Armijo–Goldstein condition tests whether a step-wise movement from a current position
formula_1 to a modified position formula_23 achieves an adequately corresponding decrease in the objective function. The condition is fulfilled, see , if formula_24
This condition, when used appropriately as part of a line search, can ensure that the step size is not excessively large. However, this condition is not sufficient on its own to ensure that the step size is nearly optimal, since any value of formula_25 that is sufficiently small will satisfy the condition.
Thus, the backtracking line search strategy starts with a relatively large step size, and repeatedly shrinks it by a factor formula_26 until the Armijo–Goldstein condition is fulfilled.
The search will terminate after a finite number of steps for any positive values of formula_27 and formula_28 that are less than 1. For example, Armijo used for both formula_27 and formula_28 in .
Algorithm.
This condition is from . Starting with a maximum candidate step size value formula_31, using search control parameters formula_26 and formula_21, the backtracking line search algorithm can be expressed as follows:
In other words, reduce formula_40 by a factor of formula_41 in each iteration until the Armijo–Goldstein condition is fulfilled.
Function minimization using backtracking line search in practice.
In practice, the above algorithm is typically iterated to produce a sequence formula_42, formula_43, to converge to a minimum, provided such a minimum exists and formula_44 is selected appropriately in each step. For gradient descent, formula_44 is selected as formula_46.
The value of formula_39 for the formula_37 that fulfills the Armijo–Goldstein condition depends on formula_1 and formula_2, and is thus denoted below by formula_51. It also depends on formula_10, formula_40, formula_28 and formula_27 of course, although these dependencies can be left implicit if they are assumed to be fixed with respect to the optimization problem.
The detailed steps are thus, see , :
To assure good behavior, it is necessary that some conditions must be satisfied by formula_44. Roughly speaking formula_44 should not be too far away from formula_65. A precise version is as follows (see e.g. ). There are constants formula_66 so that the following two conditions are satisfied:
Lower bound for learning rates.
This addresses the question whether there is a systematic way to find a positive number formula_79 - depending on the function f, the point formula_1 and the descent direction formula_2 - so that all learning rates formula_82 satisfy Armijo's condition. When formula_83, we can choose formula_79 in the order of formula_85, where formula_86 is a local Lipschitz constant for the gradient formula_87 near the point formula_1 (see Lipschitz continuity). If the function is formula_89, then formula_86 is close to the Hessian of the function at the point formula_1. See for more detail.
Upper bound for learning rates.
In the same situation where formula_83, an interesting question is how large learning rates can be chosen in Armijo's condition (that is, when one has no limit on formula_40 as defined in the section "Function minimization using backtracking line search in practice"), since larger learning rates when formula_42 is closer to the limit point (if exists) can make convergence faster. For example, in Wolfe conditions, there is no mention of formula_40 but another condition called curvature condition is introduced.
An upper bound for learning rates is shown to exist if one wants the constructed sequence formula_42 converges to a non-degenerate critical point, see : The learning rates must be bounded from above roughly by formula_97. Here H is the Hessian of the function at the limit point, formula_98 is its inverse, and formula_99 is the norm of a linear operator. Thus, this result applies for example when one uses Backtracking line search for Morse functions. Note that in dimension 1, formula_100 is a number and hence this upper bound is of the same size as the lower bound in the section "Lower bound for learning rates".
On the other hand, if the limit point is degenerate, then learning rates can be unbounded. For example, a modification of backtracking line search known as unbounded backtracking gradient descent (see ) allows the learning rate to be half the size formula_101, where formula_102 is a constant. Experiments with simple functions such as formula_103 show that unbounded backtracking gradient descent converges much faster than the basic version described in the section "Function minimization using backtracking line search in practice".
Time efficiency.
An argument against the use of Backtracking line search, in particular in Large scale optimisation, is that satisfying Armijo's condition is expensive. There is a way (so-called Two-way Backtracking) to go around, with good theoretical guarantees and has been tested with good results on deep neural networks, see . (There, one can find also good/stable implementations of Armijo's condition and its combination with some popular algorithms such as Momentum and NAG, on datasets such as Cifar10 and Cifar100.) One observes that if the sequence formula_61 converges (as wished when one makes use of an iterative optimisation method), then the sequence of learning rates formula_105 should vary little when n is large enough. Therefore, in the search for formula_105, if one always starts from formula_40, one would waste a lot of time if it turns out that the sequence formula_105 stays far away from formula_40. Instead, one should search for formula_105 by starting from formula_111. The second observation is that formula_105 could be larger than formula_111, and hence one should allow to increase learning rate (and not just decrease as in the section Algorithm). Here is the detailed algorithm for Two-way Backtracking: At step n
One can save time further by a hybrid mixture between two-way backtracking and the basic standard gradient descent algorithm. This procedure also has good theoretical guarantee and good test performance. Roughly speaking, we run two-way backtracking a few times, then use the learning rate we get from then unchanged, except if the function value increases. Here is precisely how it is done. One choose in advance a number formula_126, and a number formula_127.
Theoretical guarantee (for gradient descent).
Compared with Wolfe's conditions, which is more complicated, Armijo's condition has a better theoretical guarantee. Indeed, so far backtracking line search and its modifications are the most theoretically guaranteed methods among all numerical optimization algorithms concerning convergence to critical points and avoidance of saddle points, see below.
Critical points are points where the gradient of the objective function is 0. Local minima are critical points, but there are critical points which are not local minima. An example is saddle points. Saddle points are critical points, at which there are at least one direction where the function is (local) maximum. Therefore, these points are far from being local minima. For example, if a function has at least one saddle point, then it cannot be convex. The relevance of saddle points to optimisation algorithms is that in large scale (i.e. high-dimensional) optimisation, one likely sees more saddle points than minima, see . Hence, a good optimisation algorithm should be able to avoid saddle points. In the setting of deep learning, saddle points are also prevalent, see . Thus, to apply in deep learning, one needs results for non-convex functions.
For convergence to critical points: For example, if the cost function is a real analytic function, then it is shown in that convergence is guaranteed. The main idea is to use Łojasiewicz inequality which is enjoyed by a real analytic function. For non-smooth functions satisfying Łojasiewicz inequality, the above convergence guarantee is extended, see . In , there is a proof that for every sequence constructed by backtracking line search, a cluster point (i.e. the limit of one subsequence, if the subsequence converges) is a critical point. For the case of a function with at most countably many critical points (such as a Morse function) and compact sublevels, as well as with Lipschitz continuous gradient where one uses standard GD with learning rate <1/L (see the section "Stochastic gradient descent"), then convergence is guaranteed, see for example Chapter 12 in . Here the assumption about compact sublevels is to make sure that one deals with compact sets of the Euclidean space only. In the general case, where formula_10 is only assumed to be formula_5 and have at most countably many critical points, convergence is guaranteed, see . In the same reference, similarly convergence is guaranteed for other modifications of Backtracking line search (such as Unbounded backtracking gradient descent mentioned in the section "Upper bound for learning rates"), and even if the function has uncountably many critical points still one can deduce some non-trivial facts about convergence behaviour. In the stochastic setting, under the same assumption that the gradient is Lipschitz continuous and one uses a more restrictive version (requiring in addition that the sum of learning rates is infinite and the sum of squares of learning rates is finite) of diminishing learning rate scheme (see section "Stochastic gradient descent") and moreover the function is strictly convex, then the convergence is established in the well-known result , see for generalisations to less restrictive versions of a diminishing learning rate scheme. None of these results (for non-convex functions) have been proven for any other optimization algorithm so far.
For avoidance of saddle points: For example, if the gradient of the cost function is Lipschitz continuous and one chooses standard GD with learning rate Lebesgue measure zero), the sequence constructed will not converge to a non-degenerate saddle point (proven in ), and more generally it is also true that the sequence constructed will not converge to a degenerate saddle point (proven in ). Under the same assumption that the gradient is Lipschitz continuous and one uses a diminishing learning rate scheme (see the section "Stochastic gradient descent"), then avoidance of saddle points is established in .
A special case: (standard) stochastic gradient descent (SGD).
While it is trivial to mention, if the gradient of a cost function is Lipschitz continuous, with Lipschitz constant L, then with choosing learning rate to be constant and of the size formula_139, one has a special case of backtracking line search (for gradient descent). This has been used at least in . This scheme however requires that one needs to have a good estimate for L, otherwise if learning rate is too big (relative to 1/L) then the scheme has no convergence guarantee. One can see what will go wrong if the cost function is a smoothing (near the point 0) of the function f(t)=|t|. Such a good estimate is, however, difficult and laborious in large dimensions. Also, if the gradient of the function is not globally Lipschitz continuous, then this scheme has no convergence guarantee. For example, this is similar to an exercise in , for the cost function formula_140 and for whatever constant learning rate one chooses, with a random initial point the sequence constructed by this special scheme does not converge to the global minimum 0.
If one does not care about the condition that learning rate must be bounded by 1/L, then this special scheme has been used much older, at least since 1847 by Cauchy, which can be called standard GD (not to be confused with stochastic gradient descent, which is abbreviated herein as SGD). In the stochastic setting (such as in the mini-batch setting in deep learning), standard GD is called stochastic gradient descent, or SGD.
Even if the cost function has globally continuous gradient, good estimate of the Lipschitz constant for the cost functions in deep learning may not be feasible or desirable, given the very high dimensions of deep neural networks. Hence, there is a technique of fine-tuning of learning rates in applying standard GD or SGD. One way is to choose many learning rates from a grid search, with the hope that some of the learning rates can give good results. (However, if the loss function does not have global Lipschitz continuous gradient, then the example with formula_140 above shows that grid search cannot help.) Another way is the so-called adaptive standard GD or SGD, some representatives are Adam, Adadelta, RMSProp and so on, see the article on Stochastic gradient descent. In adaptive standard GD or SGD, learning rates are allowed to vary at each iterate step n, but in a different manner from Backtracking line search for gradient descent. Apparently, it would be more expensive to use Backtracking line search for gradient descent, since one needs to do a loop search until Armijo's condition is satisfied, while for adaptive standard GD or SGD no loop search is needed. Most of these adaptive standard GD or SGD do not have the descent property formula_142, for all n, as Backtracking line search for gradient descent. Only a few has this property, and which have good theoretical properties, but they turn out to be special cases of Backtracking line search or more generally Armijo's condition . The first one is when one chooses learning rate to be a constant <1/L, as mentioned above, if one can have a good estimate of L. The second is the so called diminishing learning rate, used in the well-known paper by , if again the function has globally Lipschitz continuous gradient (but the Lipschitz constant may be unknown) and the learning rates converge to 0.
Summary.
In summary, backtracking line search (and its modifications) is a method which is easy to implement, is applicable for very general functions, has very good theoretical guarantee (for both convergence to critical points and avoidance of saddle points) and works well in practice. Several other methods which have good theoretical guarantee, such as diminishing learning rates or standard GD with learning rate <1/L – both require the gradient of the objective function to be Lipschitz continuous, turn out to be a special case of Backtracking line search or satisfy Armijo's condition. Even though "a priori" one needs the cost function to be continuously differentiable to apply this method, in practice one can apply this method successfully also for functions which are continuously differentiable on a dense open subset such as formula_143 or formula_144.


March 1870 West Sydney colonial by-election

A by-election was held for the New South Wales Legislative Assembly electorate of West Sydney on 2 March 1870 because of the resignation of John Robertson due to financial difficulties.
Result.

The by-election was caused by the resignation of John Robertson due to financial difficulties.


Microfactory

A microfactory either refers to a capital-light facility used for the local assembly of a complex product or system or a small (normally automated) factory for producing small quantities of products. The term was proposed by the Mechanical Engineer Laboratory (MEL) of Japan in 1990 and has recently been used to describe the approach of manufacturers like Arrival. The microfactory's main advantages are saving a substantial amount of space, energy, materials, time, and upfront capital costs.
Due to their reduced dimensions, microfactories are normally highly automated. They might contain automatic machine tools, assembly systems, quality inspection systems, material feed systems, waste elimination systems, a system to evaluate tool deterioration and a system to replace tools.
At least one proposed microfactory is being designed to make many of its own parts, i.e., a partially self-replicating machine.
A microfactory can also refer to a factory designed for flexible small batch production that can produce a wide variety of products as opposed to a single monolithic mass production type approach. Typically the manufacturing processes of microfactories take advantage of digital fabrication technology such as 3D printing and CNC machines in order to accomplish this. For example, Local Motors had microfactories in Phoenix, Ariz. and Knoxville, Tenn. The company built products, like the Rally Fighter prerunner sports car, in its microfactories.


Substation Configuration Language

System Configuration description Language formerly known as Substation Configuration description Language (SCL) is the language and representation format specified by IEC 61850 for the configuration of electrical substation devices. This includes representation of modeled data and communication services specified by IEC 61850–7–X standard documents. The complete SCL representation and its details are specified in IEC 61850-6 standard document. It includes data representation for substation device entities; its associated functions represented as logical nodes, communication systems and capabilities. The complete representation of data as SCL enhances the different devices of a substation to exchange the SCL files and to have a complete interoperability.
Parts of SCL files.
An SCL file contains the following parts:
Types of SCL files.
Depending on the purpose of SCL file, it is classified into the following types:
The last two file types were introduced with Edition 2.


Hokuyo Automatic Co., Ltd.

Hokuyo Automatic Co., Ltd.  is a global manufacturer of sensor and automation technology headquartered in Osaka, Japan.
Hokuyo is known for its 2D and 3D scanning laser range finders for use in AGV, UAV, and mobile robot applications. The company also develops photoelectric switches, optical data transceivers, automatic counters, and automatic doors, primarily for use in factory and logistics automation.


Discontinuous filament winding machine

A discontinuous filament winding machine (DFW machine or DW machine) is a machine for laying fiberglass filament windings over a cylindrical mould or mandrel bar using a carriage that is traveling along the axis of that mandrel. The mandrel is fixed on a mandrel stand and is rotated by an asynchronous motor. The carriage is the set-up that holds and winds the fiberglass on the rotating mandrel. The difference between the continuous and discontinuous filament winding machine is the area on which filament winding is laying out.
DW machines are normally used for manufacturing epoxy pipes.


Device Description Language

Device Description Language (DDL) is the formal language describing the service and configuration of field devices for process and factory automation.
Background.
Current field devices for process and factory automation have a number of configuration options, to customize them to their individual use case. For these means they are equipped with a digital communication interface (HART, PROFIBUS, Fieldbus Foundation). Different software tools provide the means to control and configure the devices. In the 1990s, the DDL was developed to remove the requirement to write a new software tool for each new device type. Software can, through the interpretation of a device description (DD), configure and control many different devices. The creation of a description with the DDL is less effort than writing an entire software tool.
The HART Communication Foundation, PROFIBUS and Fieldbus Foundation have merged their individual dialects of the DDL. The result became the "Electronic Device Description Language (EDDL)", an IEC standard (IEC 61804).
The harmonization and enhancement of the EDDL is being undertaken in the EDDL Cooperation Team (ECT). The ECT consists of the leadership of the Fieldbus Foundation, Profibus Nutzerorganisation (PNO), Hart Communication Foundation, OPC Foundation and the FDT Group.
Structure of the DDL.
The DDL describes:
Software.
A device description (DD) can be created with a plain text editor. But like any other programing or description language, the authoring is error prone and as such special development tools may be used, to create valid and norm conforming EDDs.
The following tools assists the creation of EDDs:
The following control and configuration tools interpret the DDL:


Performance supervision system

A performance supervision system (PSS) is a software system used to improve the performance of a process plant. Typical process plants include oil refineries, paper mills, and chemical plants.
The PSS gathers real-time data from the process control system, typically a distributed control system. Using this data, the PSS can calculate performance metrics for process equipment, controls, and operations.


Closed-loop manufacturing

Closed-loop manufacturing (abbreviated CLM) is a closed-loop process of manufacturing and measuring (checking) in the manufacturing machine. The pre-stage to this is inspection in manufacturing. The idea is to reduce costs and improve the quality and accuracy of the produced parts.
General procedure.
Closed-loop manufacturing can be done in different ways dependent on the manufacturing technique and on the accuracy requirements.
Suitable manufacturing techniques.
CLM is very suitable for electrical discharge machining. Milling or turning is also suitable for CLM.
Suitable measuring techniques.
In machining measurement techniques have to fulfill special needs. In particular optical techniques have the advantage that they do not touch the part. The following parts are practically used:
Advantages / Disadvantages.
The advantages are:
The disadvantages are:


Blow molding

Blow molding (or moulding) is a manufacturing process for forming hollow plastic parts. It is also used for forming glass bottles or other hollow shapes.
In general, there are three main types of blow molding: extrusion blow molding, injection blow molding, and injection stretch blow molding.
The blow molding process begins with softening plastic by heating a preform or parison. The parison is a tube-like piece of plastic with a hole in one end through which compressed air can enter.
The plastic workpiece is then clamped into a mold and air is blown into it. The air pressure inflates the plastic which conforms to the mold. Once the plastic has cooled and hardened the mold opens and the part is ejected. Water channels within the mold assist cooling.
History.
The process principle comes from the idea of glassblowing. Enoch Ferngren and William Kopitke produced a blow molding machine and sold it to Hartford Empire Company in 1938. This was the beginning of the commercial blow molding process. During the 1940s the variety and number of products were still very limited and therefore blow molding did not take off until later. Once the variety and production rates went up the number of products created soon followed.
The technical mechanisms needed to produce hollow-bodied workpieces using the blowing technique were established very early on. Because glass is very breakable, after the introduction of plastic, plastic was used to replace glass in some cases. The first mass production of plastic bottles was done in America in 1939. Germany started using this technology a little bit later but is currently one of the leading manufacturers of blow molding machines.
In the United States soft drink industry, the number of plastic containers went from zero in 1977 to ten billion pieces in 1999. Today, an even greater number of products are blown and it is expected to keep increasing.
For amorphous metals, also known as bulk metallic glasses, blow molding has been recently demonstrated under pressures and temperatures comparable to plastic blow molding.
Typologies.
Extrusion blow molding.
In extrusion blow molding, plastic is melted and extruded into a hollow tube forming a tube like piece of plastic with a hole in one end for compressed gas - known as a parison. The parison is captured by closing it into a cooled metal mold. Air is blown into the parison, inflating it into the shape of the hollow bottle, container, or part. After the plastic has cooled, the mold is opened and the part is ejected.
"Straight extrusion blow molding is a way of propelling material forward similar to injection molding whereby an Archimedean screw turns, feeding plastic material down a heated tube. Once the plastic is meleted the screw stops rotating and linearly moves to push the melt out. With the accumulator method, an accumulator gathers melted plastic and after the previous mold has cooled and enough plastic has accumulated, a rod pushes the melted plastic and forms the parison. In this case the screw may turn continuously or intermittently. With continuous extrusion the weight of the parison drags the parison and makes calibrating the wall thickness difficult. The accumulator head or reciprocating screw methods use hydraulic systems to push the parison out quickly reducing the effect of the weight and allowing precise control over the wall thickness by adjusting the die gap with a parison programming device.
Continuous extrusion equipment includes rotary wheel blow molding systems and shuttle machinery, while intermittent extrusion machinery includes reciprocating screw machinery and accumulator head machinery.
Spin trimming.
Containers such as jars often have an excess of material due to the molding process. This is trimmed off by spinning a cutting blade around the container which separates the material. The excess plastic is then recycled to create new moldings. Spin Trimmers are used on a number of materials, such as PVC, HDPE and PE+LDPE. Different types of the materials have their own physical characteristics affecting trimming. For example, moldings produced from amorphous materials are much more difficult to trim than crystalline materials. Titanium nitride-coated blades are often used rather than standard steel to increase life by a factor of 30 times.
Injection blow molding.
The process of injection blow molding (IBM) is used for the production of hollow glass and plastic objects in large quantities. In the IBM process, the polymer is injection molded onto a core pin; then the core pin is rotated to a blow molding station to be inflated and cooled. This is the least-used of the three blow molding processes, and is typically used to make small medical and single serve bottles. The process is divided into three steps: injection, blowing and ejection.
The injection blow molding machine is based on an extruder barrel and screw assembly which melts the polymer. The molten polymer is fed into a hot runner manifold where it is injected through nozzles into a heated cavity and core pin. The cavity mold forms the external shape and is clamped around a core rod which forms the internal shape of the preform. The preform consists of a fully formed bottle/jar neck with a thick tube of polymer attached, which will form the body. similar in appearance to a test tube with a threaded neck.
The preform mold opens and the core rod is rotated and clamped into the hollow, chilled blow mold. The end of the core rod opens and allows compressed air into the preform, which inflates it to the finished article shape.
After a cooling period the blow mold opens and the core rod is rotated to the ejection position. The finished article is stripped off the core rod and as an option can be leak-tested prior to packing. The preform and blow mold can have many cavities, typically three to sixteen depending on the article size and the required output. There are three sets of core rods, which allow concurrent preform injection, blow molding and ejection.
Injection stretch blow molding.
Injection Stretch Blow Molding has two main different methods, namely Single-stage and Double-stage process. The Single-stage process is then again broken down into 3-station and 4-station machines.
Single-Stage.
In the single-stage process, both preform manufacture and bottle blowing is performed in the same machine. The older 4-station method of injection, reheat, stretch blow and ejection is more costly than the 3-station machine which eliminates the reheat stage and uses latent heat in the preform, thus saving costs of energy to reheat and 25% reduction in tooling. The process explained: Imagine the molecules are small round balls, when together they have large air gaps and small surface contact, by first stretching the molecules vertically then blowing to stretch horizontally the biaxial stretching makes the molecules a cross shape. These "crosses" fit together leaving little space as more surface area is contacted thus making the material less porous and increasing barrier strength against permeation. This process also increases the strength to be ideal for filling with carbonated drinks.
Two-stage.
In the two-stage injection stretch blow molding process, the plastic is first molded into a "preform" using the injection molding process. These preforms are produced with the necks of the bottles, including threads (the "finish") on one end. These preforms are packaged, and fed later (after cooling) into a reheat stretch blow molding machine. In the ISBM process, the preforms are heated (typically using infrared heaters) above their glass transition temperature, then blown using high-pressure air into bottles using metal blow molds. The preform is always stretched with a core rod as part of the process.


Pontryagin's maximum principle

Pontryagin's maximum principle is used in optimal control theory to find the best possible control for taking a dynamical system from one state to another, especially in the presence of constraints for the state or input controls. It states that it is necessary for any optimal control along with the optimal state trajectory to solve the so-called Hamiltonian system, which is a two-point boundary value problem, plus a maximum condition of the control Hamiltonian. These necessary conditions become sufficient under certain convexity conditions on the objective and constraint functions.
The maximum principle was formulated in 1956 by the Russian mathematician Lev Pontryagin and his students, and its initial application was to the maximization of the terminal speed of a rocket. The result was derived using ideas from the classical calculus of variations. After a slight perturbation of the optimal control, one considers the first-order term of a Taylor expansion with respect to the perturbation; sending the perturbation to zero leads to a variational inequality from which the maximum principle follows.
Widely regarded as a milestone in optimal control theory, the significance of the maximum principle lies in the fact that maximizing the Hamiltonian is much easier than the original infinite-dimensional control problem; rather than maximizing over a function space, the problem is converted to a pointwise optimization. A similar logic leads to Bellman's principle of optimality, a related approach to optimal control problems which states that the optimal trajectory remains optimal at intermediate points in time. The resulting Hamilton–Jacobi–Bellman equation provides a necessary and sufficient condition for an optimum, and admits a straightforward extension to stochastic optimal control problems, whereas the maximum principle does not. However, in contrast to the Hamilton–Jacobi–Bellman equation, which needs to hold over the entire state space to be valid, Pontryagin's Maximum Principle is potentially more computationally efficient in that the conditions which it specifies only need to hold over a particular trajectory.
Notation.
For set formula_1 and functions formula_2 formula_3 formula_4 and formula_5 we use the following notation:
Formal statement of necessary conditions for minimization problem.
Here the necessary conditions are shown for minimization of a functional. Take formula_11 to be the state of the dynamical system with input formula_12, such that
where formula_1 is the set of admissible controls and formula_15 is the terminal (i.e., final) time of the system. The control formula_16 must be chosen for all formula_17 to minimize the objective functional formula_18 which is defined by the application and can be abstracted as
The constraints on the system dynamics can be adjoined to the Lagrangian formula_20 by introducing time-varying Lagrange multiplier vector formula_21, whose elements are called the costates of the system. This motivates the construction of the Hamiltonian formula_22 defined for all formula_17 by:
where formula_25 is the transpose of formula_21.
Pontryagin's minimum principle states that the optimal state trajectory formula_27, optimal control formula_28, and corresponding Lagrange multiplier vector formula_29 must minimize the Hamiltonian formula_22 so that
for all time formula_17 and for all permissible control inputs formula_16. Additionally, the costate equation and its terminal conditions
must be satisfied. If the final state formula_33 is not fixed (i.e., its differential variation is not zero), it must also be that
These four conditions in (1)-(4) are the necessary conditions for an optimal control. Note that (4) only applies when formula_33 is free. If it is fixed, then this condition is not necessary for an optimum.


Comparison of agent-based modeling software

In the last few years, the agent-based modeling (ABM) community has developed several practical agent based modeling toolkits that enable individuals to develop agent-based applications. More and more such toolkits are coming into existence, and each toolkit has a variety of characteristics. Several individuals have made attempts to compare toolkits to each other (see references). Below is a chart intended to capture many of the features that are important to ABM toolkit users.


One-pass algorithm

In computing, a one-pass algorithm or single-pass algorithm is a streaming algorithm which reads its input exactly once. It does so by processing items in order, without unbounded buffering; it reads a block into an input buffer, processes it, and moves the result into an output buffer for each step in the process. A one-pass algorithm generally requires "O"("n") (see 'big O' notation) time and less than "O"("n") storage (typically "O"(1)), where "n" is the size of the input. An example of a one-pass algorithm is the Sondik partially observable Markov decision process.
Example problems solvable by one-pass algorithms.
Given any list as an input:
Given a list of numbers:
Given a list of symbols from an alphabet of "k" symbols, given in advance.
Example problems not solvable by one-pass algorithms.
Given any list as an input:
Given a list of numbers:
The two-pass algorithms above are still streaming algorithms but not one-pass algorithms.


Kernel (statistics)

The term kernel is used in statistical analysis to refer to a window function. The term "kernel" has several distinct meanings in different branches of statistics.
Bayesian statistics.
In statistics, especially in Bayesian statistics, the kernel of a probability density function (pdf) or probability mass function (pmf) is the form of the pdf or pmf in which any factors that are not functions of any of the variables in the domain are omitted. Note that such factors may well be functions of the parameters of the pdf or pmf. These factors form part of the normalization factor of the probability distribution, and are unnecessary in many situations. For example, in pseudo-random number sampling, most sampling algorithms ignore the normalization factor. In addition, in Bayesian analysis of conjugate prior distributions, the normalization factors are generally ignored during the calculations, and only the kernel considered. At the end, the form of the kernel is examined, and if it matches a known distribution, the normalization factor can be reinstated. Otherwise, it may be unnecessary (for example, if the distribution only needs to be sampled from).
For many distributions, the kernel can be written in closed form, but not the normalization constant.
An example is the normal distribution. Its probability density function is
and the associated kernel is
Note that the factor in front of the exponential has been omitted, even though it contains the parameter formula_3 , because it is not a function of the domain variable formula_4 .
Pattern analysis.
The kernel of a reproducing kernel Hilbert space is used in the suite of techniques known as kernel methods to perform tasks such as statistical classification, regression analysis, and cluster analysis on data in an implicit space. This usage is particularly common in machine learning.
Nonparametric statistics.
In nonparametric statistics, a kernel is a weighting function used in non-parametric estimation techniques. Kernels are used in kernel density estimation to estimate random variables' density functions, or in kernel regression to estimate the conditional expectation of a random variable. Kernels are also used in time-series, in the use of the periodogram to estimate the spectral density where they are known as window functions. An additional use is in the estimation of a time-varying intensity for a point process where window functions (kernels) are convolved with time-series data.
Commonly, kernel widths must also be specified when running a non-parametric estimation.
Definition.
A kernel is a non-negative real-valued integrable function "K." For most applications, it is desirable to define the function to satisfy two additional requirements:
The first requirement ensures that the method of kernel density estimation results in a probability density function. The second requirement ensures that the average of the corresponding distribution is equal to that of the sample used.
If "K" is a kernel, then so is the function "K"* defined by "K"*("u") = λ"K"(λ"u"), where λ > 0. This can be used to select a scale that is appropriate for the data.
Kernel functions in common use.
Several types of kernel functions are commonly used: uniform, triangle, Epanechnikov, quartic (biweight), tricube, triweight, Gaussian, quadratic and cosine.
In the table below, if formula_7 is given with a bounded support, then formula_8 for values of "u" lying outside the support.
^3)^3
Support: formula_9
! Gaussian
! Cosine
Support: formula_9
! Logistic
! Sigmoid function
! Silverman kernel


Thermic fluid heater

A thermic fluid heater is industrial heating equipment, used where only heat transfers are desired instead of pressure. In this equipment, a thermic fluid is circulated in the entire system for heat transfers to the desired processes. Combustion process heats up the thermic fluid, and this fluid carries and rejects this heat to the desired fluid for concluding the processes. After rejecting it, this fluid comes back again to the thermic fluid heater and this cycle goes on.


SCSI check condition

In computer terminology, a Check Condition occurs when a SCSI device needs to report an error.
SCSI communication takes place between an initiator and a target. The initiator sends a command to the target which then responds. SCSI commands are sent in a Command Descriptor Block (CDB). At the end of the command the target returns a Status Code byte which is usually 00h for success, 02h for a Check Condition (error), or 08h for busy.
When the target returns a Check Condition in response to a command, the initiator usually then issues a SCSI Request Sense command in order to obtain more information. During the time between the reporting of a Check Condition and the issuing of a Request Sense command, the target is in a special state called a Contingent Allegiance Condition.


SCSI contingent allegiance condition

On a computer SCSI connection, a contingent allegiance condition occurs while a SCSI device reports an error.
SCSI communication takes place between an initiator and a target. The initiator sends a command to the target which then responds. At the end of the command the target returns a Status Code byte which is usually 00h for "success", 02h for a "Check Condition" (error), or 08h for "busy".
When the target returns a Check Condition in response to a command, the initiator usually then issues a SCSI Request Sense command in order to obtain more information. During the time between the reporting of a Check Condition and the issuing of the Request Sense command, the target is in the special state called the "contingent allegiance condition".
Details.
While a target is in a contingent allegiance condition it must retain the sense information that relates to the error that caused it to enter that condition. This can be a complex issue in configurations which contain more than one initiator. A well-designed target may be able to maintain sense data for one initiator while servicing commands from another initiator. If a check condition then needs to be reported to a second or third initiator then this may become prohibitively difficult. The SCSI definition of the contingent allegiance condition allows the target to use the "busy" response to incoming commands and to suspend servicing of any recent commands that are still in its execution queue.
The events that can cause a target to enter the contingent allegiance condition are
The events that can cause a target to exit the contingent allegiance condition are
Extended contingent allegiance condition.
When the target needs to perform a long error-recovery procedure (typically one that lasts more than one second) it can enter the "extended contingent allegiance condition". This may be necessary in high performance systems or in cases where there is a danger that initiator may reset the target after a short timeout interval, thereby aborting the error-recovery procedure. As in the contingent allegiance condition, the target is allowed to use the "busy" response to incoming commands and to suspend servicing of any recent commands that are still in its execution queue.
When a target enters the extended contingent allegiance condition it will send an Initiate Recovery message to the initiator.
The SCSI events that can cause a target to exit the extended contingent allegiance condition are


IEC 61499

The international standard IEC 61499, addressing the topic of function blocks for industrial process measurement and control systems, was initially published by the International Electrotechnical Commission (IEC) in 2005. The specification of IEC 61499 defines a generic model for distributed control systems and is based on the IEC 61131 standard. The concepts of IEC 61499 are also explained by Lewis and Zoitl as well as Vyatkin.
Part 1: Architecture.
IEC 61499-1 defines the architecture for distributed systems. In IEC 61499 the cyclic execution model of IEC 61131 is replaced by an event driven execution model. The event driven execution model allows an explicit specification of the execution order of function blocks. If necessary, periodically executed applications can be implemented by using the E_CYCLE function block for the generation of periodic events as described in Annex A of IEC 61499-1.
IEC 61499 enables an "application-centric" design, in which one or more applications, defined by networks of interconnected function blocks, are created for the whole system and subsequently distributed to the available devices. All devices within a system are described within a "device model". The topology of the system is reflected by the "system model". The distribution of an application is described within the "mapping model". Therefore, applications of a system are distributable but maintained together.
IEC 61499 is strongly influenced by Erlang, with its shared-nothing model and distribution transparency.
Like IEC 61131-3 function blocks, IEC 61499 function block types specify both an interface and an implementation. In contrast to IEC 61131-3, an IEC 61499 interface contains "event" inputs and outputs in addition to "data" inputs and outputs. Events can be associated with data inputs and outputs by "WITH constraints". IEC 61499 defines several function block types, all of which can contain a behavior description in terms of service sequences:
To maintain the applications on a device IEC 61499 provides a "management model". The "device manager" maintains the lifecycle of any resource and manages the communication with the software tools (e.g., configuration tool, agent) via "management commands". Through the interface of the software tool and the management commands, online reconfiguration of IEC 61499 applications can be realized.
Part 2: Software tool requirements.
IEC 61499-2 defines requirements for software tools to be compliant to IEC 61499. This includes requirements for the representation and the portability of IEC 61499 elements as well as a DTD format to exchange IEC 61499 elements between different software tools.
There are already some IEC 61499 compliant software tools available. Among these are commercial software tools, open-source software tools, and academic and research developments. Usually an IEC 61499 compliant runtime environment and an IEC 61499 compliant development environment is needed.
Part 3: Tutorial Information (2008 withdrawn).
IEC 61499-3 was related to an early Publicly Available Specification (PAS) version of the standard and was withdrawn in 2008. This part answered FAQs related to the IEC 61499 standard and described the use of IEC 61499 elements with examples to solve common challenges during the engineering of automation systems.
Among other examples, IEC 61499-3 described the use of SIFBs as communication function blocks for remote access to real-time data and parameters of function blocks; the use of adapter interfaces to implement object oriented concepts; initialization algorithms in function block networks; and the implementation of ECCs for a simplified motor control of hypothetical VCRs.
Additionally the impacts of the mapping concerning the communication function blocks was explained, as well as the device management by management applications and its function blocks, and the principle of the device manager function block (DEV_MGR).
Part 4: Rules for compliance profiles.
IEC 61499-4 describes the rules that a system, device or software tool must follow to be compliant to IEC 61499. These rules are related to "interoperability, portability" and "configuration". Two devices are "interoperable" if they can work together to provide the functionality specified by a system configuration. Applications compliant to IEC 61499 have to be "portable", which means that they can be exchanged between software tools of different vendors considering the requirements for software tools described within IEC 61499-2. Devices of any vendor have to be "configurable" by any IEC 61499 compliant software tool.
Besides these general rules, IEC 61499-4 also defines the structure of "compliance profiles". A compliance profile describes how a system conforms to the rules of the IEC 61499 standard. For example, the configurability of a device by a software tool is determined by the supported management commands. The XML exchange format which determines portability of IEC 61499 compliant applications is defined within part 2 and is completed by the compliance profile, for example by declaring the supported file name extensions for exchange of software library elements.
The "interoperability" between devices of different vendors is defined by the layers of the OSI models. Also status outputs, IP addresses, port numbers as well as the data encoding of function blocks like PUBLISH/SUBSCRIBE and CLIENT/SERVER, which are used for the communication between devices, have to be considered. HOLOBLOC, Inc. defines the "IEC 61499 compliance profile for feasibility demonstrations", which is for example supported by the IEC 61499 compliant software tools FBDK, 4diac IDE, and nxtSTUDIO.


Measurement-assisted assembly

Measurement-assisted assembly (MAA) is any method of assembly in which measurements are used to guide assembly processes. Such processes include:
Measurement-assisted assembly is typically used for large structures such as aircraft and steel fabrications. It can be used to improve production rates, reduce reworking and increase flexibility for processes where manual reworking during assembly is required to maintain assembly form and component interface conditions. This type of approach generally offers no advantages where part-to-part interchangeability can already be achieved.


Schmidt–Kalman filter

The Schmidt–Kalman Filter is a modification of the Kalman filter for reducing the dimensionality of the state estimate, while still considering the effects of the additional state in the calculation of the covariance matrix and the Kalman gains. A common application is to account for the effects of nuisance parameters such as sensor biases without increasing the dimensionality of the state estimate. This ensures that the covariance matrix will accurately represent the distribution of the errors.
The primary advantage of utilizing the Schmidt–Kalman filter instead of increasing the dimensionality of the state space is the reduction in computational complexity. This can enable the use of filtering in real-time systems. Another usage of Schmidt–Kalman is when residual biases are unobservable; that is, the effect of the bias cannot be separated out from the measurement. In this case, Schmidt–Kalman is a robust way to not try and estimate the value of the bias, but only keep track of the effect of the bias on the true error distribution.
For use in non-linear systems, the observation and state transition models may be linearized around the current mean and covariance estimate in a method analogous to the extended Kalman filter.
Naming and historical development.
Stanley F. Schmidt developed the Schmidt–Kalman filter as a method to account for unobservable biases while maintaining the low dimensionality required for implementation in real time systems.


Distributed algorithmic mechanism design (DAMD) is an extension of algorithmic mechanism design.
DAMD differs from Algorithmic mechanism design since the algorithm is computed in a distributed manner rather than by a central authority. This greatly improves computation time since the burden is shared by all agents within a network.
One major obstacle in DAMD is ensuring that agents reveal the true costs or preferences related to a given scenario. Often these agents would rather lie in order to improve their own utility.
DAMD is full of new challenges since one can no longer assume an obedient networking and mechanism infrastructure where rational players control the message paths and mechanism computation.
Game theoretic model.
Game theory and distributed computing both deal with a system with many agents, in which the agents may possibly pursue different goals. However they have different focuses. For instance one of the concerns of distributed computing is to prove the correctness of algorithms that tolerate faulty agents and agents performing actions concurrently. On the other hand, in game theory the focus is on devising a strategy which leads us to an equilibrium in the system.
Nash equilibrium.
Nash equilibrium is the most commonly-used notion of equilibrium in game theory. However Nash equilibrium does not deal with faulty or unexpected behavior. A protocol that reaches Nash equilibrium is guaranteed to execute correctly in the face of rational agents, with no agent being able to improve its utility by deviating from the protocol.
Solution preference.
There is no trusted center as there is in AMD. Thus, mechanisms must be implemented by the agents themselves. The solution preference assumption requires that each agent prefers any outcome to no outcome at all: thus, agents have no incentive to disagree on an outcome or cause the algorithm to fail. In other words, as Afek et al. said, "agents cannot gain if the algorithm fails". As a result, though agents have preferences, they have no incentive to fail the algorithm.
Truthfulness.
A mechanism is considered to be truthful if the agents gain nothing by lying about
their or other agents' values.
A good example would be a leader election algorithm that selects a computation server within a network. The algorithm specifies that agents should send their total computational power to each other, after which the most powerful agent is chosen as the leader to complete the task. In this algorithm agents may lie about their true computation power because they are potentially in danger of being tasked with CPU-intensive jobs which will reduce their power to complete local jobs. This can be overcome with the help of truthful mechanisms which, without any a priori knowledge of the existing data and inputs of each agent, cause each agent to respond truthfully to requests.
A well-known truthful mechanism in game theory is the Vickrey auction.
Classic distributed computing problems.
Leader election (completely connected network, synchronous case).
Leader election is a fundamental problem in distributed computing and there are numerous protocols to solve this problem. System agents are assumed to be rational, and therefore prefer having a leader to not having one. The agents may also have different preferences regarding who becomes the leader (an agent may prefer that he himself becomes the leader). Standard protocols may choose leaders based on the lowest or highest ID of system agents. However, since agents have an incentive to lie about their ID in order to improve their utility such protocols are rendered useless in the setting of algorithmic mechanism design.
A protocol for leader election in the presence of rational agents has been introduced by Ittai et al.:
This protocol correctly elects a leader while reaching equilibrium and is truthful since no agent can benefit by lying about its input.


Newton Game Dynamics

Newton Game Dynamics is an open-source physics engine for realistically simulating rigid bodies in games and other real-time applications. Its solver is deterministic and not based on traditional LCP or iterative methods.
Newton Game Dynamics is actively developed by Julio Jerez. Currently a new version which will take advantage of multi-core CPUs and GPUs is being developed.
Games that used Newton.
This is a select list of games using Newton Game Dynamics.
Engines which incorporated Newton.
A list of game engines using Newton Game Dynamics:


S Voice

S Voice is a discontinued intelligent personal assistant and knowledge navigator which is only available as a built-in application for the Samsung Galaxy S III, S III Mini (including NFC), S4, S4 Mini, S4 Active, S5, S5 Mini, S II Plus, Note II, Note 3, Note 4, Note 10.1, Note 8.0, Stellar, Mega, Grand, Avant, Core, Ace 3, Tab 3 7.0, Tab 3 8.0,Samsung Galaxy Express 2, Tab 3 10.1, Galaxy Camera, and other 2013 or later Samsung Android devices. The application uses a natural language user interface to answer questions, make recommendations, and perform actions by delegating requests to a set of Web services. S Voice is based on the Vlingo personal assistant. For Galaxy S5 and later Samsung Galaxy devices, S Voice runs on Nuance instead of Vlingo.
Some of the capabilities of S Voice include making appointments, opening apps, setting alarms, updating social network websites such as Facebook or Twitter and navigation. S Voice also offers multitasking, as well as automatic activation features, for example, when the car engine is started.
In a disclaimer that pops up on first opening S Voice, Samsung states that the app is provided by a third party, which it does not name.
In the Galaxy S8 and S8+, Bixby was announced to be a major update and replacement to S Voice from the prior phones. It was discontinued on 1 June 2020.


Active disturbance rejection control

Active disturbance rejection control (or ADRC) is a model-free control technique used for designing controllers for systems with unknown dynamics and external disturbances. This approach only necessitates an estimated representation of the system's behavior to design controllers that effectively counteract disturbances without causing any overshooting.
ADRC has been successfully used as an alternative to PID control in many applications, such as the control of permanent magnet synchronous motors, thermal power plants and robotics. In particular, the precise control of brushless motors for joint motion is vital in high-speed industrial robot applications. However, flexible robot structures can introduce unwanted vibrations, challenging PID controllers. ADRC offers a solution by real-time disturbance estimation and compensation, without needing a detailed model.
Disturbance rejection.
To achieve robustness, ADRC is based on extension of the system model with an additional and fictitious state variable representing everything that the user does not include in the mathematical description of the base system to be controlled. This virtual state (sum of unknown part of model dynamics and external disturbances, usually denoted as a "total disturbance") is estimated online with an extended state observer and used in the control signal in order to decouple the system from the actual perturbation acting on the plant. This disturbance rejection feature allows users to treat the considered system with a simpler model insofar as the negative effects of modeling uncertainty are compensated in real time. As a result, the operator does not need a precise analytical description of the base system; one can model the unknown parts of the dynamics as internal disturbances in the base system.
Control architecture.
The ADRC consists of three main components: a tracking differentiator, a non-linear state error feedback and an extended state observer. The global convergence of ADRC has been proved for a class of general multiple-input multiple-output systems.
The following architecture is known as the output-form structure of ADRC:There also exists a special form of ADRC, known as error-form structure, which is used for comparing the ADRC with classical controllers such as PID.
Tracking differentiator.
The primary objective of the tracking differentiator is to follow the transient profile of the reference signal, addressing the issue of sudden changes in the set point that occur in the conventional PID controller. Moreover, the tracking differentiator also mitigates the possible noise amplification that affects the derivative term of the PID controller by using numerical integration instead of numerical differentiation.
Extended state observer.
An extended state observer (ESO) keeps track of the system's states as well as external disturbances and unknown model's perturbations. As a result, ADRC does not rely on any particular mathematical model of disturbance. Nonlinear ESO (NESO) is a subtype of general ESO that uses a nonlinear discontinuous function of the output estimate error. NESO are comparable to sliding mode observers in that both use a nonlinear function of output estimation error (rather than a linear function as in linear, high gain, and extended observers). A sliding mode observer's discontinuity is at the origin, but the NESO's discontinuity is at a preset error threshold.
Nonlinear state error feedback.
The intuitiveness of PID control can be attributed to the simplicity of its error feedback. ADRC extends the PID by employing a nonlinear state error feedback, and because of this, seminal works referred to ADRC as nonlinear PID. Weighted state errors can also be used as feedback in a linearization system.


D*

D* (pronounced "D star") is any one of the following three related incremental search algorithms:
All three search algorithms solve the same assumption-based path planning problems, including planning with the freespace assumption, where a robot has to navigate to given goal coordinates in unknown terrain. It makes assumptions about the unknown part of the terrain (for example: that it contains no obstacles) and finds a shortest path from its current coordinates to the goal coordinates under these assumptions. The robot then follows the path. When it observes new map information (such as previously unknown obstacles), it adds the information to its map and, if necessary, replans a new shortest path from its current coordinates to the given goal coordinates. It repeats the process until it reaches the goal coordinates or determines that the goal coordinates cannot be reached. When traversing unknown terrain, new obstacles may be discovered frequently, so this replanning needs to be fast. Incremental (heuristic) search algorithms speed up searches for sequences of similar search problems by using experience with the previous problems to speed up the search for the current one. Assuming the goal coordinates do not change, all three search algorithms are more efficient than repeated A* searches.
D* and its variants have been widely used for mobile robot and autonomous vehicle navigation. Current systems are typically based on D* Lite rather than the original D* or Focused D*. In fact, even Stentz's lab uses D* Lite rather than D* in some implementations. Such navigation systems include a prototype system tested on the Mars rovers Opportunity and Spirit and the navigation system of the winning entry in the DARPA Urban Challenge, both developed at Carnegie Mellon University.
The original D* was introduced by Anthony Stentz in 1994. The name D* comes from the term "Dynamic A*", because the algorithm behaves like A* except that the arc costs can change as the algorithm runs.
Operation.
The basic operation of D* is outlined below.
Like Dijkstra's algorithm and A*, D* maintains a list of nodes to be evaluated, known as the "OPEN list". Nodes are marked as having one of several states:
Expansion.
The algorithm works by iteratively selecting a node from the OPEN list and evaluating it. It then propagates the node's changes to all of the neighboring nodes and places them on the OPEN list. This propagation process is termed "expansion". In contrast to canonical A*, which follows the path from start to finish, D* begins by searching backwards from the goal node. This means that the algorithm is actually computing the A* optimal path for every possible start node. Each expanded node has a backpointer which refers to the next node leading to the target, and each node knows the exact cost to the target. When the start node is the next node to be expanded, the algorithm is done, and the path to the goal can be found by simply following the backpointers.
Obstacle handling.
When an obstruction is detected along the intended path, all the points that are affected are again placed on the OPEN list, this time marked RAISE. Before a RAISED node increases in cost, however, the algorithm checks its neighbors and examines whether it can reduce the node's cost. If not, the RAISE state is propagated to all of the nodes' descendants, that is, nodes which have backpointers to it. These nodes are then evaluated, and the RAISE state is passed on, forming a wave. When a RAISED node can be reduced, its backpointer is updated, and passes the LOWER state to its neighbors. These waves of RAISE and LOWER states are the heart of D*.
By this point, a whole series of other points are prevented from being "touched" by the waves. The algorithm has therefore only worked on the points which are affected by change of cost.
Another deadlock occurs.
This time, the deadlock cannot be bypassed so elegantly. None of the points can find a new route via a neighbor to the destination. Therefore, they continue to propagate their cost increase. Only points outside of the channel can be found, which can lead to destination via a viable route. This is how two Lower waves develop, which expand as points marked as unattainable with new route information.
Pseudocode.
while (!openList.isEmpty) {
 point = openList.getFirst;
 expand(point);
Expand.
void expand(currentPoint) {
 boolean isRaise = isRaise(currentPoint);
 double cost;
 for each (neighbor in currentPoint.getNeighbors) {
 if (isRaise) {
 if (neighbor.nextPoint == currentPoint) {
 neighbor.setNextPointAndUpdateCost(currentPoint);
 openList.add(neighbor);
 } else {
 cost = neighbor.calculateCostVia(currentPoint);
 if (cost < neighbor.getCost) {
 currentPoint.setMinimumCostToCurrentCost;
 openList.add(currentPoint);
 } else {
 cost = neighbor.calculateCostVia(currentPoint);
 if (cost < neighbor.getCost) {
 neighbor.setNextPointAndUpdateCost(currentPoint);
 openList.add(neighbor);
Check for raise.
boolean isRaise(point) {
 double cost;
 if (point.getCurrentCost > point.getMinimumCost) {
 for each(neighbor in point.getNeighbors) {
 cost = point.calculateCostVia(neighbor);
 if (cost < point.getCurrentCost) {
 point.setNextPointAndUpdateCost(neighbor);
 return point.getCurrentCost > point.getMinimumCost;
Variants.
Focused D*.
As its name suggests, Focused D* is an extension of D* which uses a heuristic to focus the propagation of RAISE and LOWER toward the robot. In this way, only the states that matter are updated, in the same way that A* only computes costs for some of the nodes.
D* Lite.
D* Lite is not based on the original D* or Focused D*, but implements the same behavior. It is simpler to understand and can be implemented in fewer lines of code, hence the name "D* Lite". Performance-wise, it is as good as or better than Focused D*. D* Lite is based on Lifelong Planning A*, which was introduced by Koenig and Likhachev few years earlier. D* Lite
Minimum cost versus current cost.
For D*, it is important to distinguish between current and minimum costs. The former is only important at the time of collection and the latter is critical because it sorts the OpenList. The function which returns the minimum cost is always the lowest cost to the current point since it is the first entry of the OpenList.


Partial stroke testing

Partial stroke testing (or PST) is a technique used in a control system to allow the user to test a percentage of the possible failure modes of a shut down valve without the need to physically close the valve. PST is used to assist in determining that the safety function will operate on demand. PST is most often used on high integrity emergency shutdown valves (ESDVs) in applications where closing the valve will have a high cost burden yet proving the integrity of the valve is essential to maintaining a safe facility. In addition to ESDVs PST is also used on high integrity pressure protection systems or HIPPS. Partial stroke testing is not a replacement for the need to fully stroke valves as proof testing is still a mandatory requirement.
Standards.
Partial stroke testing is an accepted petroleum industry standard technique and is also quantified in detail by regulatory bodies such as the International Electrotechnical Commission (IEC) and the Instrument Society of Automation (ISA). The following are the standards appropriate to these bodies.
These standards define the requirements for safety related systems and describe how to quantify the performance of PST systems
Measuring safety performance.
IEC61508 adapts a safety life cycle approach to the management of plant safety. During the design phase of this life cycle of a safety system the required safety performance level is determined using techniques such as Markov analysis, FMEA, fault tree analysis and Hazop. These techniques allow the user to determine the potential frequency and consequence of hazardous activities and to quantify the level of risk. A common method for this quantification is the safety integrity level. This is quantified from one to four with level four being the most hazardous.
Once the SIL level is determined this specifies the required performance level of the safety systems during the operational phase of the plant. The metric for measuring the performance of a safety function is called the average probability of failure on demand (or PFDavg) and this correlates to the SIL level as follows
One method of calculating the PFDavg for a basic safety function with no redundancy is using the formula
Where:
The proof test coverage is a measure of how effective the partial stroke test is and the higher the PTC the greater the effect of the test.
Benefits.
The benefits of using PST are not limited to simply the safety performance but gains can also be made in the production performance of a plant and the capital cost of a plant. These are summarised as follows
Safety benefits.
Gains can be made in the following areas by the use of PST.
Production benefits.
There are a number of areas where production efficiency can be improved by the successful implementation of a PST system.
Drawbacks.
The main drawback of all PST systems is the increased probability of causing an accidental activation of the safety system thus causing a plant shutdown, this is the primary concern of PST systems by operators and for this reason many PST system remain dormant after installation. Different techniques mitigate for this issue in different manners but all systems have an inherent risk
In addition in some cases, a PST cannot be performed due to the limitations inherent in the process or the valve being used. Further, as the PST introduces a disturbance into the process or system, it may not be appropriate for some processes or systems that are sensitive to disturbances.
Finally, a PST cannot always differentiate between different faults or failures within the valve and actuator assembly thus limiting the diagnostic capability.
Techniques.
There are a number of different techniques available for partial stroke testing and the selection of the most appropriate technique depends on the main benefits the operator is trying to gain.
Mechanical Jammers.
Mechanical jammers are devices where a device is inserted into the valve and actuator assembly that physically prevents the valve from moving past a certain point. These are used in cases where accidentally shutting the valve would have severe consequences, or any application where the end user prefers a mechanical device.
Typical benefits of this type of device are as follows:
However, opinions differ whether these devices are suitable for functional safety systems as the safety function is offline for the duration of the test.
Modern mechanical PST devices may be automated.
Examples of this kind of device include direct interface products that mount between the valve and the actuator and may use cams fitted to the valve stem.
An example of such a mechanical PST system:
Other methods include adjustable actuator end stops.
Pneumatic valve positioners.
The basic principle behind partial stroke testing is that the valve is moved to a predetermined position in order to determine the performance of the shut down valve. This led to the adaptation of pneumatic positioners used on flow control valve for use in partial stroke testing. These systems are often suitable for use on shutdown valves up to and including SIL3.
The main benefits are :
The main benefit of these systems is that positioners are common equipment on plants and thus operators are familiar with the operation of these systems, however the primary drawback is the increased risk of spurious trip caused by the introduction of additional control components that are not normally used on on/off valves. These systems are however limited to use on pneumatically actuated valves.
Electrical relay systems.
These systems use an electrical switch to de-energise the solenoid valve and use an electrical relay attached to the actuator to re-energise the solenoid coil when the desired PST point is reached.
Electronic control systems.
Electronic control systems use a configurable electronic module that connects between the supply from the ESD system and the solenoid valve. In order to perform a test the timer de-energises the solenoid valve to simulate a shutdown and re-energises the solenoid when the required degree of partial stroke is reached. These systems are fundamentally a miniature PLC dedicated to the testing of the valve.
Due to their nature these devices do not actually form part of the safety function and are therefore 100% fail safe. With the addition of a pressure sensor and/or a position sensor for feedback timer systems are also capable of providing intelligent diagnostics in order to diagnose the performance of all components including the valve, actuator and solenoid valves.
In addition timers are capable of operating with any type of fluid power actuator and can also be used with subsea valves where the solenoid valve is located top-side.
Integrated solenoid valve systems.
Another technique is to embed the control electronics into a solenoid valve enclosure removing the need for additional control boxes. In addition there is no need to change the control schematic as no dedicated components are required.