Sciologness
Home |

Formálne špecifikácie a zloženie

Správnosť v kompozičné vzory

Cieľom kompozičné návrhu je, aby mohli vybudovať systém z komponentov. Do istej miery, všetky návrhy sú kompozičný: systémy sú postavené z obrábacích vyhlásenie, ktoré možno považovať za malé súčasti. Samozrejme, že pre zloženie, byť užitočný, požadujeme trochu viac z kompozičného návrhu.Komponent musí predstavovať časť návrhu, tj, musia vyplývať z nejakého intelektuálneho úsilia. Až potom zloženie je užitočná, pretože umožňuje návrhárom zdieľať túto intelektuálne úsilie. Kompozičné designy zahŕňajú rôzne druhy problémov. Tu sme konkrétne Zaujímam sa o správnosti vydania: Ako môžeme tvrdiť o správnosti systému zo špecifikácií jeho zložiek, alebo, inými slovami, čo potrebujeme vedieť, od zložiek, aby mohli predvídať správanie systému? Hovoríme dôkaz o zloženísprávnosť dôkaz, kde je systém správnosť odvodený z komponentov špecifikácií. Opäť platí, že každý správnosť dôkaz je, v istom zmysle, doklad o zložení: vždy použiť nejakú znalosť komponentov preukázať systému. Rovnako ako v predchádzajúcom, sme sa pridá ďalšie obmedzenia: Chceme komponenty obsahovať časť správnosť dôkazu, ktoré by mali obsahovať časť konštrukcie. Inými slovami, chceme vybudovať dôkazy zloženie z výkazov už preukázali na úrovni komponentov, bez toho aby ste museli znovu niektorú z týchto dôkazov o pôvode. Tento obrázok popisuje špecifikácie a dôkazy v kompozičné prevedenie: Intuitívne, čiastka dôkazu úsilie v dokladov o zložení bude závisieť od spôsobu, akým súčasti sú uvedené. Ak súčasť špecifikácia je len formálny opis realizácie (tj text programu sám, s dobre definovanou sémantikou), ako UNITY programu alebo procesu CSP, žiadna časť dôkazu úsilie vôbec je dosiahnuť na komponenty úrovni, a návrhári budú musieť vysporiadať s operačným, explicitný, popis zložky správanie, keď sa stavia na dôkaz zloženie. Komponenty špecifikácie musia byť abstrakcie zložiek správania. Musí opísať užitočných poznatkov o súčasť, skutočnosti, ktoré majú byť preukázané z komponentov textu. Potom, sa tieto skutočnosti používajú v dôkazu zložení, bez toho aby bolo dokázať znovu. Vlastne, zdieľanie skúšobné úsilie nevyžaduje kompozičný dizajn. Je úplne dobre možné rozdeliť úsilie robiť monolitický dôkaz. V tomto prípade, jeden začne od špecifikácie kompletného systému a prevádzkové popisu celého systému a vyvodzuje z globálnej dôkaz povinnosť. Tento dôkaz povinnosť je sám rozloží a správnosť dôkaz je postavený z Lemmy a medzivýsledkov. Tento prístup bol skúmaný, napríklad tým, že Leslie Lamport s dôkazmi TLA +. Avšak, tento prístup považujeme tú, ktorá vyžaduje špecifikovať a preukázať komponenty ako prvý krok, a potom budovať dôkaz zloženie, má (potenciálne) ďalšiu výhodu. Jedným z cieľov kompozičných vzorov, ale nedocílený, je znovu súčasťou, tj budovanie systémov z už existujúcich komponentov, prípadne súčasti sú už využívané na budovanie iných systémov. Myšlienka je, že človek nemusí začať kosiť stromy pri stavbe domu: požiadavky sú špecifikované a komponenty sú kúpil už (alebo aspoň, sú vyrábané samostatne). Ak takéto opätovné použitie komponentov teda možné Zvolený prístup umožňuje návrháromznovu častí správnosť dôkazu, keď opakovane súčasti, teda, doklad o konštrukčné správnosti ("T dôkazy" na obrázku). Väčšia časť je (v porovnaní s dokladom o zložení samotného), tým lepšie, čo je ďalší dôvod, prečo súčasti špecifikácie by mali byť abstraktné a výslovne dokázal z textu programu. (Ďalším dôvodom je to, že abstraktné špecifikácia umožňuje návrhárom vyjadriť presne to, čo očakávajú od komponentov a aby sa zabránilo nadmernej stanovuje svoje požiadavky. To je nevyhnutné, ak chcú zvýšiť svoje šance nájsť existujúcu zložku, ktorá rieši ich problém.) Obtiažnosť tohto prístupu je to, že špecifikácia nemusí skladať veľmi dobre. Je možné, že nie (non triviálne) Systém vlastnosť môže byť logicky odvodiť z komponentov vlastností. Pre prístup k práci, musí byť súčasťou špecifikácie dovoliť návrhárom odvodiť vlastnosti systému. Niektoré komponenty špecifikácia, pretože neobsahujú dostatok informácií, neumožňujú tento odpočet. Problémom je, že preto, že chceme, aby boli abstraktné , komponentný špecifikácie nie sú zrejme obsahovať dostatok informácií. Tam je jasne kompromis medzi zachovaním špecifikácia abstraktné a robiť je užitočný v doklade o zložení: príliš veľa informácií, príliš veľa detailov odhalila v špecifikácii a abstrakcie je stratená, nestačí, a zloženie je stratená. Prípad nemenný a vždy Pre ilustráciu rovnováhy medzi odberom a schopnosť skladať, zvažovať prípad systémov (a zložky) definované ich nekonečnými výpočtov (reaktívne systémy), skladali cez paralelný kompozície. Pre tieto systémy, dva blízko príbuzné druhy vlastností sú často používajú:
  • nemenný: stav predikát je povedal, aby bol invariantné, práve keď:
    • drží v počiatočnom stave akékoľvek počítanie, a
    • jeho pravda je chránené výkazu o systéme.
  • Vždy: stav predikát je povedal, aby bol "vždy pravda," IFF to je pravda, v každom štáte akéhokoľvek výpočtu systému.
