1 / 12

Animation check for on-line presentations

Animation check for on-line presentations. Ellen M. Sentovich. Introduction. This is a short presentation to test animation capabilities in the video-presentation-on-web process. Disclaimer:

lucien
Télécharger la présentation

Animation check for on-line presentations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Animation check for on-line presentations Ellen M. Sentovich animation check

  2. Introduction • This is a short presentation to test animation capabilities in the video-presentation-on-web process. • Disclaimer: • The slides are taken from several different presentations on similar topics, and now make no sense whatsoever. • The author accepts no responsibility for the use of their content in any design flows. • Many types of animation are mixed together on purpose. • The author accepts no responsibility for viewers who may be subsequently overwhelmed or confused by the images. animation check

  3. Outline • Esterel : capabilities, example • ECL : language, compiler, capabilities, example • EsterelStudio • Technology & tool overview • Graphical formalism (SyncCharts) • Development tools (code generation, simulation, verification) animation check

  4. People • ECL • CBL : Luciano Lavagno, Ellen Sentovich, Roberto Passerone • Esterel • CMA (France) : Gérard Berry et al • CBL has a research contract with CMA • EsterelStudio • Simulog (France) • Research project (French gov’t) with Cadence animation check

  5. Esterel • Features • Language: efficient for specifying state machines • signal communication, pre-emption, concurrency • Semantics: formal, clean, underlying deterministic FSM • advanced analysis tools available • HW or SW implementation possible • Compiler: well-developed (10+ years), implicit (efficient) • Tools : graphical simulation, verification, code generation • free access to binaries animation check

  6. loop abort [await A || await B] ; R R A B R emit O AB/O when R end B/O A/O Esterel : example concurrency pre-emption Specification: “Wait until both A and B have occurred, then output O, unless the reset R occurs” Explicit state machine: Esterel : Each reactive notion written once Number of states: exponential in inputs animation check

  7. ECL Specification Esterel Code C - code Simulation Model Implementation in HW / SW ECL compilation C functions data handling reactive control Esterel Compiler to C Esterel Compiler to C/FSM animation check

  8. while (1) { loop abort do { par await A; par await B; [await A || await B] ; emit O emit(O); when R end } abort(R); } ECL : example Specification: “Wait until both A and B have occurred, then output O, unless the reset R occurs” Esterel : ECL: concurrency pre-emption animation check

  9. A program file.a file.b file.c Result 1 Analysis 2 Opt 1 Analysis 1 Analysis 3 De-proprietrized Flows Demo 3 Demo 1 Toolbox ! Demo 2 animation check

  10. A program file.a file.b file.c Result 1 Analysis 2 Opt 1 Analysis 1 Analysis 3 De-proprietrized Flows Demo 4 animation check

  11. Example : pre-compilation typedef { byte hdr[HSIZE]; byte data[DSIZE]; int crc; } frame_t; moduleframe_proc (inputbyte in, outputframe_t out) { signalframe_t frame;signalintbad_crc; byte buf[SIZE]; frame_t f; int crc; par { while (1) { /* get bytes into frame */ for (i = 0; i < SIZE; i++) {await(in); buf[i] = in;} create_frame_from_buffer(&f, buf); emit(frame, f); } while (1) { /* check CRC */ await(frame); for (i = 0; i < HSIZE; i++) crc ^= frame.hdr[i]; if (crc != frame.crc) emit(bad_crc); } while (1) { /* process address (if correct) */ await(frame); do { /* … */; emit (out, frame) } abort(bad_crc); } } } C data type Reactive loop Concurrency Non-reactive loop animation check Pre-emption

  12. Example : post-compilation typedef { byte hdr[HSIZE]; data[DSIZE]; int crc } frame_t; void crc_compute(int crc, frame_t frame) { for (i = 0; i < HSIZE; i++) crc ^= frame.hdr[i]; } /* plus interface functions such as set_buffer_i */ moduleframe_proc: input in :byte; output out : frame_t; signalframe : frame_t, bad_crc:integer in var buf : frame_t, crc:integer in loop % get bytes into frame trap DONE in cnt := 0; loop {await in; set_buffer_i(buffer, i, in); if (cnt < SIZE) else exit DONE end if;} end loop emit frame(?buffer); end trap; end loop || loop % check CRC awaitframe; crc_compute(crc, frame); if (crc != get_frame_crc(frame) then emit bad_crc end if;end loop || etc Compiled to C Compiled to Esterel Reactive loop Non-reactive loop animation check

More Related