Il " Unified Modeling Language ", o UML è un linguaggio progettato per mostrare come è organizzato il software , gli ingegneri possono usare UML per diagramma il flusso di informazioni in un programma , che permette loro di capire meglio come può essere semplificato o modificato. Quando modellare il flusso di informazioni , UML distingue tra "oggetti attivi" che possono avviare quel flusso , e "oggetti passivi" che non possono . Oggetti e Classi
Quando si tratta di cosiddetta programmazione " object-oriented " , informatica distingue tra un "oggetto" e di una "classe ". Una classe è una descrizione generalizzata di un insieme di cose --- come variabili o metodi --- mentre un "oggetto" è un '" istanza" di quella classe , con le sue proprietà uniche . Pensate di classi come un progetto o un modello , nel mondo fisico , "scrittura attrezzo " potrebbe essere considerato una classe , con la "penna " o " arancio pastello " esempi di "oggetti" di quel particolare tipo di classe
< br . > con oggetti in UML
UML conserva una simile distinzione tra classi e oggetti , e sono rappresentati allo stesso modo ; classi UML contengono ampie descrizioni e oggetti UML contengono valori specifici che rappresentano le istanze di tali descrizioni . Formalmente parlando , pertanto , un "oggetto attivo" in UML è un esempio di una " classe di attivo ", e allo stesso modo un "oggetto passivo" è un'istanza di una classe " passiva " --- in senso teorico , si potrebbe prendere in considerazione queste termini per essere essenzialmente intercambiabili .
oggetti attivo
in UML , le classi attive , e quindi gli oggetti attivi , esistono nel loro proprio thread di operazioni e hanno il loro proprio spazio di indirizzi . Se l'esecuzione , o l'attività di codice , è pensato in termini di flusso , gli oggetti attivi possono avviare o controllare che il flusso . Oggetti attivi , in altri termini , sono sequenziali e fare qualcosa : le variabili di modificare, comportamento programma di cambiamento , e così via . In UML , le classi di attivi e gli oggetti si distinguono per avere un bordo più spesso di oggetti passivi .
Oggetti passivi
oggetti passivi in UML non hanno generalmente la possibilità di modificare o iniziare il flusso di esecuzione , perché devono aspettare un altro oggetto di chiamarli . Invece , oggetti passivi sono generalmente utilizzati per memorizzare le informazioni , e in molti casi queste informazioni possono essere condivise tra più altri oggetti. Ciò può consentire oggetti passivi di accedere contemporaneamente , non in sequenza . Per assicurarsi che i dati contenuti all'interno ha una alta integrità , UML permette di oggetti passivi di insistere che essi sono accessibili in modo sequenziale ; se due thread tenta di chiamare lo stesso oggetto passivo sequenziale , tale oggetto può ritardare il secondo thread fino a quando il primo ha terminato con esso .