FLEX(ID:1625/fle005)Dynamic real-time languageReal-time language for dynamic environments, allows soft-chronology status References: in IEEE Transactions on Software Engineering 11(04) April 1985 view details in IEEE Transactions on Software Engineering 11(04) April 1985 view details in IEEE Transactions on Software Engineering 11(04) April 1985 view details in IEEE Transactions on Software Engineering 11(04) April 1985 view details in Computer Languages 16(1) view details in Computer Languages 16(1) view details in Computer Languages 16(1) view details in Computer Languages 16(1) view details Another timing constraint proposal which can define not only the upper and lower bounds, but also the absolute and relative constraints is the Flex language, which is also an extension of C++. Flex reasons about time and resources by specifying constraints and propagating information among them. In Flex , constraints on time and resources are described by the constraint block. A constraint block identifies a constraint that must apply while a section of code is in execution. A constraint may be either a Boolean expression (which is treated as an assertion to be maintained throughout the block's lifetime) or a timing constraint, which describes a constraint on the time at which the block may begin or end its execution. in Computer Languages 16(1) view details Current research in real time systems lags far behind that in other areas. This is due to a largely false notion of what real time systems are and what they involve. I begin this survey by describing some of the characteristics of real time systems. Then I will dispel some of the misconceptions and make an argument for the importance of further research in the area. Next I will present some formal methods for specifying and verifying real time systems. Most of the current real time systems have been written in conventional programming languages which are not very suitable for the task and do not provide control over timing constraints. Most of the real time languages that have been developed have found limited use (mostly in the labs where they were designed) and have not been embraced widely by the real time developers community. I will deal with this issue at length and present an overview of what real time languages are and where the current research stands. Next I will present some design methodologies and techniques used in designing and developing real time systems. Some of these have good formal and mathematical backgrounds while others originate from rules of thumb. One of the most active areas of research in real time systems has been scheduling algorithms. I will present some models of scheduling algorithms and compare them with respect to their adherence to real time principles. In the last part of this survey, I will present some of the hardware and architectural issues facing real time system developers and also provide some information on how operating systems need to be geared to support real time tasks. Finally, I will present some of the future directions for research in real time systems and some of the challenges faced by the researchers today. Extract: FLEX FLEX is the first real time language to formally allow for soft real time programming. Depending on time and resource availability, FLEX programs may produce a result that is more or less precise, but not disastrous. FLEX programs also do not produce unexpected results or crash. This allows the language to support a rich variety of resource and timing constraints. Also, FLEX does not force all of its programs to be schedulability analyzable, only those that are critical to the real time system have to meet the stringent criteria. in Computer Languages 16(1) view details |