Abstract

syntax describes lhis logical :;tructure of messages, as it also dee:3 for maUboxes and bulletin boards. The concrete syntax describes the outpul format of these objects in order that the user carl read messages and see mailboxes and bulleth] boards. The runtime support description defines how the specilic objects use the common facilities such, as memor3t or output wiudc>ws, what upd0tir~g is needed when objects are created or deleted and what kind of consistency rules or access control applies to the objects in the target system. Reusability may even apply to the system-specific part. It is not uncomrnon that system family members provide just slightly different operations on the objects in the target system. This commonality can be captured in a library of specific facilities available to the designer for copying or slight modification. This idea has been successfully applied in the design of many taskoriented programming environments that were mentioned earlier. Automation of the abstract and concrete syntax is not difficult to achieve since designing formalisms for the description of syntax has been well understood for more than two decades. Automation of the runtime support, however, is far more difficult because most of the runtime support consists of active procedures that play the role of watchdogs for the objects they are attached to. Writing runtime support in a traditional programming language is an acceptable alternative if automation is lacking, because it still requires only a small part of the code to be written from scratch. Of course, if automation of the runtime support is not achievable, the existence of a library of standard runtime support routines becomes all the more important. 7 Conclusion The main objective of software engineering is to help produce high quality software systems within reasonable bounds of time and cost. The major factors that determine the quality of a software product in addition to its desired functionality are reliability, performance, flexibility and friendliness of the user interface. Software engineering is right now facing the challenge of solving the serious problems encountered in the software production process which lead to cost and time overruns and products that are lacking in many of the quality factors. Tools most frequently used for improving the software production process are program measurement and software development support tools. Measurement tools are helpful in finding the bottlenecks in the existing software production methodology. Support tools are helpful in alleviating the task of the people involved the production process. Both kinds of tools help to make the production process more effective and more reliable. The original design of isolated support tools is gradually being replaced by integrated programming environments that behave more as intelligent assistants than as toolboxes. Measurements and support tools are designed to correct flaws in an existing methodology, but do not address the more fundamental question of methodology itself, There is a general feeling Ihat current practices are inadequate (and will become more so in the near future) to satisfy the growing demand for reliable soltware that is produced on time and within budget. The basic flaw.,~ of the current process are its labor.intensive approach to project

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.