Aplikační balíček (zkr. PPP, anglicky application package [1] ) nebo softwarový balíček je sada vzájemně propojených modulů určených k řešení problémů určité třídy určité tematické oblasti . Podle významu PPP by bylo správnější nazývat jej balík modulů namísto zavedeného termínu softwarový balík. odlišná od knihovnyskutečnost, že vytvoření knihovny si neklade za cíl plně pokrýt potřeby oboru, protože aplikace může využívat moduly několika knihoven. Požadavky na softwarový balík jsou přísnější: aplikace k řešení problému musí využívat pouze moduly balíku a vytvoření specifické aplikace může být dostupné i neprogramátorům [2] .
Balíkový přístup lze porovnat s vytvořením „univerzálního“ programu. Takový program se může podílet na řešení různých problémů, zatímco v balíčkovém přístupu je spojeno několik modulů balíčku k vyřešení jednoho problému. Rozdíl se může zdát malý (je možné vytvořit „univerzální“ program ze softwarového balíku přidáním ovládacího doplňku, nebo naopak použít některé moduly „univerzálního“ programu jako PPP). Z architektonického hlediska je však PPP vhodnější pro rozšiřování a úpravy, protože k vývoji PPP může dojít přidáním nových modulů, které neovlivní výkon dříve odladěných modulů [2] .
Nejjednodušší způsob, jak ilustrovat dávkový přístup, je unixový kanál . Unixový systém obsahuje velké množství malých programů, které provádějí určitou funkci. V pipeline mohou programy zahrnuté v řetězci zpracovávat některá data [3] .
V některých případech lze řetězový přístup automatizovat tím, že svěříte konstrukci řetězu systémovým nástrojům balíčku [3] . Kromě enumerativního mechanismu pro vytváření řetězce (explicitní přiřazení modulů zařazených do řetězce) je možný mechanismus asociativní , kdy je modul na základě nějakého atributu zahrnut systémovými prostředky do generovaného programu. V případě, že uživatel nastaví známé a požadované hodnoty, obnovení řetězce pomocí systému se nazývá automatické plánování výpočtů . Navzdory některým výhodám a individuálním úspěchům (systémy PRIZ a SPOR) se automatické plánování výpočtů nedočkalo masového rozvoje kvůli chudobě řetězce jako vodítka pro konfiguraci [4] .
S nahromaděním zkušeností s programováním v jakékoli předmětové oblasti se postupem času vyvinou myšlenky o racionální modulární organizaci, nahromadí se sada modulů, které se při přechodu z jedné verze programů do druhé příliš nemění, a existují také trvalá místa pro výměnné moduly . V důsledku toho vzniká aplikační architektura sestávající z permanentní součásti – rámu , který má sloty pro umístění vyměnitelných modulů [5] . Zásuvky a zásuvné moduly mají samozřejmě dohodnuté specifikace .
Nastavení konkrétní konfigurace pro uživatele je zjednodušeno. Rámová hnízda jsou odrazem charakteristik řešeného problému a vyměnitelné moduly jsou povolené hodnoty těchto charakteristik [5] .
Například v rámci se dvěma variantními hnízdy je možné popsat konfiguraci výpočtu, aniž bychom se dotkli problémového algoritmu: Материал ← Алюминий, Точность ← Двойная.
Na rozdíl od řetězového přístupu dává rámcový přístup větší volnost při navrhování struktury generovaného programu, což je výhodnější pro většinu oborů [5] .
Lze rozlišit následující typy PPP [6] :