Bursting bubble-threading… :)

Sep 12th, 2013 | By
bubbleFI

Modelul actual de programare multithreading este perceput de unii ca fiind o adaptare a modelului secvențial sistemelor concurente. Iar realizarea acestui model este de departe cea mai reușită (shared-state concurrency model). Astfel fără o bună înțelegere a acestuia se poate defecta şi mai mult realizarea sistemului. Aici se adaugă şi faptul că testarea sistemului concurent este greu realizabilă, iar verificarea este deseori chiar imposibilă (din cauza multiplelor stări ale entităților concurente: state explosion).
Deci mă justific uşor dacă spun: a programa concurent înseamnă în primul rînd a înţelege fenomenul concurenței, a cărei definiție determină „apariţia şi gestiunea evenimentelor simultane la nivelul sistemului de calcul”.
***
Care sunt elementele sintactice de bază pentru realizarea concurenței sunt prezentate în celea ce urmează…



Modele matematice pentru concurență

Dec 18th, 2012 | By

Modelele fundamentale de concurenţă sunt subiecte importante ale diverselor studii în ştiinţa calculatoarelor. Majoritatea din ele sunt determinate de formalisme matematice prin care sunt descrise şi analizate. Scopul lor ar fi, din punct de vedere teoretic, să ofere mijloace pentru înţelegerea sistemelor şi comportamentului acestora și, din punct de vedere practic, să contribuie la dezvoltarea metodelor de analiză şi proiectare.



Costurile concurenței: aspecte practice de evaluare (Visual Studio)

Aug 2nd, 2012 | By

Aplicarea concurenței per ansamblu aduce beneficii de performanță. Dar organizarea interacțiunilor concurente implică și costuri, care necesită evaluate întru stabilirea unei strategii potrivite de dezvoltare a aplicației.



Platforme pentru dezvoltarea concurentă de prototipuri

Jun 2nd, 2012 | By
Flower of concurrency

Pragmatismul unei metode moderne de dezvoltare se manifestă prin acordarea unui rol primar concurenței (specificației acesteia) în ghidarea arhitecturării unui sistem software, dar și prin verificarea și „animarea” cât mai timpurie a cerințelor întru determinarea fezabilității arhitecturii specificate. Cele menționate induc o dezvoltare bazată pe prototip, a cărei avantaje sunt recunoscute atât de industrie, cât și de mediul academic.



Modele conceptuale pentru concurenţă

Jan 14th, 2012 | By

O arhitectură concurentă presupune definirea modelului comportamental specific problemei, iar pentru aceasta este necesar de identificat semantica interacțiunilor și de potrivit mecanismele pentru sincronizare/coordonare…



Modelarea concurenței utilizând UML (3)

Dec 19th, 2011 | By

Diagrama de stare descrie comportamentul prin mașini de stări finite folosind tranziții, evenimente și activități. Diagrama de activități descrie secvențe de activități (activity – eng.) și condiții necesare desfășurării comportamentului de nivel jos, abstractizat la nivelul operațiilor.



Modelarea concurenței utilizând UML (2)

Dec 19th, 2011 | By

Diagramele de interacțiuni, fiind o submulțime a diagramelor comportamentale, focusează descrierea de sistem asupra fluxului de control și date dintre entitățile sistemului de modelat. Astfel în termeni de interacțiuni concurența este ușor identificată și descrisă cu mijlocele acestor diagrame.



Modelarea concurenței utilizând UML (1)

Dec 19th, 2011 | By
cuml1

Două treimi din organizațiile de dezvoltare software și peste 10 milioane de specialiști IT (conform unor date ale BZ Research și Gartner (c) Inc., 2008) utilizează limbajul unificat de modelare UML (r) – Unified Modeling Language. Astfel acest limbaj acum este unul din cele mai populare limbaje de specificare și modelare a sistemelor informaționale.
Importanța proiectării rapide și corecte a sistemelor, în care există procese concurente, a crescut, deci este important de cunoscut și posibilitățile de specificare a concurenței în UML. În acest video sunt prezentate unele tehnici de specificare a concurenței utilizând acest limbaj de modelare…



Concurența și programarea obiect-orientată

Jan 16th, 2011 | By
mostenire

În cazul unor sisteme informatice ce includ activități concurente se acutizează efectele de dispersie a funcționalităților și a codului confuz. Sincronizarea și comunicarea inerentă acestor sisteme face elaborarea de software dificilă implicând dificultăţi de reutilizare din cauza unor conflicte dintre codul de implementare a funcționalităților de bază și a funcționalităților de organizare a concurenței (sincronizare, planificare, protecție, etc.). Aceste conflicte au fost intens studiate și le găsim în lucrări de specialitate cu numele de anomalii de moștenire (inheritance anomaly – l. eng.).

Mai mulţi cercetători din domeniu (Satoshi Matsuoka, Akinori Yonezawa în [1]; Lobel Crnogorac în [2]; Denis Kafura, Greg Lavender în [3]; și alții) au încercat să clasifice și să formalizeze aceste anomalii ce fac nejustificată sau chiar imposibilă reutilizarea prin moștenire a claselor de bază, căci implică redefinirea a unui număr prea mare de metode. Aceleaşi anomalii le regăsim menționate și în relativ mai recenta lucrare [4] (din 2004, autori fiind Giuseppe Milicia și Vladimiro Sassone), în care se susține că nici limbajele populare moderne de programare nu exclud apariția anomaliilor.

Conform lucrărilor menționate se disting trei clase generice pentru anomalii în care conceptul moștenirii ca formă de reutilizare este mult diminuat:

- Anomalii determinate de istoric (history-sensitive anomaly – l. eng.);
- Anomalii de partiționare a stărilor abstracte (partitioning of states – l. eng.);
- Anomalii de modificare a stărilor abstracte (modification of acceptable states – l. eng.).



Temele examen PPC

Dec 29th, 2010 | By

Tema 1: Concurență şi paralelism Istorie şi necesitate. Apariția programărilor concurente şi paralele. Motivarea pentru concurență şi paralelism. Concepte de bază: executare secvențială, concurentă şi paralelă; procese şi procesoare; determinism; sincronizare; excludere mutuală; comunicare. Tema 2: Interacțiunea proceselor concurente. Excluderea reciprocă Enunțul problemei excluderii reciproce. Încercările Dijkstra pentru soluționarea problemei de excludere reciprocă.  Algoritmii Dekker
[continue reading...]