IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.8, August 2007 273 Manuscript received August 5, 2007 Manuscript revised August 20, 2007 Software Process Modelling using Attribute Grammar Rodziah Atan, Abdul Azim Abd. Ghani, Mohd Hasan Selamat, & Ramlan Mahmod , University Putra Malaysia, Serdang, Selangor Darul Ehsan, Malaysia Summary The creations of models are essential for many knowledge disciplines to explain expected results. Modelling concept is well accepted in software engineering discipline. However, there is still a lacking integration of software process modelling and software process measurement by software engineers. This paper aims to portray the idea and result of integrating measurement in software process modelling. The objective of the integration is to show that measurement in modelling software processes is important whereby to reduce reworks in large software development. This research focused on IDEF3 Standard notation as its approach to design software process models, IDEF3-SPMA language constructs as its medium for automatic metric calculation and measurement metric defined specifically to fit the research scope. Attribute grammar approach is used to specify the measurement metrics defined. A tool is also developed to realize the whole idea of integration and metric definition, and it is called Software Process Measurement Application. Key words: Software process modelling, attribute grammar, software metrics. 1. Introduction Developing reliable software within time scheduled and cost estimated is a difficult task for many software development companies. Any flaws or late delivery of a system means a great deal for many individuals involved. It is indeed vital to produce reliable software right on schedule to avoid inconveniences for the developers, vendors and users. The software community places great hope on software modelling notations and techniques to ease this particular software development challenge. Software process modelling (SPM) is one of the techniques used to creatively define and analyse significant aspects, which can be adapted into convoluted application development and can be used to structure a strategic co-ordination for the development team. Owing to the creativity and dedication of researchers in software engineering area, there are many ways to define software processes. SPM nowadays has even reached a level that allows software designs to be transformed into languages, such as architecture design language (ADL) and unified modelling language (UML). They were designed and created in such ways for better understanding and usage of software process modelling techniques. One of such ways is process modelling using language construct [1]. The effort in using and enhancing similar technique continues and virtual reality process modelling language (VRPML) is one of the specifications [2]. The selection of attribute grammar (AG) approach to realize modelling of software processes modelling in language construct is based on its specification and automatic construction of language-based editors. AG also provides a formal, yet intuitive notation for specifying a static semantics of programming languages and has been variously used for constructing compiler generator systems [3]. Integrated Definition for Process Capture (IDEF3) is the basis for Software Process Measurement Application (SPMA - a language-based process model analyzer system) process model design and its language structure. The selection of IDEF3 is mainly to formalize the software process model notation. 2. Modelling Software Process Using IDEF3 Notation IDEF3 is a standard that was designed to formalize the documentation and the analysing activities of an existing, or proposed systems processes [4]. Proven guidelines provided by the method that comes along with a language for information capture, help users to capture and organize process information for multiple downstream uses. Some of the more prominent motivations for using IDEF3 standard are as below: - To enhance the productivity of business system analysis - To facilitate design data life cycle management - To support the project management process - To facilitate the system requirements definition process and - To support coordinated activity and integration of effort Some of basic process descriptions used in business environment are also applied in software environment