Vo svete temporálnej logiky, vždy vlastnosti sú často nazývané "Invariant", zatiaľ čo invariantné vlastnosti sa nazývajú "indukčné Invariant." Na druhom konci, vo svete sekvenčné programy overenie, sú invariantné vlastnosti tzv "Invariant" a vždy vlastnosti často nemajú meno. (Avšak, oni sú nazývaní "tvrdenia" v metódu B). To má za následok v niektorých zámeny (pozri substitučná axióma stránku). Samozrejme, vždy a invariantné sú súvisiace: akýkoľvek predikát, ktorý je nemenný, je tiež vždy pravda (indukciou). Je však možné predikát byť vždy pravda a nemôže byť nemenný. To znamená, že vždy vlastnosti súslabšiev všeobecnejší než invariantné vlastnosti. Oni sú tiež viac abstraktná: oni tvrdia, že predikát je pravda, v akomkoľvek stave akéhokoľvek počítania, ale nemajú prečo. Invariantné vlastnosti povedať prečo. Inými slovami, invariantné vlastnosti sú užitočným nástrojom dokázať vždy vlastnosti, ale nie sú abstraktné aby mohli byť použité na určenie komponentov. S ohľadom na zloženie, invariantné a vždy vlastnosti tiež líšia. Vzhľadom k tomu, programové vyhlásenie sú zachované cez paralelný kompozície, štát predikát je nemenný v systéme, akonáhle je invariantné vo všetkých zložkách systému (v našom slovníku, sú invariantné vlastnosti povedal, aby bol univerzálny ).Vzhľadom k tomu, súbežný systém môže mať viac dosiahnuteľných stavov ako jeho zložiek spoločne, to nie je pravda, že vždy vlastnosti: predikát môže byť vždy pravdivý vo všetkých zložkách systému, a pozmenených pri súčasnom systéme po celom svete. Súhrnne povedané, možno invariantné vlastnosti môžu byť zložené, ale sú príliš silné (nie abstraktné dosť) pre použitie v súčasti špecifikácií, vždy vlastnosti sú vlastne abstrakcie, ktorá je potrebná, ale nemôžu byť zložená. (Stojí otázka je jedným z určenie, aké vlastnosti sú slabšie ako invariantné vlastnosti, silnejšie ako vždy vlastnosti a môže ešte byť zložený. Táto otázka nie je tak jednoduchá, ako by sa mohlo zdať. Čitatelia sa vyzývajú, aby sa pokúsili vyriešiť challenge otázku týkajúcu sa tohto vydanie.)

Naše Výskum

V našej výskumno, Mani Chanda a budem zaoberať nasledujúci problém: môžeme nájsť komponent vlastnosti natoľko silné, že sa skladá, ale dostatočne pružné, aby zachovala abstrakciu? Konkrétne sme sa zamerali na dva druhy zloženie: existenciálnu (existenciálnej vlastnosť má v systéme, akonáhle má aspoň v jednej komponenty) a univerzálna (univerzálna vlastnosť má v systéme, akonáhle to drží vo všetkých zložkách) . Považujeme tieto dve formy zloženie vo všeobecnom kontexte. Komponenty sú abstraktné entity, nie nutne programy. Oni nemusia mať také vlastnosti ako "štáty" alebo "výpočty." Sú tvorené s zloženie zákona, že sa neuvažuje, že paralelné kompozície (najmä nie je považovaná za symetrické alebo idempotentní). Zaujímavé výsledky (a ešte ďalšie zaujímavé otázky) môžu byť preskúmané v rámci týchto hypotéz. Tento rámec môže byť použitá k reaktívnych systémov a časovej logiky , najmä prípad Invariant môže, je uvedené vyššie, je dobre vyjadrená. Tieto myšlienky môžu byť tiež upresniť, kedy niekoľko zákonov, v zložení sú používané spoločne.
Michel Charpentier  
  Preložené z http://www.cs.unh.edu/~charpov/Composition/ Homepage
...
Sciologness.com ©

Contact form | Terms of use | Privacy policy | Cookie policy
The Sciologness.com™ agent utility uses data collection technology to conveniently update multiple PC drivers. Drivers are the property and the responsibility of their respective manufacturers, and may also be available for free directly from manufacturers' websites. Sciologness.com is not responsible in any way for the performance of or issues caused by any third-party drivers.Drivers may also be available for free directly from manufacturers' websites. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Any other third-party products, brands or trademarks listed above are the sole property of their respective owner. No affiliation or endorsement is intended or implied.