Skip to content

Towards Software Components for Non Functional Aspects

Gratis La preview di questa tesi è scaricabile gratuitamente in formato PDF.
Per scaricare il file PDF è necessario essere iscritto a Tesionline. L'iscrizione non comporta alcun costo: effettua il Login o Registrati.

Mostra/Nascondi contenuto.
2 Aspects of Complex Systems This code can cause a deadlock. Suppose that a thread T1 calls the method updateFolders(). It acquires the lock L1 of the Cabinet. Now assume the removeUseless() method is called by a thread T2. It locks the Folder with a lock L2 and, after determining that it is indeed useless, it proceeds in locking the Cabinet with its lock L1 in order to delete the Folder. At this point T2 blocks and waits for the releasing of the Cabinet object lock. But when the Folder on which removeUseless() is working is now accessed by updateFolders(), it tries to grab the object lock L2. The deadlock situation arises because the removeUseless() method has the Folder lock L2 and it is waiting for the Cabinet lock L1 to be freed. In parallel the updateFolders() method holds the Cabinet lock L1 and it is waiting for the Folder lock L2 to be freed. This an- omalous situation is hard to detect, but it is common to find code like this if it is written by people with no knowledge of each other work. A solution to the deadlock situation involves a major redesign of the sys- tem, with collaboration between the writer of removeUseless() and the one of updateFolders(). The problem dual to scattering is code tangling: modular units are often mixins of pieces of code that addresses different, unrelated con- cerns. For example, Listing 2.3 shows a synchronised Stack class. The core code is composed by statements that implement the stack func- tionality: a data structure in which elements can be accessed according the last in, first out policy. But the class contains also statements (indic- ated by // synch) that implement synchronisation among methods: no concurrent calls to pop() and push() are allowed, calls to pop() wait for elements in the stack, calls to push() wait for empty slots. In the example functionality and synchronisation are tangled to- gether, thus they have to be written at the same time. The same problem applies to the code in Listings 2.1 and 2.2. Moreover, because between the two there are no barriers of any kind, every change to one may have side effects to the other. Thus, the question is: “how non functional aspects, generally scattered and tangled within functional component can be managed as components as well?”. Information hiding and encapsulation is the traditional way to introduce division of labor in software production, limiting the ef- fects of change to localized portions of code, that become the bricks for building the whole system, but we need some new ideas to consider aspects real components, i.e., units of third-party composition [63]. 8
Anteprima della tesi: Towards Software Components for Non Functional Aspects, Pagina 8

Preview dalla tesi:

Towards Software Components for Non Functional Aspects

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista

Informazioni tesi

  Autore: Mattia Monga
  Tipo: Tesi di Dottorato
Dottorato in Ingegneria Informatica e Automatica
Anno: 2001
Docente/Relatore: Carlo Ghezzi
Istituito da: Politecnico di Milano
Dipartimento: Dipartimento di Elettronica e Informazione
  Lingua: Inglese
  Num. pagine: 80

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario, bollettino postale.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l'Utente volesse pubblicare o citare una tesi presente nel database del sito www.tesionline.it deve ottenere autorizzazione scritta dall'Autore della tesi stessa, il quale è unico detentore dei diritti.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
  • L'Utente è a conoscenza che l'importo da lui pagato per la consultazione integrale della tesi prescelta è ripartito, a partire dalla seconda consultazione assoluta nell'anno in corso, al 50% tra l'Autore/i della tesi e Tesionline Srl, la società titolare del sito www.tesionline.it.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Scopri come funziona

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

aop
aspect oriented programming
aspectj
malaj
software engineering

Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi