The use of microcomputers as decision aids in law practice is increasing rapidly. Nagel here shows how developments in software over the last few years are making microcomputers practically indispensable to lawyers as decision aids. This is in contrast to his earlier book on Microcomputers as Decision Aids in Law Practice. It dealt speculatively with ways in which decision-aiding software could be used by lawyers for judicial prediction, litigation strategy, allocating scarce resources, and negotiation-mediation. The book is divided into three parts covering general developments, specific lawyer skills, and application to all fields of law. The first part previews various uses of decision-aiding software by practicing lawyers, including a general discussion of the potential and actual benefits of such software. How decision-aiding software enhances specific lawyer skills comprises the second and largest part of the work. Among the topics discussed are computer-aided counseling, computer-aided mediation, legal policy evaluation and computer-aided advocacy, law prediction, and legal administration. In the third part, Nagel assesses applications of decision-aiding software to all fields of law, with an emphasis on contracts, property, torts, family law, criminal law, constitutional law, economic regulation, international law, civil procedure, and criminal procedure. In a provocative concluding chapter, he deals with the thorny issues of individual ethics and professional responsibility in the context of microcomputers. Because decision-aiding software encourages decision makers to be much more explicit about their goals than they otherwise would be, its use raises questions as to whose goals should be pursued and to what degree. This is a nuts-and-bolts guidebook that will be a valuable tool for practicing attorneys with some knowledge of microcomputers and is recommended reading for legal scholars and law students.
Key software specification methods are introduced in this practical approach that applies learned techniques to real-life situations. Each method is introduced through a series of questions asked by an imaginary user and presented with the same invoicing-system example, allowing readers to compare and contrast each method. Among the techniques covered are B, Estelle, LOTOS, SAZ, OMT, SDL, TLA+, UML, VHDL, and Z.
Current practice dictates the separation of the hardware and software development paths early in the design cycle. These paths remain independent with very little interaction occurring between them until system integration. In particular, hardware is often specified without fully appreciating the computational requirements of the software. Also, software development does not influence hardware development and does not track changes made during the hardware design phase. Thus, the ability to explore hardware/software tradeoffs is restricted, such as the movement of functionality from the software domain to the hardware domain (and vice-versa) or the modification of the hardware/software interface. As a result, problems that are encountered during system integration may require modification of the software and/or hardware, resulting in potentially significant cost increases and schedule overruns. To address the problems described above, a cooperative design approach, one that utilizes a unified view of hardware and software, is described. This approach is called hardware/software codesign. The Codesign of Embedded Systems develops several fundamental hardware/software codesign concepts and a methodology that supports them. A unified representation, referred to as a decomposition graph, is presented which can be used to describe hardware or software using either functional abstractions or data abstractions. Using a unified representation based on functional abstractions, an abstract hardware/software model has been implemented in a common simulation environment called ADEPT (Advanced Design Environment Prototyping Tool). This model permits early hardware/software evaluation and tradeoff exploration. Techniques have been developed which support the identification of software bottlenecks and the evaluation of design alternatives with respect to multiple metrics. The application of the model is demonstrated on several examples. A unified representation based on data abstractions is also explored. This work leads to investigations regarding the application of object-oriented techniques to hardware design. The Codesign of Embedded Systems: A Unified Hardware/Software Representation describes a novel approach to a topic of immense importance to CAD researchers and designers alike.
Web Basic Articles
Web Basic Books