Home
News
Why & How
This is it
Architecture Core systems & services How to implement Documentation model Compliance Application Services
Did you know
Downloads
Contact
Git
Home News Why & How This is it - Architecture - Core systems & services - How to implement - Documentation model - Compliance - Application Services Did you know Downloads Contact Git

New Base Library for the Arrowhead Framework

New Base Library for the Arrowhead Framework

Tweet

A strong programming background and a penchant for ever-elusive “beautiful code” has led LTU’s Emanuel Palm to develop a new Java library for the Arrowhead Framework.

In striving to establish a set of standards, Arrowhead systems need to be implemented and tested to ensure that they communicate smoothly and securely. The sheer volume of operations and systems in the Arrowhead collaboration means that the project produces large quantities of code. Faced with implementing his own Arrowhead system, Palm decided that it would be convenient to create a base library, although he admits that he hadn’t necessarily realized how much work it would entail to create a well-functioning library.

Years spent working as a professional programmer, means that Palm has experience of numerous coding languages and a wide array of code libraries - both better and poorer examples. He points out that a common shortcoming of code produced purely within the bounds of academia is that once it has served its purpose it remains dormant - at best a potentially interesting dead end on GitHub. An active initiator of so-called GitHub issues, Palm has started a process of discussion about the assumptions and underlying ideas of other code libraries in the Arrowhead project, which in turn has helped promote the creation a supervision board to oversee the development process and create a smoothly functioning feedback loop. Palm hopes that this will contribute to bridging the gap between industry and academia by peaking the interest of active software engineers and continuing the development of useful code - furthering the spillover benefits of the Arrowhead project.  

Design philosophy
Correctness, convenience and performance - in that order - form the design principles behind the new Arrowhead Base Library. Good programming practice means using minimal code to create a user experience that is as simple and intuitive as possible. Palm’s philosophy is based on the idea of “failing fast”, validating as much user input as possible to help users understand mistakes early rather than allowing them to accumulate and end with time consuming failures later on in the process. He explains that, when it comes to code,  “convenience for the library user often means inconvenience for the library creator”, comparing good websites that leave the user feeling that everything is clear and functions seamlessly with sites where “you feel permanently lost”. This convenience means, for instance, not requiring users to explicitly provide information that can be correctly derived from context. Performance means that Palm’s system is optimized for a short start-up time and prioritizes runtime over compile-time.    

The library
The result of Palm’s labours is a Java 11 library that approaches Arrowhead systems in a different way to the existing libraries. The library is currently being used by Palm in the implementation of his own Arrowhead system as well as another Arrowhead contractor. For more information visit https://arkalix.se/

A strong programming background and a penchant for ever-elusive “beautiful code” has led LTU’s Emanuel Palm to develop a new Java library for the Arrowhead Framework.

In striving to establish a set of standards, Arrowhead systems need to be implemented and tested to ensure that they communicate smoothly and securely. The sheer volume of operations and systems in the Arrowhead collaboration means that the project produces large quantities of code. Faced with implementing his own Arrowhead system, Palm decided that it would be convenient to create a base library, although he admits that he hadn’t necessarily realized how much work it would entail to create a well-functioning library.

Years spent working as a professional programmer, means that Palm has experience of numerous coding languages and a wide array of code libraries - both better and poorer examples. He points out that a common shortcoming of code produced purely within the bounds of academia is that once it has served its purpose it remains dormant - at best a potentially interesting dead end on GitHub. An active initiator of so-called GitHub issues, Palm has started a process of discussion about the assumptions and underlying ideas of other code libraries in the Arrowhead project, which in turn has helped promote the creation a supervision board to oversee the development process and create a smoothly functioning feedback loop. Palm hopes that this will contribute to bridging the gap between industry and academia by peaking the interest of active software engineers and continuing the development of useful code - furthering the spillover benefits of the Arrowhead project.  

Design philosophy
Correctness, convenience and performance - in that order - form the design principles behind the new Arrowhead Base Library. Good programming practice means using minimal code to create a user experience that is as simple and intuitive as possible. Palm’s philosophy is based on the idea of “failing fast”, validating as much user input as possible to help users understand mistakes early rather than allowing them to accumulate and end with time consuming failures later on in the process. He explains that, when it comes to code,  “convenience for the library user often means inconvenience for the library creator”, comparing good websites that leave the user feeling that everything is clear and functions seamlessly with sites where “you feel permanently lost”. This convenience means, for instance, not requiring users to explicitly provide information that can be correctly derived from context. Performance means that Palm’s system is optimized for a short start-up time and prioritizes runtime over compile-time.    

The library
The result of Palm’s labours is a Java 11 library that approaches Arrowhead systems in a different way to the existing libraries. The library is currently being used by Palm in the implementation of his own Arrowhead system as well as another Arrowhead contractor. For more information visit https://arkalix.se/

Latest News

  • New Base Library for the Arrowhead Framework

Eclipse Arrowhead

Main Eclipse Foundation website
Privacy Policy
Website tems of use
Copyright agent
Legal Resources

Projects

Arrowhead Project
Arrowhead Tools
Productive 4.0
EMC2
FAR-EDGE
Opti
MANTIS

Contact

For more information about the Arrowhead project, please contact: info@arrowhead.eu

Social Media

Copyright © Eclipse Foundation, Inc. All Rights Reserved.