-
Notifications
You must be signed in to change notification settings - Fork 26
Chunks
Much of Drasil's framework is based on the principles of information encoding, reusability, and traceability. Information encoding, in its truest form, is the idea that once we teach Drasil about piece of semantic information, it should remember the information forever. Another user should not have to teach it again. Thus, we can improve the efficiency and reliability of generating programs that require knowledge from different domains. Drasil has already demonstrated this quality with the domain of physics in particular. For example, much of the information from the Projectile
example may be found in the Pendulum
or GamePhysics
examples. After all, physics theories and facts should not have to be changed or repeated from one use-case to the next. The law of inertia will not change whether the object is a projectile, pendulum, or video game object. And this idea is exactly the principle of information encoding that Drasil is trying to use. The reuse of information itself is not really the tricky part. Once Drasil has sufficient and meaningful knowledge of an idea or topic, other programs may be created that can reliably receive those ideas and put them to good use.
The tricky part of all of this is teaching Drasil the information in the first place. It is not enough to just tell Drasil that "F = ma"
, especially not if it is given as a String
. With that, Drasil would be able to regurgitate the given information, but it would not be able to use it with significance. This specific reason is why some people Drasil cannot just pick up a Physics textbook and start reading it. As smart as computers are today, they are not at the point where self-taught information is reliable or efficient. Although there have been great strides in this respect with Grammatical Frameworks and machine learning, this kind of information is near useless because the program cannot understand the semantic meaning.
Hence, our method for teaching Drasil information with semantic meaning is to break up that information into small Chunks
of data. These Chunks
may then have rules applied to them that faintly imitate the logic of human interpretation. By defining Chunks
with a set of rules, we can enable the transformation and application of knowledge going from a single project to a whole domain. This article will help to define Chunks
, their uses in Recipies
, and the way they may be used to transfer information across a whole domain.
These are all very important aspects needed to keep programs relevant and usable. This also means that Drasil should be able to adapt to new knowledge while still holding on to older information. As users input knowledge needed to complete their goals or projects, Drasil should be able to absorb information and consistently generate reliable artifacts dependent on that information. Of course, there will be many steps in between giving Drasil information and it giving back meaningful documentation, but the idea of Drasil constantly gaining knowledge should be present any time we choose to work with it.
- Home
- Getting Started
- Documentation (of Drasil specifics)
- Design
-
Readings
- Drasil Papers and Documents
- Related Work and Inspiration
- Writing Documentation
- Compression as a Means to Learn Structure
- Glossary, Taxonomy, Ontology
- Grounded Theory
- Model Driven Scrapbook
- Model Transformation Languages
- ODE Definitions
- The Code Generator
- Suggested Reading
- Sustainability
- Productivity
- Reuse
- Formal Concept Analysis
- Generative Programming
- Software Documentation
- Units and Quantities
- Misc.
- WIP Projects