Device for implementing hierarchical state charts and...

Data processing: structural design – modeling – simulation – and em – Simulating electronic device or electrical system – Event-driven

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S038110, C714S039000

Reexamination Certificate

active

06285976

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to computer code and to apparatus and methods for computer code generation.
BACKGROUND OF THE INVENTION
Hierarchical state charts are described in “Statecharts, a visual approach to complex systems”, David Harel, Science of Computer Programming, 1987.
The disclosures of all publications mentioned in the specification and of the publications cited therein are hereby incorporated by reference.
SUMMARY OF THE INVENTION
The present invention seeks to provide improved computer code and improved apparatus and methods for computer code generation.
There is thus provided in accordance with a preferred embodiment of the present invention apparatus implementing hierarchical state charts and including a state machine engine (SME) operative to carry out repertoires of behaviors of a system, a state chart encoder operative to replicate, in computer code form, a user-defined hierarchical state chart describing a repertoire of behaviors of the system, the encoder being operative to preserve the state chart's hierarchical structure intact in a first data structure, an event list generator operative to generate, for each individual event from among a plurality of events within the repertoire, a list of at least one transition between states of the state chart which are associated with the individual event, the event list generator being operative to preserve the list in a second data structure, and a behavior implementer operative to activate the system to carry out each of the behaviors in its repertoire.
Further in accordance with a preferred embodiment of the present invention the system includes at least one of hardware and software.
Still further in accordance with a preferred embodiment of the present invention the first data structure's size increases linearly in direct proportion to the number of branches in the hierarchical structure.
Additionally in accordance with a preferred embodiment of the present invention the second data structure's size increases linearly in direct proportion to the number of transitions in the list of at least one transition.
Moreover in accordance with a preferred embodiment of the present invention the order of the at least one transition of each of the lists corresponds to the order of evaluation of the transitions as defined by the hierarchical state chart.
Further in accordance with a preferred embodiment of the present invention the plurality of events for which the event list generator generates lists includes at least one external input event.
Still further in accordance with a preferred embodiment of the present invention the plurality of events for which the event list generator generates lists includes at least one internal data value change event, the apparatus also including a data value change event notifier operative to generate a notification to the state machine engine of each data value change event.
There is additionally provided in accordance with a preferred embodiment of the present invention a method implementing hierarchical state charts, the method including providing a state machine engine (SME) operative to carry out repertoires of behaviors of a system replicating, in computer code form, a user-defined hierarchical state chart describing a repertoire of behaviors of the system, the replicating step being operative to preserve the state chart's hierarchical structure intact, generating, for each individual event from among a plurality of events within the repertoire, a list of at least one transition between states of the state chart which are associated with the individual event, and activating the system to carry out each of the behaviors in its repertoire.
There is additionally provided in accordance with a preferred embodiment of the present invention an automatic code generation method including automatically generating code which forms, in memory, a replica of a hierarchical state chart which preserves the chart's hierarchical structure, automatically generating code which forms, for each of a first plurality of input events, a list of transitions affected by that input event, automatically generating code which forms, for each of a second plurality of internal data variables, a list of transitions affected by changes in that internal data variable, automatically generating code which notifies the state machine engine of changes in internal data variables, and automatically generating code which evaluates conditions and implements actions and activities.
Further in accordance with a preferred embodiment of the present invention the method includes the step of providing a state machine engine operative, upon receipt of notification regarding occurrence of an event, to evaluate a list of transitions affected by the event so as to select transitions to be performed, and to perform the transitions.
There is additionally provided in accordance with a preferred embodiment of the present invention a method for computing a state for a hierarchical state machine, the method including providing a state machine engine operative to receive notification regarding occurrence of at least one event, providing a hierarchical state chart describing a repertoire of behaviors of a system, providing a list of at least one transition between states of the state chart for each of the events with which the at least one transition is associated, evaluating the list of at least one transition so as to select a transition to be performed in response to the at least one event, and evaluating the hierarchical state chart to compute the state that corresponds to the selected transition.


REFERENCES:
patent: 4799141 (1989-01-01), Drusinsky et al.
patent: 5163016 (1992-11-01), Har'el et al.
patent: 5257363 (1993-10-01), Shapiro et al.
patent: 5485600 (1996-01-01), Joseph et al.
patent: 5493680 (1996-02-01), Danforth
patent: 5652714 (1997-07-01), Peterson et al.
patent: 5727214 (1998-03-01), Allen
patent: 5801687 (1998-09-01), Peterson et al.
patent: 5826030 (1998-10-01), Hebert
patent: 5995739 (1999-11-01), Rotbart
patent: 0 597 646 (1994-05-01), None
Harel, D., “Statecharts, A Visual Approach to Complex Systems”, Science of Computer Programming, vol. 8, 1987, pp. 231-274.
Drusinsky-Yoresh, Doron, “A State Assignment Procedure for Single-Block Implementation of State Charts” Short Papers,IEEE Transactions on Computer-Aided Design,vol. 10, No. 12, Dec. 1991., pp.1569-1576.
Harel, D. et al., “Statemate: A Working Environment for the Development of Complex Reactive Systems”, Proceedings of the 10thInternational Conference on Software Engineering, 1988, pp. 396-406.
Jarvinen, H. et al., “DisCo Specific Language: Marriage of Actions and Objects”, 11thInternational Conference on Distributed Computing Systems, 1991, pp. 142-151.
Koskimies, K. et al., “Automatic Synthesis of State Machines from Trace Diagrams”,Software Practice&Experience,GB, vol. 24, No. 7, Jul. 1, 1994, pp. 643-658.
Ziomek, T., “Efficient, Maintainable Implementation of State Machines in Software”,Motorola Technical Developments,US., vol. 23, Oct. 1994, pp. 70-72.
Pulli, P., “Embedded Microcontroller Operating System with State-Machine Support”,Microprocessing and Microprogramming,Netherlands, vol. 18, No. 1-5, Dec. 1986, pp. 59-62.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Device for implementing hierarchical state charts and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Device for implementing hierarchical state charts and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Device for implementing hierarchical state charts and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2532017

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.