Executable UML: A Foundation for Model Driven Architecture
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Executable UML: A Foundation for Model Driven Architecture | |||||||||||||||||||||||||||||
|
Using Executable UML (xUML), developers can build UML models that can not only be unambiguously interpreted by human readers, but can be tested and validated through actual execution, and ultimately translated directly and completely to target code. This technology offers immense potential for accelerating development projects, enhancing reliability, and reducing cost. In this book, two of the field's leading experts introduce every facet of xUML. The authors introduce Executable UML's goals, premises, and features; then drill down to explain its key elements. Along the way, readers will discover exactly how to use xUML to create software systems that can be tested even before they are coded, enabling far greater reliability at significantly lower expense. For all developers, analysts, and project managers seeking to improve software reliability, time-to-market, and value. This book will be especially valuable to real-time programmers, and to thousands of programmers who have used Shlaer-Mellor methodologies. |
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 12-01-07 | 1 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book does a good job of giving the reader an idea of the potential of modeling, but it reads like the US tax code. After a while it is numbing. There must be a better way to teach these concepts to humans.
(Review Data Last Updated: 2008-10-23 16:19:50 EST)
|
|||||||||||||||||||||||||||||
| 11-30-07 | 1 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book does a good job of giving the reader an idea of the potential of modeling, but it reads like the US tax code. After a while it is numbing. There must be a better way to teach these concepts to humans.
(Review Data Last Updated: 2008-10-28 10:40:38 EST)
|
|||||||||||||||||||||||||||||
| 08-21-03 | 5 | 10\10 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Having worked for an organization that has implemented a model-driven architecture technology approach to create highly robust software applications I can attest to the practical value of translatable models and the information and techniques in this book.
I have always been a fan of the rigor and completeness of the Shlaer-Mellor methodology and this book distils this rigor into a profile of UML that hopefully will inspire a wider audience to look at the reality of creating executable and translatable models. I found the book extremely well written and very complete in its treatment of every aspect of the subject from basic UML ideas through to model compilers. Unlike many technical texts I found absolutely no fluff in this book - each sentence and section has been carefully worded to be clear, consistent and unambiguous - a breath of fresh air for a pedant like myself. I have used this book (along with Leon Starr's "Executable UML: How to Build Class Models") as a reference for my course development work on executable UML and found it invaluable. The table of contents and index are complete and well put together - something that I feel is crucial in any reference text. I highly recommend this book for anyone using UML for software development who wants to explore this new technology of building executable and translatable models - and have it explained clearly and comprehensively. (Review Data Last Updated: 2007-12-15 11:03:54 EST)
|
|||||||||||||||||||||||||||||
| 08-20-03 | 5 | 10\10 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Having worked for an organization that has implemented a model-driven architecture technology approach to create highly robust software applications I can attest to the practical value of translatable models and the information and techniques in this book.
I have always been a fan of the rigor and completeness of the Shlaer-Mellor methodology and this book distils this rigor into a profile of UML that hopefully will inspire a wider audience to look at the reality of creating executable and translatable models. I found the book extremely well written and very complete in its treatment of every aspect of the subject from basic UML ideas through to model compilers. Unlike many technical texts I found absolutely no fluff in this book - each sentence and section has been carefully worded to be clear, consistent and unambiguous - a breath of fresh air for a pedant like myself. I have used this book (along with Leon Starr's "Executable UML: How to Build Class Models") as a reference for my course development work on executable UML and found it invaluable. The table of contents and index are complete and well put together - something that I feel is crucial in any reference text. I highly recommend this book for anyone using UML for software development who wants to explore this new technology of building executable and translatable models - and have it explained clearly and comprehensively. (Review Data Last Updated: 2007-04-11 12:43:51 EST)
|
|||||||||||||||||||||||||||||
| 08-13-03 | 5 | 6\15 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The review from "A reader" is erroneous. There is no review from "Leon Brooks," so it is unlikely there is any business relationship with a non-existent person.
I imagine "A reader" meant Leon *Starr* who runs an entirely separate business from those run by either of the authors. Sure, we talk and refer business each other's way, but that is to be expected. Please delete "A reader"'s review. (If you know Leon, you'd know he says what he really thinks, even if--especially?--it's bad!) (Review Data Last Updated: 2007-12-15 11:03:54 EST)
|
|||||||||||||||||||||||||||||
| 08-12-03 | 5 | 5\14 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The review from "A reader" is erroneous. There is no review from "Leon Brooks," so it is unlikely there is any business relationship with a non-existent person.
I imagine "A reader" meant Leon *Starr* who runs an entirely separate business from those run by either of the authors. Sure, we talk and refer business each other's way, but that is to be expected. Please delete "A reader"'s review. (If you know Leon, you'd know he says what he really thinks, even if--especially?--it's bad!) (Review Data Last Updated: 2006-06-25 10:26:21 EST)
|
|||||||||||||||||||||||||||||
| 12-01-02 | 5 | 12\12 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Two events at the Object-Oriented Systems, Languages, and Applications Conference of 1996 were memorable for me. The first was the opening address given by one of the more insightful architects/designers of the 20th century, Christopher Alexander. And the second was a debate between Stephen Mellor (one of the authors of this book) and Grady Booch on the topic "Translation: Myth or Reality?". Six years later, with the addition of Action Semantacs to UML, the Model Driven Architecture initiative of the Object Management Group, and the publication of this book, it appears that Mr. Mellor is as persistent in his position that executable (and hence translatable) models are indeed a reality, as Mr. Alexander was that the resonance between the structure of a solution and the corresponding problem is a measure of the solution's quality. Good ideas bear up well over time.
Mr. Mellor, and this book, are not for the faint hearted. It is his position that building software systems should be more about engineering a solution than artfully handcrafting one, and that to do this, one needs a disciplined process and a rigorous and precise engineering tool: Executable UML. If you agree with this tenet, and accept its implied challenge--or just want to know where they will lead you--this is a book for you. In this book, Mellor and Balcer present a very lean and agile profile of UML and define the underlying execution semantics that enable it to be used as a valuable engineering tool for analyzing, designing, and implementing your systems. They also prescribe an engineering process to follow when modeling a software system, and thoughtfully walk the reader through this process and the various UML models with numerous examples and real-world experiences. If you use UML to model software, and aspire to engineer that software in the process, this book will give you a lot to think about and add significantly to your engineering tool chest. (Review Data Last Updated: 2007-12-15 11:03:54 EST)
|
|||||||||||||||||||||||||||||
| 11-30-02 | 5 | 11\11 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Two events at the Object-Oriented Systems, Languages, and Applications Conference of 1996 were memorable for me. The first was the opening address given by one of the more insightful architects/designers of the 20th century, Christopher Alexander. And the second was a debate between Stephen Mellor (one of the authors of this book) and Grady Booch on the topic "Translation: Myth or Reality?". Six years later, with the addition of Action Semantacs to UML, the Model Driven Architecture initiative of the Object Management Group, and the publication of this book, it appears that Mr. Mellor is as persistent in his position that executable (and hence translatable) models are indeed a reality, as Mr. Alexander was that the resonance between the structure of a solution and the corresponding problem is a measure of the solution's quality. Good ideas bear up well over time.
Mr. Mellor, and this book, are not for the faint hearted. It is his position that building software systems should be more about engineering a solution than artfully handcrafting one, and that to do this, one needs a disciplined process and a rigorous and precise engineering tool: Executable UML. If you agree with this tenet, and accept its implied challenge--or just want to know where they will lead you--this is a book for you. In this book, Mellor and Balcer present a very lean and agile profile of UML and define the underlying execution semantics that enable it to be used as a valuable engineering tool for analyzing, designing, and implementing your systems. They also prescribe an engineering process to follow when modeling a software system, and thoughtfully walk the reader through this process and the various UML models with numerous examples and real-world experiences. If you use UML to model software, and aspire to engineer that software in the process, this book will give you a lot to think about and add significantly to your engineering tool chest. (Review Data Last Updated: 2006-06-25 10:26:21 EST)
|
|||||||||||||||||||||||||||||
| 07-30-02 | 3 | 13\16 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The book recasts Shlaer-Mellor OOA into UML notation while preserving all advantages and failures of the first.
The authors failed to realized that in contemporary, commoditized software market the winner is not the product that has the greater number of functional requirements implemented (they will all do), but the one that has better addressed non-functional requirements and software engineering "-ilities". Both non-functional requirements and "-ilities" originate design forces that can only be addressed by the model compiler. Not surprisingly, the authors delegate the OOA of model compilation domain to another, yet to be written tome. The authors' analogies to high-level language compilation are, at best, incomplete. One must always remember that after decades of research a new compiler must still be built for every advanced "metal". Contemporary distributed object-oriented systems present a continuously changing landscape of such "metal". Executable UML will be useful to System Engineers interested in "animating" functional requirements and analysis-level concurrencies. However, no incremental way of building OOA models has been suggested. It seems that the authors subscribe to "just do it" approach. The view-of-participated-objects (invented by Ivar Jacobson and popularized by Mike Ackroyd) could be a better alternative. Software engineers may find some of the terminology confusing. A subsystem, for example, is not defined as a center of execution, but as a subdomain. Overall, the book presents little added value to already skilled in Shlaer-Mellor OOA. For the newcommer to the world of translational methodology, the book raises a false hope for the out-of-the-box model compilation -- the claims of exponential growth in model compiler availability have already been made in the past. (Review Data Last Updated: 2007-07-10 08:55:02 EST)
|
|||||||||||||||||||||||||||||
| 07-29-02 | 3 | 11\14 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The book recasts Shlaer-Mellor OOA into UML notation while preserving all advantages and failures of the first.
The authors failed to realized that in contemporary, commoditized software market the winner is not the product that has the greater number of functional requirements implemented (they will all do), but the one that has better addressed non-functional requirements and software engineering "-ilities". Both non-functional requirements and "-ilities" originate design forces that can only be addressed by the model compiler. Not surprisingly, the authors delegate the OOA of model compilation domain to another, yet to be written tome. The authors' analogies to high-level language compilation are, at best, incomplete. One must always remember that after decades of research a new compiler must still be built for every advanced "metal". Contemporary distributed object-oriented systems present a continuously changing landscape of such "metal". Executable UML will be useful to System Engineers interested in "animating" functional requirements and analysis-level concurrencies. However, no incremental way of building OOA models has been suggested. It seems that the authors subscribe to "just do it" approach. The view-of-participated-objects (invented by Ivar Jacobson and popularized by Mike Ackroyd) could be a better alternative. Software engineers may find some of the terminology confusing. A subsystem, for example, is not defined as a center of execution, but as a subdomain. Overall, the book presents little added value to already skilled in Shlaer-Mellor OOA. For the newcommer to the world of translational methodology, the book raises a false hope for the out-of-the-box model compilation -- the claims of exponential growth in model compiler availability have already been made in the past. (Review Data Last Updated: 2006-06-25 10:26:21 EST)
|
|||||||||||||||||||||||||||||
| 07-22-02 | 5 | 6\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
If you have ever diligently tried to implement a software system using a graphical modeling technique such as UML, I suspect your first attempts,like mine, were less than satisfying. It probably went something like this. Starting with some shiny new UML tool you start drawing diagrams. After a while, things seem "squishy". It's hard to know exactly where to stop modeling. Some things have a clear correspondence to the implementation that you know you have to get to, but many, many other issues crop up that you decide you have to defer to the details of the implementation. At some point in time you convince yourself that you understand the problem very well and then just start coding the implementation. It can be a bit like the Twilight Zone. In the end you wonder just what all those diagrams, which are probably out of date with respect to the implementation, were for.
Fortunately, Mellor and Balcer have given us some real help here. This book is a comprehensive presentation of how to give UML executable semantics. I feel that the emphasis on execution semantics is key. When you write code, you are able to execute it in your head and verify that you think it's correct. You may still make mistakes and introduce bugs, but the process (Review Data Last Updated: 2007-12-15 11:03:54 EST)
|
|||||||||||||||||||||||||||||
| 07-21-02 | 5 | 5\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
If you have ever diligently tried to implement a software system using a graphical modeling technique such as UML, I suspect your first attempts,like mine, were less than satisfying. It probably went something like this. Starting with some shiny new UML tool you start drawing diagrams. After a while, things seem "squishy". It's hard to know exactly where to stop modeling. Some things have a clear correspondence to the implementation that you know you have to get to, but many, many other issues crop up that you decide you have to defer to the details of the implementation. At some point in time you convince yourself that you understand the problem very well and then just start coding the implementation. It can be a bit like the Twilight Zone. In the end you wonder just what all those diagrams, which are probably out of date with respect to the implementation, were for.
Fortunately, Mellor and Balcer have given us some real help here. This book is a comprehensive presentation of how to give UML executable semantics. I feel that the emphasis on execution semantics is key. When you write code, you are able to execute it in your head and verify that you think it's correct. You may still make mistakes and introduce bugs, but the process (Review Data Last Updated: 2006-06-25 10:26:21 EST)
|
|||||||||||||||||||||||||||||
| 07-04-02 | 5 | 29\31 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Before clarifying who I think will benefit from this book, I must contradict the review that claims this book is just for Bridgepoint users. I have been building executable models since 1984 using a variety of tools, on numerous real-time/embedded projects. I used Illogix on a recent project for example. In the olden days we used AutoCAD to enter the models and AutoLISP to extract the model content and generate partial code. Regardless of toolset, my colleagues and I have successfully implemented the critical concepts described in Steve and Marc's book. Experienced engineers know that you start with an engineering process and THEN figure out what tools you need to get the job done. Not the other way around (as today's most popular tool vendors would have you believe!)
NOTE: If you meet the criteria I've listed under "Who should buy this book", Chapter 14: Control Strategies alone is worth the price of this book, no matter what object oriented methodology or tool set you use. In addition to the handful of tools that fully support the engineering approach defined in Steve and Marc's book, there are many tools out there that partially support this approach. Combinations of mainstream tools and increasingly available Opensource utilities can also help you get the job done. Okay, enough about the tools, let's focus on what is really important. You should NOT buy this book if: You really love coding in C++ or Java and can't imagine why you would ever want to do anything differently. Your only interest in UML is to display your C++ in pretty rectangles with happy stickmen. The development time required to build a complete product in your organization is on the order of 1-3 months max. You SHOULD buy this book if: You want to focus effort at a higher level of abstraction than that afforded by implementation dependent languages like C, C++ or Java. You develop large real-time distributed or embedded applications with complex requirements. You know that there must be some way to disentangle the fundamental application rules from the implementation, yet each time your company creates a new product version or a spinoff, the application has to be re-specified and re-coded to a large extent. You routinely tackle extreme complexity, but don't want to end up with obnoxiously complex statecharts (See my note on Chapter 14 at the end of this review). Some things that make this book DIFFERENT Steve and Marc define a complete development language. This language uses the UML notation, but is a LOT more than just notation. In addition to the UML notation, they: Provide complete executable semantics for an implementation independent interpretation of how models execute on any arbitrary implementation. Explain a process whereby the specification can be fully separated from the implementation and various layers of middle ware can be separated from both of these layers. Raise the level of abstraction (way above C++ and Java) for solving complicated application problems while at the same time providing a language that can be (and has been) translated into non-object oriented (VHDL, C or Assembler) as well as object-oriented language implementations. In particular, Chapter 14: Control Strategies (Domain Dynamics) is one of my favorite chapters. I haven't seen anything like this in ANY other UML book. This chapter, if you have the experience and patience to work through the example and really understand what is going on (I predict most people will just skim through and completely miss the point) will change the way you think about organizing class collaborations (communicating state machines). It shows you an excellent process for decreasing the complexity of your collaborations. This is just one of the many concepts presented in this book that transcends your model editor/development tools. (Review Data Last Updated: 2007-12-15 11:03:54 EST)
|
|||||||||||||||||||||||||||||
| 07-03-02 | 5 | 26\28 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Before clarifying who I think will benefit from this book, I must contradict the review that claims this book is just for Bridgepoint users. I have been building executable models since 1984 using a variety of tools, on numerous real-time/embedded projects. I used Illogix on a recent project for example. In the olden days we used AutoCAD to enter the models and AutoLISP to extract the model content and generate partial code. Regardless of toolset, my colleagues and I have successfully implemented the critical concepts described in Steve and Marc's book. Experienced engineers know that you start with an engineering process and THEN figure out what tools you need to get the job done. Not the other way around (as today's most popular tool vendors would have you believe!)
NOTE: If you meet the criteria I've listed under "Who should buy this book", Chapter 14: Control Strategies alone is worth the price of this book, no matter what object oriented methodology or tool set you use. In addition to the handful of tools that fully support the engineering approach defined in Steve and Marc's book, there are many tools out there that partially support this approach. Combinations of mainstream tools and increasingly available Opensource utilities can also help you get the job done. Okay, enough about the tools, let's focus on what is really important. You should NOT buy this book if: You really love coding in C++ or Java and can't imagine why you would ever want to do anything differently. Your only interest in UML is to display your C++ in pretty rectangles with happy stickmen. The development time required to build a complete product in your organization is on the order of 1-3 months max. You SHOULD buy this book if: You want to focus effort at a higher level of abstraction than that afforded by implementation dependent languages like C, C++ or Java. You develop large real-time distributed or embedded applications with complex requirements. You know that there must be some way to disentangle the fundamental application rules from the implementation, yet each time your company creates a new product version or a spinoff, the application has to be re-specified and re-coded to a large extent. You routinely tackle extreme complexity, but don't want to end up with obnoxiously complex statecharts (See my note on Chapter 14 at the end of this review). Some things that make this book DIFFERENT Steve and Marc define a complete development language. This language uses the UML notation, but is a LOT more than just notation. In addition to the UML notation, they: Provide complete executable semantics for an implementation independent interpretation of how models execute on any arbitrary implementation. Explain a process whereby the specification can be fully separated from the implementation and various layers of middle ware can be separated from both of these layers. Raise the level of abstraction (way above C++ and Java) for solving complicated application problems while at the same time providing a language that can be (and has been) translated into non-object oriented (VHDL, C or Assembler) as well as object-oriented language implementations. In particular, Chapter 14: Control Strategies (Domain Dynamics) is one of my favorite chapters. I haven't seen anything like this in ANY other UML book. This chapter, if you have the experience and patience to work through the example and really understand what is going on (I predict most people will just skim through and completely miss the point) will change the way you think about organizing class collaborations (communicating state machines). It shows you an excellent process for decreasing the complexity of your collaborations. This is just one of the many concepts presented in this book that transcends your model editor/development tools. (Review Data Last Updated: 2006-06-25 10:26:21 EST)
|
|||||||||||||||||||||||||||||
| 05-22-02 | 5 | 28\31 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book heavily uses the BridgePoint tool suite from Project Technology as its basis. Knowing that up front is important because the content is specific to that set of tools. You can get eval copies of the tool suite from the vendor, and should be able to get them from the book's supporting web site, which was not fully operational at the time of this review.
The backbone of the book is model driven architecture, which is a strong and practical way to approach design and development. In a nutshell, the BridgePoint tool suite, which consists of modeling and translation tools, allows you to 'draw' the design, using UML, to produce domain partitions, state charts, class diagrams and action specifications. The tool checks your design for consistency and correctness, then the translation tool turns your design into executable code. This is code generation on steroids. Because this book uses a specific product it is most useful to BridgePoint tool users or those who are evaluating this tool set. If you are not in either audience you will probably be disappointed with the book. If you are in either audience, this book is excellent and justifies the 5 stars I am awarding it. (Review Data Last Updated: 2006-06-25 10:26:21 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |