- Hardcover: 434 pages
- Publisher: Wiley; 2 edition (June 16, 2006)
- Language: English
- ISBN-10: 0470093552
- ISBN-13: 978-0470093559
- Product Dimensions: 7.7 x 1.2 x 9.5 inches
- Shipping Weight: 2.2 pounds (View shipping rates and policies)
- Average Customer Review: 18 customer reviews
- Amazon Best Sellers Rank: #1,795,825 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Concurrency: State Models and Java Programs 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
"Enlightenment Now: The Case for Reason, Science, Humanism, and Progress"
Is the world really falling apart? Is the ideal of progress obsolete? Cognitive scientist and public intellectual Steven Pinker urges us to step back from the gory headlines and prophecies of doom, and instead, follow the data: In seventy-five jaw-dropping graphs, Pinker shows that life, health, prosperity, safety, peace, knowledge, and happiness are on the rise. Learn more
Frequently bought together
Customers who viewed this item also viewed
Customers who bought this item also bought
..."this well written book [...] will be useful to those designing distributed systems" --Computing Reviews, June 2000
From the Back Cover
‘I love this book! It is beautifully written and the combined FSP/Java approach to model-based development is leading-edge. The supporting materials, including the LTSA software and the lecture slides, are superb.’ (Scott Smolka, SUNY at Stony Brook)
This book provides a systematic and practical approach to designing, analyzing and implementing concurrent programs, using both state models and Java programs to introduce and illustrate key concepts and techniques. Topics covered include:
- threads and interaction
- interference, exclusion and synchronization
- deadlock, safety and liveness properties
- message passing
- concurrent software architectures
- dynamic and timed systems.
Established as a key learning resource for computer science graduate and undergraduate students, this second edition includes new coverage of Program Verification and Logical Properties. The accompanying website contains an updated version of the LTSA tool for modeling concurrency, model animation and model checking. The website also includes the full set of state models, Java examples and demonstration programs and a comprehensive series of overhead slides for course presentation.
Ideal for classroom use or self-study, this book provides readers with the means to understand the fundamentals and practice of concurrency.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I found it confusing at first to adjust to the kind of thinking required to create the models, I think mainly because the FSP language in which the models are constructed is a language that allows one to describe transition systems, not one in which to program a system. Once I developed my own mental translation of the FSP syntax and grammar I made much better progress. For example, the "|" operator used within a local process definition basically creates a set of possible transitions out of the current state, while the "when" operator determines which of the states will receive the transition that follows it. There is a lot of power in the indexed processes, but it took me a bit to grasp that an indexed local process essentially creates multiple states.
Another stumbling block for me was that although the book is clear that its focus is on the transitions between states, rather than the states, that concept also took me a while to grasp. My previous experience with Finite State Automata had me trying to focus on the states as the foreground, with transitions as the background. In the LTSA, states are so much background that they only get numbers, not names. The transitions are the main focus. Once I grasped this, and read the start of the book over again, I saw that the author had been clear about this up front; my own pre-conceptions had kept me from seeing what was written.
I didn't get to due much with the FLUENT extensions to the LTSA that are supposed to add time to the models; my class had moved on to the UPPAAL modeling tool to incorporate time. Although I found UPPAAL to have a richer basis for modeling, I'm not sure I would have grasped UPPAAL as quickly if I hadn't had the LTSA experience first. Overall I'm happy with my experience with the material in this book, but I have a nagging suspicion that there might be a way to present the material in a manner that is more easily accessible.
Most of the text uses the FSP language to present models of processes. Finite state diagrams are also plentiful and add to the visual presentation. Sample Java code is also woven into the discussions - these graphical Java applets do have a "wow" factor. I think my reservations have to do with certain topics that could be easily presented but are made more complicated with the addition of elaborate FSP models that can slow down the reader. At times the material gets too far down into nuts and bolts when a more general view can work just as well.
It, without any justification, throws the reader into a whirlwind of nonsensical terminology ; and renders itself useless in absence of other resources for understanding LTSA, FSP, etc etc .... This book is almost a scam.
No real mention of how the modern concurrency API in java relates to these concepts.
Most recent customer reviews
At first you have a palette of tool in your language and you delve into creating multithreaded...Read more