diff --git a/NOTICE b/NOTICE index 589c0f3..aa5d99e 100644 --- a/NOTICE +++ b/NOTICE @@ -9,7 +9,7 @@ Licensed under the Apache License, Version 2.0 . ================================================================================ -== Host.svg == +== Machine.svg == ================================================================================ "Computer" icon @@ -27,19 +27,10 @@ from the Noun Project is licensed under CC BY 3.0 . ================================================================================ -== Password.svg == +== Credentials.svg == ================================================================================ "Lock" icon by ✦ Shmidt Sergey ✦ from the Noun Project -is licensed under CC BY 3.0 . - -================================================================================ -== User.svg == -================================================================================ - -"User" icon -by ✦ Shmidt Sergey ✦ -from the Noun Project -is licensed under CC BY 3.0 . +is licensed under CC BY 3.0 . \ No newline at end of file diff --git a/README.md b/README.md index 8fd654d..9c0d160 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,10 @@ This project structure is optimized for modern MAL development workflows, which ## 🛠️ Tooling and Compilation -All necessary tools for compiling, analyzing, and working with MAL languages are centralized in the MAL ecosystem. +All necessary tools for working with MAL languages are centralized in the MAL ecosystem. ### MAL Toolbox For all development, compilation, and integration with analysis environments (such as Python), please refer to the main repository: -* **MAL Toolbox Repository:** [https://github.com/mal-lang/mal-toolbox](https://github.com/mal-lang/mal-toolbox) - -### Compiling Your Language - -A detailed, step-by-step tutorial on how to compile a MAL language specification is available here: - -* **Compilation Tutorial:** [https://github.com/mal-lang/mal-toolbox-tutorial?tab=readme-ov-file#compiling-a-language](https://github.com/mal-lang/mal-toolbox-tutorial?tab=readme-ov-file#compiling-a-language) +* **MAL Toolbox Repository:** [https://github.com/mal-lang/mal-toolbox](https://github.com/mal-lang/mal-toolbox) \ No newline at end of file diff --git a/src/main/mal/exampleLang.mal b/src/main/mal/exampleLang.mal index 9342ab4..ece13a4 100644 --- a/src/main/mal/exampleLang.mal +++ b/src/main/mal/exampleLang.mal @@ -13,42 +13,53 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#id: "org.mal-lang.examplelang" -#version: "1.0.0" + +#id: "exampleLang" +#version: "2.0.0" category System { - asset Network { - | access - -> hosts.connect - } - - asset Host { - | connect - -> access - | authenticate - -> access - | guessPassword - -> guessedPassword - | guessedPassword [Exponential(0.02)] - -> authenticate - & access - } - - asset User { - | attemptPhishing - -> phish - | phish [Exponential(0.1)] - -> passwords.obtain - } - - asset Password { - | obtain - -> host.authenticate - } + + asset Machine { + | connect + -> authCompromise + + | authenticate + -> authCompromise + + & authCompromise + -> compromise + + | compromise + -> storesCreds.access, + networks.communicate + } + + asset Credentials { + | access + -> useUnencrypted, + crack + + & useUnencrypted + -> use + + | crack [HardAndCertain] + -> use + + | use + -> authenticates.authenticate + + # encrypted + -> useUnencrypted + } + + asset Network { + | communicate + -> parties.connect + } } associations { - Network [networks] * <-- NetworkAccess --> * [hosts] Host - Host [host] 1 <-- Credentials --> * [passwords] Password - User [user] 1 <-- Credentials --> * [passwords] Password -} + Machine [parties] * <-- Communication --> * [networks] Network + Machine [storedOn] 0..1 <-- Storage --> * [storesCreds] Credentials + Machine [authenticates] 0..1 <-- Access --> * [authCreds] Credentials +} \ No newline at end of file diff --git a/src/main/resources/icons/Password.svg b/src/main/resources/icons/Credentials.svg similarity index 100% rename from src/main/resources/icons/Password.svg rename to src/main/resources/icons/Credentials.svg diff --git a/src/main/resources/icons/Host.svg b/src/main/resources/icons/Machine.svg similarity index 100% rename from src/main/resources/icons/Host.svg rename to src/main/resources/icons/Machine.svg diff --git a/src/main/resources/icons/User.svg b/src/main/resources/icons/User.svg deleted file mode 100644 index fbf753a..0000000 --- a/src/main/resources/icons/User.svg +++ /dev/null @@ -1 +0,0 @@ -