(IJCSIS) International Journal of Computer Science and Information Security,Vol. 08, No. 04, July 2010
process for requirements specification right from the inceptionphase of the Early Requirements gathering to the systemArchitectural design and Implementation. On the other handthe RELAX specification presents specific language constructsas well as formal notations and semantics descriptions forincorporating flexibility in the requirements set for self adaptive systems.However, if Tropos alone is applied to gatheringrequirements for self adaptive systems, it cannot fulfil theprerequisite for an adaptive set where specific environmentalvariables can be quantified so that partial fulfilment of goalscan be taken as satisfactory for iterating a goal path. TheRELAX specification alone lacks a formal process of gathering the early requirements and then iteratively workingupon that set to transform the requirements to the architecturaldesign and the implemented system.Also there are a number of agent oriented methodologiespresented in literature for system modelling. However theirapplication and span of usage is restricted to their level of maturity. Studying a number of research literature related tothe comparison of agent oriented methodologies  , it isalso concluded that the Tropos is one single methodology thatis not only stable and relatively mature but it also lays a strongfocus on the early requirements analysis where the domainstakeholders and their intentions are identified so that the mainreason for the system development can be acknowledged atthe initial stages.Hence this proposed framework presents a process of identifying the initial set of the requirements and workingupon them for refining them to cater to the underlyingnecessities for self adaptive systems. A case study is alsopresented for applying the framework for modellingrequirements of a self adaptive system such as SmartHome forproving the practicality of the approach.
Requirements Engineering in Tropos
The Tropos is an agent oriented software developmentmethodology which is developed by a group of authors fromvarious universities in Canada and Italy. The Tropos is aunique agent oriented software engineering methodology thatdrives its strengths from three basic factors such as it keenlyfocuses on the activities that precede the prospectiverequirement engineering practice by collecting informationabout how and why the intended system is envisioned toachieve the organizational goals. Hence firstly, it focuses onthe broad picture of the system so that a perspective isestablished and ground is set for detailed requirementsanalysis .Secondly, it provides means of specifying and designing thesystem right from the requirements analysis to the systemarchitecture, design and implementation phases in a systematicmanner. It drives its strength from the notions of actors, hardgoals, soft goals, plans, resources, mean-end links andintentional dependencies.Lastly, the methodology is built on the novel idea that thesystem to be should be modelled in an incremental fashion,refining it at every subsequent stage from the conceptual levelto the executable artefacts through the usage of a sequence of transformational steps. Hence the major advantage of thismethodology over the other modelling notations is derivedfrom the fact that it not only concentrates of the what or howperspectives of the system but also on the why aspect of thesystem   .The Tropos model is extensively inspired by the Eric and
Yu’s framework for requirements engineering which presents
the idea of actor, goals and actor dependency links asprimitive concepts . The Tropos model propose a goalbased requirements modelling technique to capture andanalyse both the business and system requirements, risk andsecurity and location requirements .1)
Phases of Tropos:
The Tropos methodology is dividedinto the following four major phases of the softwaredevelopment lifecycle :
Early Requirement AnalysisLate Requirement AnalysisArchitectural DesignDetailed DesignImplementation
Fig. 1. Tropos Iterative and Incremental Approach
RELAX: A Specification Language
RELAX is a requirements specification language developedexplicitly for self adaptive system by the researchers at theuniversities of England, USA and France. The languageconstructs explicitly support the expression of theenvironmental uncertainty in the requirements . Thisenvironmental uncertainty is the core of the self adaptivesystems where flexible requirements needs to be specified sothat changes to the environment and other conditions shouldnot affect the normal functioning of the system and the systemshould gracefully alter its execution path to cater to suchchanges.The RELAX vocabulary is specified in a set of its operatorswhich are organized into modal, temporal and ordinaloperators and uncertainty factors . The following tabledescribes the RELAX vocabulary constructs.