Cocosim, a Code Generation Framework for Control/Command

Total Page:16

File Type:pdf, Size:1020Kb

Load more

CoCoSim, a code generation framework for control/command applications An overview of CoCoSim for multi-periodic discrete Simulink models Hamza Bourbouh, Pierre-Loïc Garoche, Thomas Loquen Eric Noulard, Claire Pagetti Abstract [8] or Signal [38] have been defined to help their de- sign. Scade [12] is an industrial and DO 178C qual- We present CoCoSim, a framework to support ified Lustre-based framework that provides strong the design, code generation and analysis of dis- guarantees and proofs well appreciated, in particu- crete dataflow model expressed in Simulink. In lar for certification. this work, we specifically focus on the analysis and Offering frameworks linking Simulink and syn- code generation of multi-periodic systems. For chronous approaches is thus appealing. CoCoSim that CoCoSim provides two complementary ap- belongs to this category as it is an open source tool proaches: the first amounts to encode the multi- that translates Simulink specification in Lustre periodic semantics in a pure-synchronous one – à while preserving semantics and providing many as- la Lustre–, enabling the use of model checker for sociated traceability or test capabilities. In this pa- verifying properties. The second provides a faith- per, we describe an extension of CoCoSim to al- ful code generation into multiple communicating low the safe translation and verification from multi- (mono)synchronous components – à la Prelude– periodic systems to Lustre/Prelude programs. that can be then simulated or embedded in the fi- nal platform with any real-time scheduler. These 1.2 Contributions approaches have been experimented in various set- tings. The CoCoSim approach to deal with multi- periodic systems is highlighted in the Fig. 1. 1 Introduction Multi-periodic system in 1.1 Context Simulink Safety-critical systems design requires a thorough ok/ko development process including formal verification Lustre Lustre/Prelude and correct by construction behaviour. In that translation translation area, Model-Based Design has been widely used for software development. Such an approach of- fers the refinement of a system from High Level Re- quirements down to the embedded code while hav- verification C code ing an executable model at different stages. Mat- + execution model lab/Simulink1 from MathWorks, is a de facto model-based design standard in industry, offering Figure 1: overview verification and code generation means. CoCoSim Nonetheless, other development frameworks are used in addition in some industries, such as aero- First, we need to define precisely the semantics nautic, railways or space. Indeed, control/com- of multi-periodic systems in Simulink and con- mand applications have received a particular atten- nect it to the one of synchronous programming. In tion over the years and several synchronous pro- synchronous languages, execution time is neglected gramming languages such as Esterel [2], Lustre while each computation is performed repetitively, e.g., every ts seconds. In Simulink, most discrete 1https://www.mathworks.com/products/simulink.html subsets of blocks are fitted with a synchronous se- 1 mantics, but the case of multi-periodic systems is more complex and requires an analysis of the inter- nal semantics. Once the semantics has been defined, the sec- ond contribution is the extension of CoCoSim cur- rent Lustre translation in order to encode the multi-periodic communication with classical Lus- tre over- and sub-sample operators (left hand side of Fig. 1). This amounts to express the whole sys- tem on a base clock. This Lustre model is then used to perform formal analysis using SMT-based Figure 2: framework model-checking. While required to properly ana- CoCoSim lyze the full system, this encoding is not efficient for execution. 2.1 Formal semantic Once the verification is valid, the last step is the efficient code generation (right hand side of Fig. CoCoSim provides a formal semantic of a well 1). Each synchronous component is translated as defined subset of Simulink/Stateflow blocks. a Lustre model which will eventually be compiled This formal representation will permit the use of into C code, while aggregating nodes, mixing differ- formal verification methods and code generation. ent clocks or execution rates are expressed as Pre- CoCoSim starts first by simplifying some com- lude programs. Prelude [30] is a synchronous plex blocks into a set of basic blocks. Then an language that has been defined to program multi- internal representation of the model is generated periodic applications. From a Prelude program, containing all information needed for code genera- the compiler generates a set of classical real-time tion. Based on the work of Caspi et al. [7], Gene- tasks and many predictable implementations have Auto [33, 39] and P [4] projects, CoCoSim trans- been proposed for multi- and many-core architec- lates modularly the pre-processed mono-periodic tures [32]. Simulink model into an equivalent Lustre model. The translator is developed using a visitor pattern, each Simulink Subsystem is translated into a Lus- 1.3 Outline tre node, each instance of a Subsystem is trans- lated into a Lustre node call and each Simulink We start by presenting an overview of CoCoSim atomic block is represented by a local Lustre equa- framework (Section 2) for mono-periodic discrete tion defining the semantic of the block. The gener- Simulink models. We then define the specifica- ated Lustre model has the same hierarchy as the tion of multi-periodic applications with Simulink original Simulink model and preserves the initial (Section 3). We detail the multi-periodic exten- semantic. sion of CoCoSim (Section 4). Last, Section 5 CoCoSim is customizable and configurable. presents some experiments settings and two detailed Indeed, it supports most of frequently used use cases. Simulink blocks libraries (around 100 blocks) and new blocks can be easily supported. 2 Overview of mono-periodic 2.2 Supported analyses CoCoSim Once a formal representation of Simulink model is generated, CoCoSim is connected to a set of ex- CoCoSim is a highly automated frame- ternal tools to provide code generation, formal ver- work for verification and code generation of ification or test case generation. The toolchain is Simulink/Stateflow models. It consists of highly automated as all the steps of verification an open architecture, allowing the integration of or code generation are automated. different analyses. CoCoSim is structured as a The goal of the CoCoSim framework is to ease compiler, sequencing a series of translation steps the application of formal methods and analysis of leading, eventually to either the production of Simulink-based systems. The external tools are source code, or to the call to a verification tool. introduced and linked to the platform in a very By design, each phase is highly parametrizable generic way. While CoCoSim is built mainly through an API and could then be used for different around a specified set of tools, additional ones can purposes depending on the customization. The be easily locally linked or even distributed as exten- Figure 2 outlines the different steps. sions. A set of Matlab functions libraries are pro- 2 vided by CoCoSim to ease the integration of tools CoCoSpec [9, 13]. LustreC also provides modular analysis results. Eg. displaying the counterexample compilation with multiple source files, call to exter- at the Simulink level, importing test harness as a nal C libraries or externally defined C functions. Signal builder or create a new test-harness model, Kind2 [10] is, first of all, a model checker but it is generating HTML reports or other helpful support capable of producing Rust code from the provided functions. models. All CoCoSim analyses are performed on the compiled artifact and the results are expressed back at Simulink level thanks to traceability informa- 2.5 Test cases generation: tion. We sketch here the features of the connected LustreT [17] is based on some compilation stages of tools. At the current moment all tools are open- LustreC [20]. It provides two different methods to source and freely available. It scales well with perform test case generation [18]. large models, therefore various verification tech- In the first case a coverage criteria such as MC- niques and compositional reasoning can be used. DC is expressed as a reachability problem. For ex- ample, an atom of a boolean predicate has to be true 2.3 Formal Verification: SMT-based at some point. Then we check the validity of the model checking negation of that property. Model checker such as Kind2 or Zustre will then perform bounded-model Once requirements have been expressed using Co- checking or, possibly, exhibit a counter-example; CoSim library and attached to the Simulink that is, a test case activating that specific criteria. model, different tools can perform SMT-based A MC-DC criteria will then be mapped to a large model checking and check their validity. In case set of such predicates. The test generation process the property supplied is falsified, CoCoSim pro- will populate a set of test cases activating each of vides means to simulate the counterexample trace in these conditions. the Simulink environment. Currently, CoCoSim The second approach relies on the notion of mu- is connected to three verifiers. tants. Usually, mutants are used to evaluate the First, Kind2 [10] is a powerful tool that imple- quality of a test suite. We generate a set of mutant ment multiple algorithms including k-induction [36] programs and apply different test suites. A good and IC3/PDR [5] as well as on-the-fly invariant gen- test suite distinguishes valid program from mutants. eration. All of these can be performed with various Here the approach is different. After generating SMT solvers: CVC4, Z3, Yices. mutants, we use the same bounded-model checking Second, Zustre [21] relies on the LustreC [20] tools to build a test case that will distinguish them. modular compiler.
Recommended publications
  • Porta-SIMD: an Optimally Portable SIMD Programming Language Duke CS-1990-12 UNC CS TR90-021 May 1990

    Porta-SIMD: an Optimally Portable SIMD Programming Language Duke CS-1990-12 UNC CS TR90-021 May 1990

    Porta-SIMD: An Optimally Portable SIMD Programming Language Duke CS-1990-12 UNC CS TR90-021 May 1990 Russ Tuck Duke University Deparment of Computer Science Durham, NC 27706 The University of North Carolina at Chapel Hill Department of Computer Science CB#3175, Sitterson Hall Chapel Hill, NC 27599-3175 Text (without appendix) of a Ph.D. dissertation submitted to Duke University. The research was performed at UNC. @ 1990 Russell R. Tuck, III UNC is an Equal Opportunity/Atlirmative Action Institution. PORTA-SIMD: AN OPTIMALLY PORTABLE SIMD PROGRAMMING LANGUAGE by Russell Raymond Tuck, III Department of Computer Science Duke University Dissertation submitte in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 1990 Copyright © 1990 by Russell Raymond Tuck, III All rights reserved Abstract Existing programming languages contain architectural assumptions which limit their porta­ bility. I submit optimal portability, a new concept which solves this language design problem. Optimal portability makes it possible to design languages which are portable across vari­ ous sets of diverse architectures. SIMD (Single-Instruction stream, Multiple-Data stream) computers represent an important and very diverse set of architectures for which to demon­ strate optimal portability. Porta-SIMD (pronounced "porta.-simm'd") is the first optimally portable language for SIMD computers. It was designed and implemented to demonstrate that optimal portability is a useful and achievable standard for language design. An optimally portable language allows each program to specify the architectural features it requires. The language then enables the compiled program to exploit exactly those fea.­ tures, and to run on all architectures that provide them.
  • Pnw 2020 Strunk001.Pdf

    Pnw 2020 Strunk001.Pdf

    Remote Sensing of Environment 237 (2020) 111535 Contents lists available at ScienceDirect Remote Sensing of Environment journal homepage: www.elsevier.com/locate/rse Evaluation of pushbroom DAP relative to frame camera DAP and lidar for forest modeling T ∗ Jacob L. Strunka, , Peter J. Gouldb, Petteri Packalenc, Demetrios Gatziolisd, Danuta Greblowskae, Caleb Makif, Robert J. McGaugheyg a USDA Forest Service Pacific Northwest Research Station, 3625 93rd Ave SW, Olympia, WA, 98512, USA b Washington State Department of Natural Resources, PO Box 47000, 1111 Washington Street, SE, Olympia, WA, 98504-7000, USA c School of Forest Sciences, Faculty of Science and Forestry, University of Eastern Finland, P.O. Box 111, 80101, Joensuu, Finland d USDA Forest Service Pacific Northwest Research Station, 620 Southwest Main, Suite 502, Portland, OR, 97205, USA e GeoTerra Inc., 60 McKinley St, Eugene, OR, 97402, USA f Washington State Department of Natural Resources, PO Box 47000, 1111 Washington Street SE, Olympia, WA, 98504-7000, USA g USDA Forest Service Pacific Northwest Research Station, University of Washington, PO Box 352100, Seattle, WA, 98195-2100, USA ARTICLE INFO ABSTRACT Keywords: There is growing interest in using Digital Aerial Photogrammetry (DAP) for forestry applications. However, the Lidar performance of pushbroom DAP relative to frame-based DAP and airborne lidar is not well documented. Interest Structure from motion in DAP stems largely from its low cost relative to lidar. Studies have demonstrated that frame-based DAP Photogrammetry generally performs slightly poorer than lidar, but still provides good value due to its reduced cost. In the USA Forestry pushbroom imagery can be dramatically less expensive than frame-camera imagery in part because of a na- DAP tionwide collection program.
  • GUIDE to INTERNATIONAL UNIVERSITY ADMISSION About NACAC

    GUIDE to INTERNATIONAL UNIVERSITY ADMISSION About NACAC

    GUIDE TO INTERNATIONAL UNIVERSITY ADMISSION About NACAC The National Association for College Admission Counseling (NACAC), founded in 1937, is an organization of 14,000 professionals from around the world dedicated to serving students as they make choices about pursuing postsecondary education. NACAC is committed to maintaining high standards that foster ethical and social responsibility among those involved in the transition process, as outlined in the NACAC’s Guide to Ethical Practice in College Admission. For more information and resources, visit nacacnet.org. The information presented in this document may be reprinted and distributed with permission from and attribution to the National Association for College Admission Counseling. It is intended as a general guide and is presented as is and without warranty of any kind. While every effort has been made to ensure the accuracy of the content, NACAC shall not in any event be liable to any user or any third party for any direct or indirect loss or damage caused or alleged to be caused by the information contained herein and referenced. Copyright © 2020 by the National Association for College Admission Counseling. All rights reserved. NACAC 1050 N. Highland Street Suite 400 Arlington, VA 22201 800.822.6285 nacacnet.org COVID-19 IMPACTS ON APPLYING ABROAD NACAC is pleased to offer this resource for the fifth year. NACAC’s Guide to International University Admission promotes study options outside students’ home countries for those who seek an international experience. Though the impact the current global health crisis will have on future classes remains unclear, we anticipate that there will still be a desire among students—perhaps enhanced as a result of COVID-19, to connect with people from other cultures and parts of the world, and to pursue an undergraduate degree abroad.
  • User Guide - Opendap Documentation

    User Guide - Opendap Documentation

    User Guide - OPeNDAP Documentation 2017-10-12 Table of Contents 1. About This Guide . 1 2. What is OPeNDAP. 1 2.1. The OPeNDAP Client/Server . 2 2.2. OPeNDAP Services . 3 2.3. The OPeNDAP Server (aka "Hyrax"). 4 2.4. Administration and Centralization of Data . 5 3. OPeNDAP Data Model . 5 3.1. Data and Data Models . 5 4. OPeNDAP Messages . 17 4.1. Ancillary Data . 17 4.2. Data Transmission . 23 4.3. Other Services . 24 4.4. Constraint Expressions . 27 5. OPeNDAP Server (Hyrax) . 34 5.1. The OPeNDAP Server. 34 6. OPeNDAP Client . 37 6.1. Clients . 38 1. About This Guide This guide introduces important concepts behind the OPeNDAP data model and Web API as well as the clients and servers that use them. While it is not a reference for any particular client or server, you will find links to particular clients and servers in it. 2. What is OPeNDAP OPeNDAP provides a way for researchers to access scientific data anywhere on the Internet, from a wide variety of new and existing programs. It is used widely in earth-science research settings but it is not limited to that. Using a flexible data model and a well-defined transmission format, an OPeNDAP client can request data from a wide variety of OPeNDAP servers, allowing researchers to enjoy flexibility similar to the flexibility of the web. There are different implementations of OPeNDAP produced by various open source NOTE organizations. This guide covers the implementation of OPeNDAP produced by the OPeNDAP group. The OPeNDAP architecture uses a client/server model, with a client that sends requests for data out onto the network to a server, that answers with the requested data.
  • ESAIL D3.3.4 Auxiliary Tether Reel Test Report

    ESAIL D3.3.4 Auxiliary Tether Reel Test Report

    WP 3.3 “Auxiliary tether reel”, Deliverable D3.3.4 ESAIL ESAIL D3.3.4 Auxiliary tether reel test report Work Package: WP 3.3 Version: Version 1.0 Prepared by: DLR German Aerospace Center, Roland Rosta Time: Bremen, June 18th, 2013 Coordinating person: Pekka Janhunen, [email protected] 1 WP 3.3 “Auxiliary tether reel”, Deliverable D3.3.4 ESAIL Document Change Record Pages, Tables, Issue Rev. Date Modification Name Figures affected 1 0 18 June 2013 All Initial issue Rosta 2 WP 3.3 “Auxiliary tether reel”, Deliverable D3.3.4 ESAIL Table of Contents 1. Scope of this Document ......................................................................................................................... 5 2. Test Item Description ............................................................................................................................ 6 2.1. Auxiliary Tether Reel...................................................................................................................... 6 3. Test Results ............................................................................................................................................ 7 3.1. Shock and Vibration Tests .............................................................................................................. 7 3.2. Thermal Vacuum Tests ................................................................................................................. 10 4. Appendix .............................................................................................................................................
  • Optimization of Virtual Power Plant in Nordic Electricity Market

    Optimization of Virtual Power Plant in Nordic Electricity Market

    DEGREE PROJECT IN ELECTRICAL ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2019 Optimization of Virtual Power Plant in Nordic Electricity Market JWALITH DESU KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE KTH Royal Institute of Technology Master Thesis Optimization of Virtual Power Plant in the Nordic Electricity Market Author: Jwalith Desu Supervisor: Dr. Mohammad Reza Hesamzadeh Examiner: Dr. Mohammad Reza Hesamzadeh A thesis submitted in fulfilment of the requirements for the degree of Master of Science in the Electricity Market Research Group (EMReG) School of Electrical Engineering October 2019 Declaration of Authorship I, Jwalith DESU, declare that this thesis titled, 'Optimization of Virtual Power Plant in the Nordic Electricity Market' and the work presented in it are my own. I confirm that: This work was done wholly or mainly while in candidature for a research degree at this University. Where any part of this thesis has previously been submitted for a degree or any other qualification at this University or any other institution, this has been clearly stated. Where I have consulted the published work of others, this is always clearly at- tributed. Where I have quoted from the work of others, the source is always given. With the exception of such quotations, this thesis is entirely my own work. I have acknowledged all main sources of help. Where the thesis is based on work done by myself jointly with others, I have made clear exactly what was done by others and what I have contributed myself. Signed: Date: i Abstract With the world becoming more conscious about achieving 1.5-degree scenario as promised by the most powerful economies of the world, much needed push was received by the renewable energy technology providers.
  • Maple Park Parent Handbook

    Maple Park Parent Handbook

    MAPLE PARK MIDDLE SCHOOL - PARENT HANDBOOK 2018-2019- FUTURE GRIFFINS . available at schoo l offices aad d;,o,;c,w,bs;Oe • Official Boar d o f Education pohwww.c~1es nkcschools.org Parent/Student Handbook Welcome to Maple Park Middle School Dr. Brian Van Batavia, Principal Reagan Allegri, Assistant Principal Andrea Stauch, Assistant Principal 5300 N. Bennington Ave Kansas City, Missouri 64119 816-321-5280 www.nkcschools.org/mpms/ General Phone Information Maple Park Office 321-5280 6:45–2:45 p.m. Attendance 321-5282 24 hours Fax 321-5281 24 hours School Nurse 321-5283 7:45–3:00 p.m. Maple Park Cafeteria 321-5284 7:30–2:00 p.m. Central Office 321-5000 8:00–5:00 p.m. Transportation 321-5007 8:00–5:00 p.m. School Hours Office hours: 6:45 a.m.–2:45 p.m. Class hours: 7:15 a.m.–2:12 p.m. Early Release Thursday: 7:15 a.m.-1:37 p.m. Activities: 2:15 p.m.–4:45 p.m. July 5, 2018 Dear Maple Park Families, Welcome to Maple Park for the 2018-2019 School Year! I am looking forward to growing and learning with each of you as this will be my third year at Maple Park! I love middle school and the vast amounts of maturity that is achieved by the students during these years. I can’t wait to get to know each one of you. We are so fortunate to expand our attendance area and welcome new families into our school community.
  • Large Area Forest Yield Estimation with Pushbroom Digital Aerial Photogrammetry

    Large Area Forest Yield Estimation with Pushbroom Digital Aerial Photogrammetry

    Article Large Area Forest Yield Estimation with Pushbroom Digital Aerial Photogrammetry Jacob Strunk 1,*, Petteri Packalen 2, Peter Gould 3, Demetrios Gatziolis 4, Caleb Maki 5, Hans-Erik Andersen 6 and Robert J. McGaughey 6 1 USDA Forest Service Pacific Northwest Research Station, 3625 93rd Ave SW, Olympia, WA 98512, USA 2 School of Forest Sciences, Faculty of Science and Forestry, University of Eastern Finland, P.O. Box 111, 80101 Joensuu, Finland; [email protected] 3 Washington State Department of Natural Resources, P.O. Box 47000 and 1111 Washington Street SE Olympia, WA 98504-7000, USA; [email protected] 4 USDA Forest Service Pacific Northwest Research Station, 620 Southwest Main Suite 400 Portland, OR 97205, USA; [email protected] 5 Washington State Department of Natural Resources, P.O. Box 47000, 1111 Washington Street SE Olympia, WA 98504-7000, USA; [email protected] 6 USDA Forest Service Pacific Northwest Research Station, University of Washington, P.O. Box 352100, Seattle, WA 98195-2100, USA; [email protected] (H.-E.A.); [email protected] (R.J.M.) * Correspondence: [email protected] Received: 5 February 2019; Accepted: 1 May 2019; Published: 7 May 2019 Abstract: Low-cost methods to measure forest structure are needed to consistently and repeatedly inventory forest conditions over large areas. In this study we investigate low-cost pushbroom Digital Aerial Photography (DAP) to aid in the estimation of forest volume over large areas in Washington State (USA). We also examine the effects of plot location precision (low versus high) and Digital Terrain Model (DTM) resolution (1 m versus 10 m) on estimation performance.
  • Quickstart - Opendap

    Quickstart - Opendap

    QuickStart - OPeNDAP 2017-10-12 Table of Contents 1. Introduction. 1 1.1. Key Terms . 1 2. What to do With an OPeNDAP URL . 1 2.1. An Easy Way: Using the Browser-Based OPeNDAP Server Dataset Access Form . 2 2.2. A More Flexible Way: Using Commands in a Browser . 5 3. Finding OPeNDAP URLs . 13 3.1. Google . 13 3.2. GCMD. 13 3.3. Web Interface . 13 4. Further Analysis . 14 1. Introduction OPeNDAP is the developer of client/server software, of the same name, that enables scientists to share data more easily over the internet. The OPeNDAP group is also the original developer of the Data Access Protocol (DAP) that the software uses. Many other groups have adopted DAP and provide compatible clients, servers, and SDKs. OPeNDAP’s DAP is also a NASA community standard. For the rest of this document, "OPeNDAP" will refer to the software. With OPeNDAP, you can access data using an OPeNDAP URL of any database server that supports OPeNDAP. You can do this via command-line, Internet browser, or a custom UI. You can also use other NetCFD complaint tools, such asMatlab, R, IDL, IDV, and Panoply. Note that OPeNDAP data is, by default, stored and transmitted in binary form. In addition to its native data representation format, OPeNDAP can get data in the following formats: NetCDF, GeoTIFF, JPEG2000, JSON, ASCII. This quick start guide covers how to use OPeNDAP in a typical web browser, such as Firefox, Chrome, or Safari, to discover information about data that is useful when creating database queries.
  • Download (1MB)

    Download (1MB)

    Developing Policy Inputs for Efficient Trade and Sustainable Development Using Data Analysis Mini.K.G Senior Scientist, Fisheries Resources Assessment Division Central Marine Fisheries Research Institute, Kochi Email: [email protected] Introduction Trade forms a vital part of the world economy. The analysis of data on trade and related parameters plays a pivotal role in developing policy inputs for efficient trade and sustainable development. It is evident that the success of any type of analysis depends on the availability of the suitable type of data. In general, time series, cross sectional and pooled data are the three types of data available for trade analysis. Time series data are characterized by observations collected at regular intervals over a period of time while cross-sectional data are data on one or more variables collected at the same point of time. The pooled data is a combination of time series and cross-sectional data. For example, panel data, which is a special type of pooled data is used to study the relationship between trade flows and trade barriers over time. In recent years, the quantitative and qualitative analysis of trade and the effects of policies have grown sharply. This was due to the advances in the theoretical and analytical techniques as well as increased computational and data processing power of computers. A multitude of analysis tools are available in today’s world for a thorough and scientifically valid analysis of data. There are several choices available for the user to choose from – ranging from the general public license packages, analysis packages with statistical add-ons, general purpose languages with statistics libraries to the advanced proprietary packages.
  • Plantgl: a Python-Based Geometric Library for 3D Plant Modelling At

    Plantgl: a Python-Based Geometric Library for 3D Plant Modelling At

    PlantGL: A Python-based geometric library for 3D plant modelling at different scales Christophe Pradal, Frédéric Boudon, Christophe Nouguier, Jérôme Chopard, Christophe Godin To cite this version: Christophe Pradal, Frédéric Boudon, Christophe Nouguier, Jérôme Chopard, Christophe Godin. PlantGL: A Python-based geometric library for 3D plant modelling at different scales. Graphical Models, Elsevier, 2009, 71 (1), 1–21, posted-at = 2008-11-04 14:10:07. 10.1016/j.gmod.2008.10.001. hal-00850782 HAL Id: hal-00850782 https://hal.inria.fr/hal-00850782 Submitted on 8 Aug 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. PlantGL: a Python-based geometric library for 3D plant modelling at different scales C. Pradal a 1 , F. Boudon a,∗1, C. Nouguier a, J. Chopard b, C. Godin b aCIRAD, Virtual Plants INRIA Project-Team, UMR DAP, Montpellier, F-34398 France. bINRIA, Virtual Plants INRIA Project-Team, UMR DAP, Montpellier, F-34398 France. Abstract In this paper, we present PlantGL, an open-source graphic toolkit for the creation, simulation and analysis of 3D virtual plants. This C++ geometric library is embedded in the Python language which makes it a powerful user-interactive platform for plant modeling in various biological application domains.
  • Building Micropython with KEIL and Programming with Python on I.MX RT1050/1060 Rev

    Building Micropython with KEIL and Programming with Python on I.MX RT1050/1060 Rev

    AN13242 Building Micropython with KEIL and Programming with Python on i.MX RT1050/1060 Rev. 0 — 27 April, 2021 Application Note Contents 1 Introduction 1 Introduction......................................1 This application note introduces the porting of MicroPython, the packaging of 2 Hardware platform...........................1 2.1 i.MX RT1050/60 crossover peripheral functions, and the adaptation of circuit boards, using the example process........................................ 1 of our work on the i.MX RT1050/1060EVK development board. The code are 2.2 i.MX RT1050/60 EVK board........ 1 mainly written in C language, but are presented to the users as Python modules 3 Micropython.....................................2 and types. You can either evaluate and use MicroPython on this development 3.1 Brief introduction to Python board, or use it to port and adapt your new board design. MicroPython’s native Language.....................................2 project management and build environment is based on GCC and Make under 3.2 Brief introduction to Micropython Linux. To facilitate the development habits of most MCU embedded engineers, .....................................................3 the development environment is also ported to Keil MDK5. 4 Building and running Micropython on i.MX RT1050/1060 EVK.................. 3 The readers are expected to have basic experience of development with KEIL 4.1 Downloading source code........... 3 MDK, knowing what is CMSIS-Pack, the concept of target in KEIL and how to 4.2 Opening project with KEIL