# Software portability ## MicroSim spec - **Recommended sim type:** platform / [[Adaptation|adaptation]] - **Microsimmability score:** 79/100 - **Layout:** drawing region (canvas) on top; control region (sliders/buttons) below. ### Parameters (tunable controls) - `Platform-specific code %` - `Abstraction layers` - `Target platforms` ### What animates Software migrates across platforms; porting effort falls as the platform-specific fraction shrinks behind abstraction layers. ### Learning objective Relate porting effort to platform [[Coupling|coupling]] and abstraction. ## Links (Wikipedia order) <!-- injected from _registry/childlinks/Software_portability.json (2026-07-30T02:09:12Z) --> `Abstraction_(computer_science)` · [[Accuracy_and_precision]] · [[Adaptability]] · [[Algorithmic_efficiency]] · `Arithmetic_shift` · `Bourne_shell` · `C++` · `C_(programming_language)` · `Compiler` · [[Computer_programming]] · `Computing_platform` · `Conditional_compilation` · [[Correctness_(computer_science)]] · `Cross-platform_software` · `Device_driver` · `Endianness` · `Executable` · [[Flexibility_(engineering)]] · `ISO/IEC_9126` · `Installation_(computer_programs)` · `Integer_(computer_science)` · `Interoperability` · `JavaScript` · `Linker_(computing)` · `Linux_distribution` · `List_of_system_quality_attributes` · `Logical_shift` · [[Loose_coupling]] · [[Maintainability]] · `Make_(software)` · `Mass_storage` · `Microprocessor` · `Microsoft_Windows` · [[Non-functional_requirement]] · `Open-source_software` · `Operating_system` · [[Orthogonality_(programming)]] · `Porting` · [[Reliability_engineering]] · [[Reusability]] · [[Robustness_(computer_science)]] · [[Scalability]] · [[Software_quality]] · [[Software_quality_assurance]] · [[Software_quality_control]] · [[Software_quality_management]] · [[Software_sizing]] · [[Software_testability]] · `Source-to-source_compiler` · `Source_code` · [[Usability]] · `Web_application` · `X86` > p5.js MicroSim stub · part of System Quality Attributes · [Wikipedia source](https://en.wikipedia.org/wiki/Software_portability) > Relation: subfield of system quality attributes. ## Concept summary Portability is the ease of moving software to run on different platforms with minimal modification. ## Build checklist - [ ] Claim it: set `status: in-progress` + `lease` + `leased_at` - [ ] Write the child page explaining the concept (tie it back to system quality attributes) - [ ] Finalize parameter ranges and defaults - [ ] Implement the p5.js sketch (drawing + control regions) - [ ] Add caption + the learning objective on the page - [ ] Set `status: done` ## p5.js sketch ```javascript // MicroSim: Software portability let controls = {}; function setup() { // createCanvas(...); create sliders for the parameters above. } function draw() { // background(...); read controls; render platform / adaptation; respond live. } ``` --- Back to System Quality Attributes · Wikipedia: [Software portability](https://en.wikipedia.org/wiki/Software_portability) --- <!-- SEMIOTIC-PROFILE:START --> ## Semiotic profile > *The semiotic universals this article invokes, machine-derived from the crossref — **unverified** (born so). Populated 2026-07-06 for the Systems room.* **Universals (1):** 🟡 system (5) **Enter by sign:** Systems Semiotic Gateway · Alphabetum · Icon Registry · ← Systems Portal <!-- SEMIOTIC-PROFILE:END --> ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Software_portability) : [Wikitube](https://en.wikitube.io/wiki/Software_portability) ## Previous hub tags Tree parent: [[Reliability_engineering]]. Legacy hubs: none. --- *Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*