Logos

High-Level Project Summary

Logos is a real-time cooperative logging and log management system with flexible access control, custom filtering and high security to provide better contribution, safer communication between the mission participants and data flow between humans and autonomous sensors or unmanned vehicles. This is a new idea made for this hackathon. It covers all of the elements of the potential considerations, but we add unique features to make it innovative. Users can read and write console logs, attach files or add tags, attributes and description to the log entry. Writing a log entry is visible to users on the same channel (mission). Unique filtering and searching help to contribute on a new level.

Link to Final Project

Detailed Project Description

Logos provides a full log management tool for real time and post-mission operations to make the logging process easier, faster and help the cooperation and collaboration between the users.

πŸ–Š Users can write log entries. The main content of each log entry is text. It is possible to attach any kinds of files (like photos, audio, video, database file) or add tags, attributes and descriptions to the log entry. These contents help to filter the logs when a user reads log entries in an intermixed form. Log entries can be modified any time before sending. However, after the sending process, the log entry will be permanently unmodifiable. This is not just a database trick based on an authorization process. We send a hash value with the message that helps to check the consistency of the log entry. To provide security, we use RSA256 algorithms.

πŸ‘“ Users can read their own logs intermixed with others. Filtering options helps to decrease the number of available entries. We provide a search function that helps to search the text content of entries. If an entry seems useful, the user can link it to the written log entry. This method provides better insight about the relation of log entries.


βš™ Workflow

  1. Log in
  2. Select a log where the entry will be posted
  3. Write the text content
  4. Add tags (optional)
  5. Add description (optional)
  6. Add attributes (optional)
  7. Close the log and send
  8. Read entries from others
  9. Log out


πŸ€– Logos can handle data from autonomous sensors and unmanned vehicles. If the operator sets any default tags or attributes to that data stream, users can filter out from the log with one click in case it is not useful to their work. Of course, if the sensor operates on a smerter device that can run our code, it can be programmed to react to the log entries. This means the new form of human-machine interactions.

πŸ” It is important that we use simple and transparent technology. However, some requirements fit well for a solution like blockchain (permanent unmodifiable log entry) or machine learning, these technologies have some serious disadvantages in this case. However, in the future we want to provide an API to help the integration of 3rd party services (like spell checking, AI/ML frameworks) or build directly an ML tool for predictive typing. Maintaining a blockchain based network consumes a lot of money, so this is out of scope for us. Our software can operate with really low costs. The code contains server and client parts at the same time to provide flexibility. Any device can turn into a server. A common Raspberry Pi can serve a small number of users.

πŸ— We built this project in Python, PHP and SQL. We made C++ and JAVA headers to show the direction of future development. The code was tested on 4 different computers. Two desktop machines with Intel i3 and i5 processors and two Raspberry Pi computers. One of them is Raspberry Pi 3 and the other is Raspberry Pi 4. Turning our code into JAVA means that we can open it for tablets and mobile phones.

🧠 Our coding design is based on compatibility. We have a common routine to begin with Python since it is very useful for modeling purposes but we always keep in mind a much wider scope. Since we know well no resources can be enough we try to keep our things simple. In this project aside from RSA functions we used Python’s standard library only. This means that translating our code into C++, Java and JavaScript is possible since cryptographic services can be accessed for all those languages in open source form. We made our demo UI as a web page. We were curious whether our idea could be realized in a browser or not. However the code is far from final from the view of the use of resources as well, it might work in this form too.

🧩 Our solution is constructed in modules to provide high flexibility and the opportunity of integration. Security parts like signature and encryption/decryption or serialization/deserialization processes are changeable to fit the ideal optimum between resource consumption and security. We used singleton classes to minimize network traffic, memory usage and to avoid the need of saving sensible data on local drives. Since the stored data is quite small, those singletons do not block the memory. There are a lot of further coding and UI design questions to decide; they mostly depend on the desired optimums. To make a really useful product at the end, it would be good to have a consultancy from experts of NASA and get feedback from them. We are fully self-propelled, but with a little guidance we can go further than we could go alone.

πŸ’‘ This is a new idea made for this hackathon inspired by the challenge description. It covers all of the elements of the potential considerations and we add unique features to make it innovative and future-proof. Besides these, we want a multiple steps future development plan from lift-off based time system, through macros and hotkeys support or decentralized multi server workflow till handling any chain of command within the app.

πŸš€ We would like to win, since we would really like to see lunch away from the keyboard (AFK) mode. However, we know there will be a lot of good and high quality projects in this Challenge. Our biggest dream is to develop this project further to make it a daily used software by NASA. We are committed and we would like to make a cooperation with NASA to get feedback from employees like astronauts and flight controllers to make this project better. We are far away from stepping on the Moon, but we believe our software can operate in space or on other planets as well. We can offer our knowledge, experiences, commitment and time to achieve this ambitious goal. Please, help us.

