FLEX(ID:1625/fle005)

Dynamic real-time language  


Real-time language for dynamic environments, allows soft-chronology status


References:
  • Comer, Douglas E. and Gehani, Narain H. "FLEX: a high-level language for specifying customized microprocessors" view details
          in IEEE Transactions on Software Engineering 11(04) April 1985 view details
  • Lin, K.J. and S. Natarajan. Expressing and maintaining timing constraints in flex. In Proc. of 9th Real­Time Systems Symp., pages 96--105, Huntsville, Ala., December 1988 view details
          in IEEE Transactions on Software Engineering 11(04) April 1985 view details
  • Kenny, Kevin B. and K. J. Lin. Building flexible real­time systems using the Flex language. IEEE Computer, pages 70--78, May 1991 view details
          in IEEE Transactions on Software Engineering 11(04) April 1985 view details
  • Kenny, Kevin B. and K. J. Lin. Measuring and analyzing the performances of real­time programs. IEEE Software, pages 41--49, September 1991. view details
          in IEEE Transactions on Software Engineering 11(04) April 1985 view details
  • Lin, K.-J. and S. Natarajan "FLEX: Towards Flexible Real-Time Programs" view details
          in Computer Languages 16(1) view details
  • Han, C.C.; Lin, K.J. "Scheduling Distance Constrained Real Time Tasks" Pro­ceedings of the 13th IEEE Real Time Systems Symposium, 1992, pp 300-308. view details
          in Computer Languages 16(1) view details
  • Lin, K.J.; Natarajan, S. "Expressing and Maintaining Timing Constraints in FLEX" Proceedings of the IEEE 1992 Real Time Systems Symposium, 1992 view details
          in Computer Languages 16(1) view details
  • Lin, K.J. "Scheduling Models for Real Time Systems" Proceedings of the Fifth Euromicro Workshop on Real Time Systems, 1993, pp 133-­134. view details
          in Computer Languages 16(1) view details
  • Kwei-Jay Lin. Issues on Real-Time Systems Programming: Language, Compiler, and Object Orientation. in Sang H. Son, editor, Advances in Real-Time Systems, chapter 14. Prentice Hall, 1995 view details Extract: FLEX
    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
  • Singhal, Amit "Real Time Systems: A Survey" Computer Science Department University of Rochester December 4, 1996 view details External link: Online at Citeseer Abstract: What are real­time systems? Instead of trying to define them, we can think of real time systems as those that react to external stimuli in a timely and  reliable fashion. Real time systems are often used to solve real world problems.  Some examples of real time systems include air traffic control, automatic pilots,  unmanned robots etc.

    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