O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Unified Modeling Language Reference Manual, The, Second Edition

Book Description

“If you are a serious user of UML, there is no other book quite like this one. I have been involved with the UML specification process for some time, but I still found myself learning things while reading through this book—especially on the changes and new capabilities that have come with UML.”

         —Ed Seidewitz, Chief Architect, IntelliData Technologies Corporation

The latest version of the Unified Modeling Language—UML 2.0—has increased its capabilities as the standard notation for modeling software-intensive systems. Like most standards documents, however, the official UML specification is difficult to read and navigate. In addition, UML 2.0 is far more complex than previous versions, making a thorough reference book more essential than ever.

In this significantly updated and expanded edition of the definitive reference to the standard, James Rumbaugh, Ivar Jacobson, and Grady Booch—the UML’s creators—clearly and completely describe UML concepts, including major revisions to sequence diagrams, activity models, state machines, components, internal structure of classes and components, and profiles. Whether you are capturing requirements, developing software architectures, designing implementations, or trying to understand existing systems, this is the book for you.

Highlights include:

  • Alphabetical dictionary of articles covering every UML concept

  • Integrated summary of UML concepts by diagram type

  • Two-color diagrams with extensive annotations in blue

  • Thorough coverage of both semantics and notation, separated in each article for easy reference

  • Further explanations of concepts whose meaning or purpose is obscure in the original specifications

  • Discussion sections offering usage advice and additional insight into tricky concepts

  • Notation summary, with references to individual articles

  • A hyperlinked version of the book in Adobe Reader format on CD-ROM, an excellent resource for browsing or searching the text for specific information

  • An enhanced online index available on the book’s web site allowing readers to quickly and easily search the entire text for specific topics

  • The result is an indispensable resource for anyone who needs to understand the inner workings of the industry standard modeling language.

    Table of Contents

    1. Copyright
    2. Advanced Praise for The Unified Modeling Language Reference Manual, Second Edition
    3. The Addison-Wesley Object Technology Series
    4. The Component Software Series
    5. Preface
    6. Background
      1. UML Overview
        1. Brief Summary of UML
        2. UML History
        3. Goals of UML
        4. Complexity of UML
        5. UML Assessment
        6. UML Concept Areas
      2. The Nature and Purpose of Models
        1. What Is a Model?
        2. What Are Models For?
        3. Levels of Models
        4. What Is in a Model?
        5. What Does a Model Mean?
    7. UML Concepts
      1. UML Walkthrough
        1. UML Views
        2. Static View
        3. Design Views
        4. Use Case View
        5. State Machine View
        6. Activity View
        7. Interaction View
        8. Deployment View
        9. Model Management View
        10. Profiles
      2. Static View
        1. Overview
        2. Classifier
        3. Relationships
        4. Association
        5. Generalization
        6. Realization
        7. Dependency
        8. Constraint
        9. Instance
      3. Design View
        1. Overview
        2. Structured Classifier
        3. Collaboration
        4. Patterns
        5. Component
      4. Use Case View
        1. Overview
        2. Actor
        3. Use Case
      5. State Machine View
        1. Overview
        2. State Machine
        3. Event
        4. State
        5. Transition
        6. Composite State
      6. Activity View
        1. Overview
        2. Activity
        3. Activities and Other Views
        4. Action
      7. Interaction View
        1. Overview
        2. Interaction
        3. Sequence Diagram
        4. Communication Diagram
      8. Deployment View
        1. Overview
        2. Node
        3. Artifact
      9. Model Management View
        1. Overview
        2. Package
        3. Dependencies on Packages
        4. Visibility
        5. Import
        6. Model
      10. Profiles
        1. Overview
        2. Stereotype
        3. Tagged Value
        4. Profile
      11. UML Environment
        1. Overview
        2. Semantics Responsibilities
        3. Notation Responsibilities
        4. Programming Language Responsibilities
        5. Modeling with Tools
    8. Reference
      1. Dictionary of Terms
        1. abstract
        2. abstract class
        3. abstract operation
        4. abstraction
        5. accept action
        6. access
        7. action
        8. action expression
        9. action sequence
        10. activation
        11. active
        12. active class
        13. active object
        14. active state configuration
        15. activity
        16. activity diagram
        17. activity edge
        18. activity expression
        19. activity final node
        20. activity group
        21. activity node
        22. activity partition
        23. activity view
        24. actor
        25. actual parameter
        26. aggregate
        27. aggregation
        28. alt
        29. alternative
        30. analysis
        31. analysis time
        32. ancestor
        33. any trigger
        34. application
        35. apply
        36. apply function action
        37. architecture
        38. argument
        39. artifact
        40. assembly connector
        41. assert
        42. assertion
        43. association
        44. association (binary)
        45. association (n-ary)
        46. association class
        47. association end
        48. association generalization
        49. asynchronous action
        50. atomic
        51. attribute
        52. auxiliary (stereotype of Class)
        53. background information
        54. bag
        55. become
        56. behavior
        57. behavioral feature
        58. behavioral state machine
        59. behavioral view
        60. binary association
        61. bind
        62. binding
        63. Boolean
        64. Boolean expression
        65. bound element
        66. branch
        67. break
        68. broadcast
        69. buffer
        70. buildComponent (stereotype of Component)
        71. call
        72. call (stereotype of Usage dependency)
        73. call event
        74. call trigger
        75. canonical notation
        76. cardinality
        77. central buffer node
        78. change event
        79. change trigger
        80. changeability
        81. child
        82. choice
        83. class
        84. class attribute
        85. class diagram
        86. class feature
        87. class-in-state
        88. class name
        89. class operation
        90. classification action
        91. classifier
        92. classifier role
        93. client
        94. collaboration
        95. collaboration diagram
        96. collaboration occurrence
        97. collaboration role
        98. collaboration use
        99. combined fragment
        100. comment
        101. communication
        102. communication diagram
        103. communication path
        104. compartment
        105. compile time
        106. complete
        107. completion transition
        108. complex port
        109. complex transition
        110. component
        111. component diagram
        112. composite aggregation
        113. composite class
        114. composite object
        115. composite state
        116. composite structure
        117. composite structure diagram
        118. composition
        119. compound transition
        120. concrete
        121. concurrency
        122. concurrency kind
        123. concurrent substate
        124. conditional
        125. conditional fragment
        126. conditional node
        127. conditional transition
        128. conflict
        129. connectable element
        130. connection point
        131. connector
        132. consider
        133. constraint
        134. construction
        135. constructor
        136. container
        137. context
        138. continuation
        139. control flow
        140. control node
        141. copy
        142. coregion
        143. create (stereotype of BehavioralFeature)
        144. create (stereotype of Usage Dependency)
        145. create action
        146. creation
        147. critical
        148. critical region
        149. current event
        150. data flow
        151. data store node
        152. data type
        153. data value
        154. decision
        155. decision node
        156. default value
        157. deferrable event
        158. deferred event
        159. delegation
        160. delegation connector
        161. dependency
        162. deployment
        163. deployment (phase)
        164. deployment diagram
        165. deployment specification
        166. deployment view
        167. derivation
        168. derive (stereotype of Abstraction dependency)
        169. derived element
        170. derived union
        171. descendant
        172. descriptor
        173. design
        174. design model
        175. design time
        176. design view
        177. destroy
        178. destroy (stereotype of BehavioralFeature)
        179. destruction
        180. determinacy
        181. development process
        182. device
        183. diagram
        184. direct class
        185. direct instance
        186. direct substate
        187. disjoint
        188. disjoint substate
        189. distribution unit
        190. do activity
        191. document (stereotype of Component)
        192. duration
        193. duration constraint
        194. duration observation action
        195. dynamic classification
        196. dynamic concurrency
        197. dynamic view
        198. edge
        199. effect
        200. elaboration
        201. element
        202. else
        203. enabled
        204. entity (stereotype of Component)
        205. entry activity
        206. entry point
        207. enumeration
        208. enumeration literal
        209. event
        210. event occurrence
        211. exception
        212. exception handler
        213. executable (stereotype of Artifact)
        214. executable node
        215. execution
        216. execution environment
        217. execution occurrence
        218. execution specification
        219. exit activity
        220. exit point
        221. expansion region
        222. export
        223. expression
        224. extend
        225. extension
        226. extension point
        227. extent
        228. facade
        229. feature
        230. file (stereotype of Artifact)
        231. final node
        232. final state
        233. fire
        234. flag
        235. flow
        236. flow final node
        237. focus (stereotype of Class)
        238. focus of control
        239. font usage
        240. fork
        241. fork node
        242. formal argument
        243. framework (stereotype of Package)
        244. friend
        245. full descriptor
        246. functional view
        247. gate
        248. general ordering
        249. generalizable element
        250. generalization
        251. generalization set
        252. graphic marker
        253. group transition
        254. guard condition
        255. guillemets
        256. high-level transition
        257. history state
        258. hyperlink
        259. identity
        260. ignore
        261. ill formed
        262. implementation
        263. implementation (stereotype of Component)
        264. implementation class (stereotype of Class)
        265. implementation dependency
        266. implementation inheritance
        267. import
        268. inactive
        269. inception
        270. include
        271. incomplete
        272. incremental development
        273. indeterminacy
        274. indirect instance
        275. indirect substate
        276. information flow
        277. information item
        278. inheritance
        279. initial node
        280. initial state
        281. initial value
        282. initialization
        283. inout parameter
        284. instance
        285. instance of
        286. instance specification
        287. instantiable
        288. instantiate
        289. instantiate (stereotype of Usage dependency)
        290. instantiation
        291. intent
        292. interaction
        293. interaction diagram
        294. interaction fragment
        295. interaction occurrence
        296. interaction operand
        297. interaction overview diagram
        298. interaction use
        299. interaction view
        300. interface
        301. interface specifier
        302. interleaving semantics
        303. internal activity
        304. internal structure
        305. internal transition
        306. interrupt
        307. interrupt handler
        308. interruptible activity edge
        309. interruptible activity region
        310. interval
        311. invariant
        312. invocation
        313. isolation flag
        314. iteration expression
        315. iterative development
        316. join
        317. join node
        318. junction
        319. Notation
        320. keyword
        321. label
        322. language type
        323. layer
        324. leaf
        325. library (stereotype of Artifact)
        326. lifeline
        327. link
        328. link end
        329. Liskov substitution principle
        330. list
        331. location
        332. loop
        333. loop node
        334. manifestation
        335. many
        336. member
        337. merge
        338. message
        339. metaclass (stereotype of Class)
        340. metametamodel
        341. metamodel (stereotype of Model)
        342. metaobject
        343. metaobject facility
        344. metarelationship
        345. method
        346. model
        347. model element
        348. model management view
        349. modeling time
        350. modelLibrary (stereotype of Package)
        351. module
        352. MOF
        353. multiobject
        354. multiple classification
        355. multiple inheritance
        356. multiplicity
        357. multiplicity (of association)
        358. multiplicity (of attribute)
        359. multiplicity (of part)
        360. n-ary association
        361. name
        362. namespace
        363. navigability
        364. navigable
        365. navigation
        366. navigation efficiency
        367. neg
        368. negative
        369. node
        370. nonorthogonal state
        371. note
        372. null
        373. object
        374. Object Constraint Language
        375. object diagram
        376. object flow
        377. object flow state
        378. object lifeline
        379. Object Management Group
        380. object node
        381. object specification
        382. OCL
        383. occurrence
        384. occurrence specification
        385. OMG
        386. opaque expression
        387. operand
        388. operation
        389. opt
        390. optional
        391. ordering
        392. orthogonal region
        393. orthogonal state
        394. otherwise
        395. out parameter
        396. overlapping
        397. owner scope
        398. package
        399. package diagram
        400. package merge
        401. package visibility
        402. packageable element
        403. par
        404. parallel
        405. parameter
        406. parameter list
        407. parameter set
        408. parameterized element
        409. parent
        410. part
        411. participates
        412. partition
        413. passive object
        414. path
        415. pathname
        416. pattern
        417. permission
        418. persistent object
        419. Petri net
        420. pin
        421. polymorphic
        422. port
        423. postcondition
        424. powertype
        425. precondition
        426. presentation element
        427. primitive function
        428. primitive type
        429. private
        430. procedure
        431. process
        432. process (stereotype of Component)
        433. profile
        434. profile application
        435. projection
        436. property
        437. property string
        438. protected
        439. protocol conformance
        440. protocol state
        441. protocol state machine
        442. protocol transition
        443. provided interface
        444. pseudostate
        445. public
        446. qualified name
        447. qualifier
        448. query
        449. raise exception action
        450. read action
        451. realization
        452. realization (stereotype of Classifier)
        453. realize
        454. receive
        455. receive action
        456. receive event
        457. receiver
        458. reception
        459. record type
        460. redefinable element
        461. redefines
        462. redefinition
        463. redefinition (behavior)
        464. redefinition (classifier)
        465. redefinition (operation)
        466. redefinition (property)
        467. redefinition (state machine)
        468. redefinition (template)
        469. reference
        470. refine (stereotype on Abstraction dependency)
        471. refinement
        472. region
        473. reification
        474. reify
        475. relationship
        476. reply action
        477. repository
        478. request
        479. required interface
        480. requirement
        481. resolution
        482. resolve
        483. responsibility
        484. responsibility (stereotype on Usage)
        485. return
        486. return parameter
        487. reuse
        488. role
        489. rolename
        490. run time
        491. run-to-completion
        492. scenario
        493. scope
        494. script (stereotype of Artifact)
        495. sd
        496. segment
        497. self-transition
        498. semantic variation point
        499. semantics
        500. send
        501. send (stereotype of Usage dependency)
        502. send event
        503. sender
        504. seq
        505. sequence diagram
        506. sequence number
        507. service (stereotype of Component)
        508. shared aggregation
        509. side effect
        510. signal
        511. signal event
        512. signal trigger
        513. signature
        514. simple state
        515. simple transition
        516. single classification
        517. single inheritance
        518. singleton
        519. slot
        520. snapshot
        521. source (stereotype of Artifact)
        522. source scope
        523. source state
        524. specialization
        525. specification
        526. specification (stereotype of Classifier)
        527. stages of modeling
        528. start owned behavior action
        529. state
        530. state invariant
        531. state machine
        532. state machine diagram
        533. state machine view
        534. statechart diagram
        535. static classification
        536. static feature
        537. static view
        538. stereotype
        539. stop
        540. strict
        541. strict sequencing
        542. string
        543. string value
        544. structural feature
        545. structural view
        546. structure diagram
        547. structured classifier
        548. structured part
        549. subclass
        550. subject
        551. submachine
        552. submachine state
        553. subsets
        554. subsetting
        555. substate
        556. substitutability principle
        557. substitution
        558. subsystem (stereotype of Component)
        559. subtype
        560. summarization
        561. superclass
        562. supertype
        563. supplier
        564. swimlane
        565. synch state
        566. synchronous action
        567. system
        568. systemModel (stereotype of Model)
        569. tabular notation
        570. tag definition
        571. tagged value
        572. target scope
        573. target state
        574. template
        575. terminate
        576. test identity action
        577. thread
        578. time action
        579. time constraint
        580. time event
        581. time expression
        582. time observation action
        583. time value
        584. timing diagram
        585. timing mark
        586. token
        587. trace
        588. trace dependency (stereotype of Abstraction)
        589. transient link
        590. transition
        591. transition phase
        592. transmission
        593. trigger
        594. triggerless transition
        595. tuple
        596. type
        597. type (stereotype of Class)
        598. type expression
        599. uninterpreted
        600. union
        601. uniqueness
        602. unlimited natural
        603. unspecified value
        604. usage
        605. use
        606. use case
        607. use case diagram
        608. use case generalization
        609. use case instance
        610. use case model
        611. use case view
        612. utility (stereotype of Class)
        613. value
        614. value specification
        615. variable
        616. vertex
        617. view
        618. viewpoint
        619. visibility
        620. weak
        621. weak sequencing
        622. weight
        623. well formed
        624. XMI
        625. xor
        626. write action
    9. Appendices
      1. UML Metamodel
        1. UML Definition Documents
        2. Specification Document Structure
        3. Metamodel Structure
      2. Notation Summary
    10. Bibliography
    11. Index