Space Agency Data

List of data:

core features:

➑ Challenge description

➑ Log example video

data:

➑ Nasa paper log example

➑ Apollo Flight Journal

➑ EP-72 Log of Apollo 11

➑ Apollo 11 in real time


πŸ“š We collected inspiration from the challenge description, the potential considerations and the log example video as well. Those data grounded our core features. We thought, the potential considerations are must-have features.

πŸ“ The logs under the resources menu provided the necessary data insight to develop a suitable data structure. We used the Nasa paper log example for our demo UI as well.

Hackathon Journey

🌎 We really like Space Apps. This is our second year on the Space Apps Challenge. It’s really nice to participate in an event, where people come from different countries with different backgrounds and try to build something useful and have fun at the same time. These days tear us out from our reality. This is a safe space where we can forget the daily problems to focus on important things. We know we are just small cogs, but it is an amazing feeling to be in a part of a great community. Maybe we are different, but at least during one weekend, all of us are just an earthling. It does not matter our race, gender, education, age, etc, since we come here to be in something big and meaningful. For us, the Space Apps Challenge is more than just a hackathon. It is really nice to see social media posts around the world from this Challenge. Throwing one like or just a nice comment leads to great conversations and we hope, these sentences are the beginning of future friendships.

🀩 There were a lot of interesting challenges on the Space Apps Challenge, but we had to pick one. It is funny that one of our deal-maker points was a total dead-end, since we wanted to pick a challenge where we can learn new things. This wasn’t a really good filter, because all of the challenges provided this opportunity. We know, keeping our ocean clean or monitoring and saving our insects has far more direct impact on human lives in a short time than a space mission related software. However, we think this challenge is made for us. The goals of Space Apps Challenge goes beyond us, the world and people can earn the most if developers and scientists use their passions and knowledge on the field they know and like. We are freelance deep learning developers with a lot of experience from data handling to networking solutions. We are two earthlings who want to help to widen the limits of space missions based on log handling software with real-time collaboration and data processing like never before.

🧐 We learned two different kinds of knowledge: development-related coding knowledge and personal gains. Building an app that serves more than 100+ users simultaneously means we have to create a test for this approach. This was a great challenge for us due to the small number of available devices during the hackathon. We learned a lot about ourselves as well. A hackathon is always a good way to get to know our limits and expand them. Coding a lot of hours without sleeping is challenging for us and for our family. We know how they love us, since we got a lot of support from them.

πŸ’ͺ We used our developing approach. We work together as freelance deep learning developers. Since this is a small team, the common methods like waterfall or agile do not fit us very well. However, our method is mostly based on the concept of agile. We had meetings 5-7 times a day. In these short sessions we report about the progress from the last meeting and we give the personalized tasks for the next time window. We began the development with a top-down mindset. We imagined the whole picture. When it seemed good, we jumped to the bottom and made a function-based plan that is based on the description of the challenge and the potential considerations.

🎒 There are always ups and downs during a development process. However, it can be handled better, when we talk about long term development. In a hackathon everything happens really fast. Problems come faster. Since we are friends, we can manage the collisions. Focusing on more than 2 days constantly is impossible. When one of us is left behind we always reallocate our tasks for the next time window. We did it this weekend as well.

πŸ‘¨β€πŸš€ Every child wants to be an astronaut. Our life went in a really different ways, but the children living in us were quite happy during the Challenge. We hope we can give something useful to NASA and space communities that helps to widen the limit of space exploration.

πŸ‘ We would like to thank the organizer staff for their hard work. We know, creating a worldwide event is hard and challenging. We were happy during this weekend. They did a great job, we appreciate it. Thank you very much.

References

🧰 Software and services:

➑ collaborative coding: Atom with Teletype extension

➑ Python environment: Spyder with Python 3.8

➑ Demo hosting: Google Slides

➑ Demo content: Inkscape

➑ Testing PHP UI: Firefox (latest stable), Chrome (latest stable)


🧰 Hardware:

We tested our code on 4 different machines. Intel i3 with 8Gb RAM, Intel i5 with 8Gb RAM, Raspberry Pi3 with 2Gb RAM, Raspberry Pi 4 with 4Gb RAM


🧰 Resources:

Nasa:

core features:

➑ Challenge description

➑ Log example video

data:

➑ Nasa paper log example

➑ Apollo Flight Journal

➑ EP-72 Log of Apollo 11

➑ Apollo 11 in real time

Other:

➑ icons in UI and on Demo (except rover and footsteps): fontawesome

➑ rover icon: made by us (team Logos)

➑ footsteps icon: made by us (team Logos)


🧰 Links to our contents:

➑ demo slides

➑ final project (clickable)

➑ github

Tags

#log #python #collaboration #communication #spacemission #rsa #software #automation_ready #Artemis

Global Judging

This project has been submitted for consideration during the Judging process.