Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse IoT
  4. Eclipse Mita
  5. Eclipse Mita
×

Informative message

This proposal has been approved and the Eclipse Mita project has been created.
Visit the project page for the latest information and development.

Go to Project

Eclipse Mita

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse IoT
Background: 

The Internet of Things (IoT) revolves around the development, mass-production and deployment of wireless embedded sensor devices. This development has to reconcile competing goals. Many IoT devices are resource-constraint (e.g. in power, memory, computation), which mandates we write software on a low abstraction level (in C, working on a bare resource-level). This eases product development later-on but impedes exploration and flexibility. Developers have to care about hardware-specific details instead of focusing on sensor data and connectivity to the Cloud or other systems. Novices face a high entry barrier and are offered a complex developer experience.

Scope: 

Eclipse Mita aims to build a new programming language for the embedded IoT including editor/IDE, compiler and an extensive test-suite. Mita inherits the syntax of modern general-purpose system-level languages (e.g. Swift or Rust), but compiles to near-production ready C code. It offers powerful abstractions for sensor access, connectivity and general purpose IO. Centered around developer experience, it is build as a DSL using Eclipse Xtext.

Description: 

Eclipse Mita is a programming language for the embedded IoT. We combine a declarative setup of system resources (e.g. Bluetooth connectivity or a temperature sensor) with a modern imperative language. We introduce first-class primitives for sensor access and connectivity to other systems, which allows for quick exploration and integration into IoT ecologies. We support embedded algorithm through powerful primitives, e.g. lists, vectors and statistic functions. In order to prevent problems at compile-time Mita has a static strong type-system. Lastly, we offer direct interaction with sensor data and in-situ developer support by integrating with the embedded software development toolchains.

The demo below gives an incling of how the language works:

 

Why Here?: 

The Eclipse IoT ecosystem supports organizations and developers in building solutions on medium-power devices, to communicate between devices (Leshan, Vorto) and in the Cloud. While in the embedded and low-power space Eclipse is present with the CDT, IoT specific problems are yet to be addressed. Mita would be a step towards expanding the Eclipse IoT ecosystem into low-power, embedded solution development.

Licenses: 
Eclipse Public License 2.0
Legal Issues: 

The current implementation uses the Yakindu State Chart Tools (EPL licensed) for its type system and expressions.

Future Work: 

In future work we plan to explore the language level integration with Eclipse Vorto. Further, we intend to investigate a visual programming language built on top of this work.

People
Project Leads: 
Christian Weichel
Simon Wegendt
Committers: 
Christian Weichel
Simon Wegendt
Thomas Kutz
Andreas Muelder
Mentors: 
Pascal Rapicault
Source Code
Initial Contribution: 

The initial code drop will follow.

Source Repository Type: 
GitHub
  • Sign in to post comments.
Incubating - Eclipse Mita

Related Projects

Project Hierarchy:

  • Eclipse IoT
  • Eclipse Mita

Tags

Technology Types
  • IoT and Edge
  • Language
  • Modeling

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top