22

You've got it right, and Wikipedia is as informative as can be — soft real-time is not a formal characterization, it's a value judgement. Another way to say “soft real-time” is “I wish it was real-time”, or perhaps more accurately “it should be real-time but that's too hard”. If you really want to word in the form of a guarantee, it's a guarantee of best ...


7

In general, the difference between "normal" and "real-time" is some sort of guarantee on the time it takes to complete job. In a normal system, usually you have no guarantees at all. Programs can get interrupted by other programs, the OS scheduler might not be completely fair, the processor does complicated things that alter the runtime between executions of ...


5

It depends on your definition of "real-time system". A standard definition is: a system is real-time if it will respond within $T$ seconds, with probability at least $P$. Here you need to fill in the parameters $T,P$; e.g., it might be $T = 1$ millisecond and $P = 0.999$. How do you prove that this condition is met? One way is to find a way to generate ...


5

Programming languages usually don't have a notion of time. They describe how things are sequenced, but usually they don't go further. When they do, that's relegated to the library part of the language, and it is to handle time computation or to handle real time measurement and delay. HDL are used for two purposes: synthesis and simulation. For the first ...


5

Unless you are careful priority inversion is possible in either Hoare type or Mesa type monitors. This is because monitors implement a form of mutual exclusion (only one process can be "in" the monitor at a time), and mutual exclusion and priorities don't mix well. Boosting the priority of the thread in the monitor, mitigates (but does not completely solve)...


4

The key property that we want from (non-cryptographic) pseudorandom numbers is that they "look" independent. In particular, say you have some algorithm that requires a PRNG to perform well and you give it a current time function as a PRNG. Then, if the algorithm repeatedly queries what is supposed to be a PRNG, it will actually see that it gets the same ...


4

To define "soft real-time," it is easiest to compare it with "hard real-time." Speaking casually, most people implicitly have an informal mental model that considers information or an event as being "real-time" • if, or to the extent that, it is manifest to them with a delay (latency) that can be related to its perceived currency • i.e., in a time ...


4

Linux with the -rt (real time) patchset provides a scheduler that provides an interesting guarantee that seems non-vacuous. (Although I'm not clear on how the guarantee can be put to real use.) The Linux-rt SCHED_FIFO scheduling policy works as follows: The user assigns a priority to every process. (The priority numbers for "real time" processes are 0-99, ...


3

You need to provide a more precise description of your system and real-time requirements. If you are interested in only the timeliness and timeliness predictability of the response to the first event, your question is about that one event response and not about the subsequent events responses and thus the system. You didn't specify your required timeliness ...


3

In computer science, a real-time computing (RTC) system is one that guarantees a response before a previously set deadline. For a stream of images, that implies that a real-time system is one that guarantees it has finished processing each image before some previously set timing constraint on latency. There is no 'maximum latency with which one can still ...


3

There is no one answer to this question. "Real time" can mean very different things, depending on what kind of sensor or sensors you are using, and what you are trying to do. By the way, editing and storing images may not even qualify as computer vision. Computer vision is about extracting information from images or video, and the meaning of real time ...


2

Your analysis so far is correct. Let's consider the probability that it will take $k$ attempts to transmit a package. This means that there must be $k-1$ failures followed by a final success. There are two ways a transmission can fail: Transmit succeeds, ACK fails. Call this a type-1 failure. Its probability will be $(1-p)q$. Transmission fails (so ACK is ...


2

There are many possible approaches for measuring document similarity: edit distance shingling Jaccard similarity TF-IDF and cosine similarity https://stackoverflow.com/q/101569/781723 https://stackoverflow.com/q/8897593/781723 https://stackoverflow.com/q/29842137/781723 I suggest you think more about what metric makes sense for you, and review the ...


2

Imperative languages only implicitly have a notion of time. Primarily, demarcated by mutation of state, i.e. there's a before some variable was mutated and an after some variable was mutated. Declarative languages, as you say, don't have a notion of time unless they explicitly model it. There are a variety of ways of modeling time. Ptolemy II has a rather ...


2

It's not random. It increases by 1 every milliseconds. In computer terms, it stays unchanged for a loooooong time (millions of clock cycles). But current system time in milliseconds is most definitely not good enough anyway. If an attacker knows that you seeded a random number generator some time today, there are only 86 million possible seed values. ...


2

So, after looking deeper into the subject I found the solution. Posting in case somebody else needs an answer and is unfamiliar with the subject. What I was looking for is called a Stopwatch Automaton (SWA) and allows the time to stop or advance (by specifying the derivative of a clock c' = {0, 1}). Reference: The Impressive Power of Stopwatches. Franck ...


1

A system is several things working together. A real time system might include computer hardware and software. Depending on where you draw the line it might include sensors and actuators reaching into the "real" world (sorry for the pun ). The software might include an operating system, or not. A realtime operating system is a set of software components with ...


1

You can't generate a deadline from nothing. That doesn't make sense. Some tasks must be completed by a certain time, or they are useless. Only the programmer who writes the task knows whether this is the case, and if so, knows when they have to be completed by. That's not something that the OS can infer, because it depends on what the task is doing and ...


1

Hybrid algorithms. In sorting algorithms it's rather common, Start with quicksort and if the size of the array is small enough switch to insertion sort (much faster for small $n$). Additionally when the recursion depth becomes too large (threatens to become $O(n^2)$) fall back to heapsort (guaranteed $O(n\log n)$).


1

First of all, this problem is (weakly) NP-hard, see this paper by Ekberg and Yi, because it generalizes the problem of deciding which task sets are schedulable by Rate Monotonic. However, assuming that your periods and execution times are integers, you can find the answer in pseudopolynomial time. Simply try all values of $X$ from $0$ to $p$, where $p$ is ...


1

HDL's incorporate a notion of time in the following sense: they may allow you to talk about the current value of the circuit's state (e.g., registers) and the next value of its state. So, you might be able to write something next(v) := x XOR y where x represents the current value of x (in the current clock cycle) and next(v) represents what the value of v ...


1

A real time application is one in which some computation needs to be done very fast, always. For example, controlling an airplane, decoding an MPEG, and Skype are real time applications. Web browsing is not an example since it needn't be very fast, and it is also tolerable if it is occasionally a bit slow. You are asking for complexity and decidability ...


1

DFA/NFA in a real time application ? consider designing a parser for user inputs where each input is a word w="http://some-address.com?key[1]=value1&key[2]=value2..." consider having each key[i] as the string ##i now you can easily build a regex /##./ to accept all input-strings having key values contained in w. Since we have a regular expression that ...


1

Example 1: Playing a multimedia stream where Task 1 must decompress an audio "frame" while Task 2 must decompress a video frame by the same deadline: the playback time for a given video frame. This is a little unrealistic though because in practice there's a demux task that task 1 and 2 both depend on, and usually the audio and video playback frames have ...


Only top voted, non community-wiki answers of a minimum length are eligible