scieee Open visual document viewer

Verifying Software Requirements with XSLT

Durán Toro, Amador; Ruiz Cortés, Antonio; Bernárdez Jiménez, Beatriz; Toro Bonilla, Miguel

Abstract

In this article, we present an approach for the automatic verification of software requirements documents. This approach is based on the representation of software requirements in XML and the usage of the XSLT language not only to automatically generate requirements documents, but also to verify some desired quality properties and to compute some metrics. These ideas have been implemented in REM, an experimental requirements management tool that is also described in this paper.

Full text

ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Ve i ying So wa e Requi emen s wi h XSLT Amado Du n, An onio Ruiz, Bea iz Be n~ dez and Miguel To o Depa men o Compu e Languages and Sys ems Uni e si y o Se ille, Spain e-mail: {amado ,a uiz,bea ,m o o}@lsi.us.es Janua y 2002 Page 39 Abs ac In his a icle, we p esen an app oach o he au oma ic e - i ica ion o so wa e equi emen s documen s. This app oach is based on he ep esen a ion o so wa e equi emen s in XML and he usage o he XSLT language no only o au o- ma ically gene a e equi emen s documen s, bu also o e i y some desi ed quali y p ope ies and o compu e some me ics. These ideas ha e been implemen ed in REM, an expe imen al equi emen s managemen ool ha is also desc ibed in his pape . Keywo ds: equi emen s enginee ing, equi emen s e i i- ca ion, XML, XSLT In oduc ion Pa aph asing Boehm [5], equi emen s alida ion and e - i ica ion can be in o mally de ined by he ques ions "Am I building he igh equi emen s?" ( alida ion) and "Am I building he equi emen s igh ?" ( e i ica ion). In o he wo ds, he goal o equi emen s alida ion is o ensu e ha equi emen s documen s con ain ac ual equi e- men s and ha hese equi emen s a e all he known equi e- men s by he ime he equi emen s documen s a e baselined. On he o he hand, he goal o equi emen s e i ica ion is o ensu e he quali y o equi emen s acco ding o desi ed quali y p ope ies. Some o hese quali y p ope ies ha e o do wi h equi emen s seman ics bu o he s ha e o do wi h syn ac ic, s uc u al o p agma ic aspec s o equi emen s (see [12] o a comple e classi ica ion o quali y p ope ies o equi emen s). Ve i ica ion o seman ic p ope ies o equi emen s is closely ela ed o equi emen s alida ion 1 and equi es hu- man pa icipa ion, whe eas e i ica ion o non-seman ic p ope ies should be as au oma ed as possible. In his a icle, we p esen an au oma ed app oach o he e i ica ion o some quali y p ope ies o equi emen s. Mos o hese p ope ies can be classi ied as non-seman ic, bu we ha e also de eloped some heu is ics o check po en ial p oblems wi h some seman ic p ope ies. Ou app oach is based on he eme gen echnology buil a ound X_ML [4] and i s companion language XSLT [3]. The es o he a icle is o ganized as ollows. Fi s , we b ie ly desc ibe he basics o XML and XSLT needed o un- de s and he ollowing sec ions. Then, we desc ibe REM, an expe imen al equi emen s managemen ool [8, 9], he 1Dis inc ion be ween equi emen s e i ica ion and alida ion is some imes sub le and many au ho s use bo h e ms in e changeably. XML model o equi emen s used by REM and how XSLT can be used o e i y some quali y p ope ies o equi e- men s exp essed in XML. Finally, we discuss some ela ed wo k, p esen some esul s and poin ou u u e wo k. XML and XSLT XML Basics The e a e millions o web pages w i en in HTML a ailable in In e ne . In hese web pages, pu e in o ma ion is mixed wi h o ma ing elemen s, making he au oma ic p ocessing o in o ma ion e y di icul . XML [4] is a language designed o ep esen ing pu e in o ma ion in In e ne . In o ma ion in XML is ep esen ed by elemen s. An XML elemen is made up o a s a ag, an end ag, and o he ags o da a in be ween. Fo example, o ep esen ing he in o ma ion abou a book, we migh ha e he ollowing XML elemen named book: <book isbn="X-XXX-XXXX-X"> <au ho >Misuel de Ce an es</au ho > < i le>E1 Quijo e</ i le> </book> As you can see, he in o ma ion abou a book is be ween he ibookL and j/bookL ags and i is easy o pa se by a com- pu e p og am. The au ho and i le elemen s a e conside ed as child en o he book elemen , hus o ming a hie a chy. An XML documen mus always ha e one and only one oo elemen a he op o i s hie a chy. In o de o allow in o ma ion in e change be ween wo o mo e pa ies using XML, hey mus ag ee abou elemen g amma and seman ics. Elemen g amma is speci ied as egula exp essions in DTDs (Documen Type De ini ions) [4]. Fo example, he DTD agmen o he p e ious XML da a would be he ollowing: <!~T~MENTbook (au ho +, i le)> <!ATTLIST book isbn ID #REQUIRED> <!ELEMENT au ho (#PCDATA)> <!~T~MENT i le (#PCDATA)> whe e i is s a ed ha a book elemen can con ain one o mo e au ho elemen s and only one i le elemen . An XML elemen can also ha e a ibu es. Fo example, isbn is de ined as a equi ed iden i ica ion a ibu e o book, i.e. he e canno exis wo books wi h he same alue o he isbn a ibu e in he same XML documen . Those elemen s ha con ain only ex a e said o con ain #PCDATA, ha s ands o pa sed cha ac e da a. ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 40 T ans o ming XML The e a e many si ua ions in which XML da a need o be ans o med. Fo example, o p esen ing XML da a as an HTML page. XSLT [3] is a language based on ans o ma- ion pa e ns. An XSLT s yleshee , which is also a an XML documen , sea ches o pa e ns in he XML da a and applies p og ammed ans o ma ions, hus gene a ing some ou pu esul s. Fo example, i we wan ed o show in o ma ion abou books in a web b owse , we could apply he ollowing XSLT ans o ma ion ule: <xsl : empla e ma ch="book"> <B><xsl : alue-o ~elec =" i le"/></B> (ISBN <xsl: alue-o selec ="©isbn"/>) was w i¢¢en by <EM><xsl: alue-o selec ="au ho [1] "/></EM> </xsl : " empla e> The in o mal seman ics o his XSLT ule a e "when you ind a book elemen , gene a e i s i le in bold ace, hen i s ISBN a ibu e (no ice he @ p e ix o a ibu es), and hen i s i s au ho in emphasized mode". In he XSLT code, ex li e als like TML ags can be mixed wi h elemen alues, which a e ob ained by means o he xsl: alue-o s a emen . I we applied his XSLT ule o he p e ious XML da a, he esul o he ans o ma ion would be some hing like his when ende ed in a web b owse : E1 Quijo e (ISBN X-XXX-XXXX-X) was w i en by Miguel de Ce an es Al hough he e a e many mo e de ails abou XML and XSLT, we hink ha his b ie in oduc ion should be enough o hose eade s no amilia wi h XML echnologies in o de o unde s and he es o his a icle. REM: An XML-based Requi emen s Managemen Tool REM (REqui emen s Manage ) is an expe imen al equi e- men s managemen ool de eloped by one o he au ho s [8, 9]. In REM, a equi emen s enginee ing (RE) p ojec is conside ed o be composed o h ee documen s: 1. a cus ome -o ien ed equi emen s documen ( he equi e- men s documen [13]), usually con aining equi emen s in na u al language exp essed in e ms o cus ome 's ocab- ula y, also known as C- equi emen s [7]. 2. a de elope -o ien ed equi emen s documen ( he speci- ica ion documen [13]), usually con aining equi emen s models and mo e echnical in o ma ion, also called D- equi emen s [7]. 3. a egis y o de ec ed con lic s and nego ia ion suppo . In REM, C- equi emen s and con lic s a e exp essed in na u al language using p ede ined equi emen s empla es and some linguis ic pa e ns (see [9] o de ails). Fo exp ess- ing D- equi emen s, we ha e chosen a subse o he UML [6] REM A chi ec u e REM documen s, i.e. RE p ojec s composed o he h ee doc- umen s p e iously desc ibed, a e s o ed in ela ional ligh - weigh da abases. When he use c ea es a new REM docu- men , he basic s uc u e is aken om a REM base documen (see igu e 1), ha can be emp y o can con ain he manda- o y sec ions o so wa e equi emen s s anda ds like [1] o [15]. Any o dina y REM documen can be selec ed as a base documen , so use s can c ea e hei own base documen s o euse o he REM documen s. Eng nee /-s~# l ~ X~ da a | I ~ I uJu[ [ ~ yj ~sne LIJ ob ec s Enginee ing P ojec s ~ ~ ' (MDB o ma ) Figu e 1: REM A chi ec u e In o de o p o ide immedia e eedback on use ac ions, REM gene a es XML da a co esponding o he documen being edi ed, applies an ex e nal XSLT s yleshee ha ans- o ms XML da a in o HTML and shows he esul ing HTML o he use . In his way, whene e he use changes a equi e- men s documen , he o she can see he e ec s immedia ely. In a simila way he REM base documen can be ailo ed, he use can also change documen appea ance by selec ing o c ea ing di e en ex e nal XSTL s yleshee s. The de aul XSLT s yleshee gene a es a highly hype linked documen , easing na iga ion o equi emen s documen s (see igh side o igu e 2). O he con igu able aspec o REM is he language o he use in e ace. The use can choose i by selec ing an ex e - nal esou ce dynamic link lib a y (DLL). A he momen o w i ing, we ha e de eloped wo ex e nal esou ce DLLs o REM, one in Spanish and o he in English. Ano he one in Po uguese is unde de elopmen . REM Use In e ace The use in e ace o REM p esen s wo di e en iews o he use (see igu e 2). On he le , he use can see a abbed iew wi h h ee ee iews, one o each equi emen s documen in he RE p ojec . On he igh hand, he esul o he XSLT ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 3anua y 2002 Page 41 [:~j..<~ 3.1 Capabili y equi emen s ~.-~iii!~;~ 3.1.1 Sys em ac o s i % ~ ac -000~ Cos ome • :~ i,....;~ [ACT-O002] Employee ~-.~ 3.1.2 In o ma ion s o age n ~],.l~ [IRQ-O001] In o ma ion :, i$' ,[XRq-OOOZ],.~o m~Uon ~1--1 ~ [IRQ-O003] In o ma ion [] "'~!~i~ 3. ~ Z_Sy~. e_ g~se cg.~eP. .... i.....~ I. Ac o Cus ome asi~ !.....'~ 2, Ac o Employee q ~ • i~ :.~ i "~yT"~, 3, The sys em showsi~ : i L,. ~l~ I he e a e no a~ !.,.--% 4, Ac o Cus ome chl I i..--., 5. Ac o Employee as I : . O dh a D, llex i iThe sys em shall beha e as de sc ibed in. he ollo~.~..~.~..~ .................. ~[when a cus ome wan s o en . a C~ .......... ............. ................. e i/q--![Ac o, Cu~oms* (ACT-OOOD asks 0, a a~lable ca s o !i * ~_l~yJ.~.2~.~..~.~i que ies he sys em o sys em shows a lis o a ailab!e ¢~s ......................................... chooses one a ailable ca asks 0s ~en .a! da es cus 0ms da a o he p o ides ~ da es and .~ .em .~ ~.. ..°_. .~.~..°.~L~d.:e~s. .~_~ .~ ~.. _...i me_._~ has en ed he ca s i!i Figu e 2: REM Use In e ace ans o ma ion o he XML da a is p esen ed o he use in a embedded web b owse . In any o he h ee ee iews, he use can di ec ly manip- ula e objec s by d ag and d op o by con ex menus. Only ac ions ha ha e sense can be pe o med, ollowing a co ec - by-cons uc ion app oach, hus inc easing quali y and sa ing e i ica ion e o . Fo example, ac ions o use case s eps can be o h ee di - e en classes (see igu e 4): ac o ac ion, i he ac ion is pe o med by an ac o ; sys em ac ion i he ac ion is pe - o med by he sys em, o use case ac ion, i he ac ion con- sis s o pe o ming o he use case, i.e. an use case inclusion o ex ension [6]. Ac o ac ions and use case ac ions can be c ea ed only i some ac o o some use case ha e been p e i- ously c ea ed. In gene al, objec s can be c ea ed by means o con ex menus on po en ial pa en s o by means o he c ea ion oolba . XML Model o Requi emen s in REM REM is based on an UML [6] model o equi emen s (a pa ial iew o his model is shown in igu e 4). The main objec class o he model is he Requi emen s Documen , ha is composed o a sequence o REM objec s. See igu e 3 o a classi ica ion o REM objec s. We ha e ansla ed ou UML model o equi emen s in o a ela ional schema and in o a DTD. As an example, he Use- Case class in igu e 4 has been ansla ed in o he ollowing DTD elemen de ini ion: <!RIRblENT em:useCase ( am:name, am: e sion, am:au ho s?, am:sou ces?, em:commen sT, am:impo ance, am:u gency, am:s a us, am:s abili y, em:isAbs ae ?, em: igEe inEE en , am:p econdi ion, em:pos condi ion, am: equency, em:s~ep* )> <!ATTLIST em:useCase old ID #REQUIRED> Many o he elemen s in he p e ious DTD agmen (commen s, igge ingEe en , p e and pos condi ion), con ains only ex , i.e. na u al language. In REM, ex can be com- posed o any combina ion o ee ex , e e ences o o he objec s and TBD (To Be De e mined) ma ks, de ined as ol- lows: <!ELEMENT em: ex (#PCDATA[ em: e l em: bd)*> <!ELEMENT am: el (#PCDATA)> <!ATTLIST am: el oid IDREF #REQUIRED> <!w~ENT em: bdEMPTY> whe e he em: e elemen mus ha e a equi ed a ibu e called oid ha i is decla ed as an IDIREF, i.e. a e e ence o o he elemen wi h a ma ching iden i ica ion a ibu e alue. An IDREF a ibu e is e y simila o a o eign key in ela- ional da abases. ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 42 REM objec , Sec ionappendix Pa ag aphglossa yi em Ex em~lg aphic ile T aceabili yma ix S akeholde s- ela ed objec O ganiza ion S akeholde Mee ing C-Requi emen Objec i e Ac o In o ma io.ns o ag.e equi emen Cons ai l equi emen Func ion .l equi emen. useeas¢ Non unc ion~l equi em ea D-Requi emen l Objeq ype Valu.e ype Associa io.n ype Sys em ope a ion Con lic Figu e 3: Classi ica ion o objec s in REM The em: bd elemen is decla ed as an EMPTY elemen , i.e. i canno ha e nei he subo dina e elemen s no da a. I is simply a ma k. Using XSLT as a Requi emen s Ve i- ica ion Language In he ollowing sec ions we desc ibe how some o he quali y ac o s desc ibed in [10 can be au oma ically e i ied using XSLT when equi emen s a e elec onically s o ed in XML o ma acco ding o he REM DTD. Unambigui y A equi emen is unambiguous i and only i has only one pos- sible in e p e a ion [1]. Ob iously, his is a seman ic p op- e y o a equi emen and canno be au oma ically e i ied, bu we can gi e some hin s abou po en ial ambigui ies in a equi emen s documen . We ag ee wi h Lei e [11] in he impo ance o unde s and- ing he language o he p oblem and in he impo ance o building a glossa y (called Language Ex ended Lexicon, LEL, in [11]). Following Lei e, he glossa y should ollow wo p inciples: he p inciple o ci cula i y, ( he glossa y mus be as sel -con ained as possible) and he p inciple o min- imal ocabula y (use as much glossa y i ems as possible in S akeholde ~ REMObJec , s°u cd~l , I =oo i ~[c°m nen~ C-Requi emen impodance~ u gency~ s a u~ s abili y~ ..................... _L ...... UseCase • I ~Iep ~ -Y----7~--, I -- ~ " V_ "loesc lp '° ~] isAbs a~ . {° demd~L--T~l~---] * i-- lgga ingE en [ • [ ~1 = .... ,,__ p econdi ion] ~;=~ ~ .... p ..... pos condi io ~ ~'~--~ ~ desc ip io~ equency~ I ~'"~" [~ e mina ion~ ----~----~ .... ~ ...... 1 I UseCaseAc lon I Sys emAc ion ! Ac o Ac lon desc ip ion~ [ desc ip ion~ pe o manoe~ ", *~ , Ac o Figu e 4: UML model o use cases in REM you equi emen s desc ip ions). Lei e's p inciples canno gua an ee unambigui y, bu hey can help o build unam- biguous, unde s andable, e i iable, consis en , concise, and c oss- e e enced equi emen s [10]. XSLT can be used o measu e glossa y ci cula i y (GLC) and minimali y o ocabula y (MOV). GLC can be measu ed as he a io be ween glossa y i ems and e e ences o glossa y i ems om o he glossa y i ems. The ollowing XSLT code, whe e we ha e decla ed a a iable o he sake o eadabili y, can be used o compu ing GLC: <xsl : a iable name="GLC" selec ="coun (// em:glossa yI em) di coun (// em: glossa yI em// em: e ) "/> <xsl : alue-o selec =" o ma -numbe ($GLC, ' #0. O0 ~ ) "/> whe e he exp ession // em:glcx~sa yl em is an X.Pa h exp ession [2] meaning "any em:glossa yl em ele- men descendan o he oo ", whe eas he exp ession // e n:giossa yl em// em: e means "any em: e elemen descendan o any em:glossa yi em descendan o he oo ". In XPa h, he language o building na iga ion exp essions o e XML ees, an elemen is conside ed as descendan o o he elemen i i is i s child a any le el o dep h in he hie a chy. A simila a io be ween he numbe o e e ences o glos- sa y i ems in equi emen s and he numbe o equi emen s can be used o measu e MOV. F om he MOV iewpoin , ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 43 i is also possible o de ec hose "suspicious" equi emen s ha do no ha e any e e ence o any glossa y i em in hei ex . Since hose equi emen s a e no using he ocabula y o he cus ome , hey should be checked o po en ial p ob- lems o ambigui y o unde s andabili y [10]. Fo example, i we wan o know which use cases a e "suspicious", we can use he ollowing XSLT code: <xsl : empla e ma ch " em:useCase [no (.// em: e )] "/> U~e case <xsl : alue-o selec =" em:name"/> does no use any glossa y i em </xsl : empla e> whe e he ma ch exp ession uses b acke s o selec only hose use cases wi h no descendan e e ences. Ano he possibili y is o de e mine a h eshold alue o he num- be o e e ences pe equi emen and conside as suspi- cious all equi emen s wi h a numbe o e e ences unde he h eshold. In ha case, he ma ch exp ession would be em:useCase[coun (.// em: e ) i m], wi h m being he MOV h eshold. Comple eness A equi emen s documen is comple e i i includes [10]: 1. E e y hing ha he so wa e is supposed o do, i.e. all he equi emen s 2. Responses o he so wa e o all classes o inpu da a in all ealizable si ua ions 3. Page numbe s, igu e and able names and e e ences, a glossa y, uni s o measu e and e e enced ma e ial 4. No sec ions ma ked as TBD In ou app oach, he hi d comple eness condi ion is pa - ially sa is ied by means o he co ec -by-cons uc ion pa a- digm o REM: igu e and able names a e au oma ically gen- e a ed, e e ences a e au oma ically inse ed and upda ed, and he use can easily c ea e a glossa y. I we wan o be su e abou he exis ence o a sec ion named Glossa y, we can apply he ollowing XSLT code: <xsl: choose> <xs i :when es ="// am: sec ion [ am: name=' Glossa y ' ] "/> The e is a glossa y </xsl: when> <xsl : o he wise> The e is no glossa y </xsl : o he wise> </xsl : choose> whe e he s uc u e o med by xsl:choose, xsl:when and xsl:o he wise is basically an i -else-endi s a emen wi h mul- iple else b anches. No ice ha i we wan o check he ex- is ence o an elemen we canno use an XSLT empla e. I he e is no such an elemen , he empla e will ne e ma ch and we will ha e no ou pu . Simila XSLT code can be used o e i y i equi emen s documen s a e o ganized [10], i.e. i hey ha e manda o y sec ions in he manda o y o de wi h manda o y con en . The ou h condi ion o comple eness, he absence o TBD ma ks, can be easily e i ied using XSLT. I we wan o know how many TBD ma ks a e in a equi emen s documen we can apply he ollowing X_LST code: The e axe <xsl : alue-o selec =" coun (// am: bd) "/> TBD ma ks ha would gene a e in he ou pu he numbe o occu ences o elemen s o ype em: bd anywhe e in he XML da a. I we wan o be mo e p ecise and we wan o know wha use cases ha e TBD ma ks inside hei ex and how many TBD ma ks hey ha e, we could w i e he ollowing XSLT code: <xsl : empla e ma ch=" em:useCase [./I em: bd] "/> Use case <xsl: alue-o selec =" em:name"/> has <xsl: alue-o selec =" coun (.// am: bd) "/> TBD ma ks </xsl: empla e> in which he selec exp ession " em:useCase[.// em: bd]" means "any use case wi h a leas one descendan o ype em: bd". T aceabili y In [10], a equi emen s documen is said o be aceable i and only i i is w i en in a manne ha eases he e e - encing o each indi idual equi emen . Since REM assigns au oma ically an unique iden i ie o e e y equi emen ( he equi ed iden i ie a ibu e oid, see he DTD o use cases), his quali y ac o does no ha e o be e i ied explici ly. Wha i nms be checked is i he o igin o e e y equi e- men is clea , i.e. i equi emen s a e aced [10]. In ou UML model o equi emen s, any REM objec can be aced o and om o he REM objec s and o hei human sou ces and au- ho s (see igu e 4). Checking i a equi emen has sou ces and au ho s and i i is aced o o om o he equi emen s is easy wi h XSLT. Fo example, he ollowing XSLT em- pla e will ma ch all use cases wi h no human sou ces: <xsl : empla e ma ch " em: useCase [no ( am: sou ces) ] "> Use case <xsl: alue-o selec =" em:name"/> has no sou ces </xsl: empla e> And his XSLT empla e will ma ch all non unc ional e- qui emen s no aced o o he REIV1 objec s: <xsl : empla e ma ch=" am: nonFunc ionalRequi emen "> <xsl:i es "no (// em: ace[©sou ce=cux en ()/©oid])"> Non unc ional equi emen <xsl : alue-o selec =" em: name"/> is no aced o any objec </xsl: i > </xsl : empla e> ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 44 In REM, aces a e de ined as elemen s wi h wo equi ed a ibu es o ype IDREF, namely sou ce and a ge . The use o REM can also use aceabili y ma ices o isual checking o non- aced equi emen s. O he e i iable quali y ac o s Applying he same ideas, o he quali y ac o s de ined in [10] can be e i ied using XSLT, o example: • Wha equi emen s a e no anno a ed wi h ela i e im- po ance, ela i e s abili y o e sion. * Wha equi emen s ha e po en ially ambiguous wo ds in hei desc ip ion, like easy o, use - iendly, e c. by means o XSLT s ing unc ions like con ains [3]. • I use cases a e no well s uc u ed, i.e. i he e a e oo ew o oo many includes o ex ends ela ionships. • Wha use cases ha e oo ew o oo many s eps, o oo much excep ions, i.e. oo many al e na i e cou ses. • Wha de ined ac o s do no pa icipa e en any use case. Rela ed Wo k Mos wo k on au oma ed equi emen s e i ica ion is based on Na u al Language P ocesssing (NLP), like [14] o [12]. Those app oaches, ocused on seman ic analysis o equi e- men s, usually make equi emen s enginee s w i e equi e- men s in a subse o na u al language, demand many com- pu e esou ces and ha e no been widely adop ed in indus- y. The Au oma ed Requi emen Measu emen (ARM) ool [16], is p obably he mos ela ed wo k o he app oach p e- sen ed in his a icle. I is a simple ye powe ul ool ha scans equi emen s documen s sea ching o indica o s, i.e. wo ds ha ha e been iden i ied as indica o s o good o bad quali y p ope ies. Ou app oach does no use NLP bu an open, simple and ligh e echnology like XML/XSLT. We can o e he same unc ionali y o ARM plus all addi ional e i ica ion desc ibed in his pape , and he use o REM can de ined his o he own XSLT e i ica ion s yleshee s. F om a p ac ical poin o iew, we hink ha ou esul s a e use ul o he a e age equi emen s enginee . Conclusions and Fu u e Wo k In his a icle we ha e b ie ly p esen ed an au oma ed ap- p oach o he e i ica ion o so wa e equi emen s. Ou ap- p oach is based on a open echnology like XML and XSLT. In ac , i equi emen s a e ep esen ed in XML using a di - e en DTD, many o he XSLT code p esen ed in his pape should be easily adap ed. Ou app oach does no need ha d compu e esou ces and i has p o ed o be use ul when used wi h ou s uden s a he Uni e si y o Se ille. Ou u u e wo k is ocused in de eloping quali y me ics, so we can de ec po en ial p oblems wi h equi emen s com- pa ing quan i a i e alues. We expec o iden i y some use ul me ics soon by applying da a mining echniques o he e- qui emen s documen s gene a ed by ou s uden s. Acknowledgmen s This wo k is pa ially unded by he Spanish CICYT p ojec GEOZOCO TIC 2000-1106-C02- 01 and by he in e na ional CYTED p ojec WEST. Re e ences [1] IEEE Recommended P ac ice o So wa e Requi emen s Speci ica ions. IEEE/ANSI S anda d 830-1998, Ins i u e o Elec ical and Elec onics Enginee s, 1998. [2] XML Pa h Language (XPa h) 1.0. W3C Recommenda ion, No embe 1999. [3] XSL T ans o ma ions (XSLT) 1.0. W3C Recommenda ion, No embe 1999. [4] Ex ensible Ma kup Language (XML) 1.0 (Second Edi ion). W3C Recommenda ion, Oc obe 2000. [5] B. W. Boehm. Ve i ying and Valida ing So wa e Requi e- men s and Design Speci ica ions. IEEE So wa e, 1(1):75-88, 1984. [6] G. Booch, J. Rumbaugh, and I. Jacobson. The Uni ied Mod- eling Language Use Guide. Addison-Wesley, 1999. [7] J.W. B acke . So wa e Requi emen s. Cu iculum Module SEI-CM-19-1.2, So wa e Enginee ing Ins i u e, 1990. [8] A. Du hn. A Me hodological F amewo k o Requi emen s Enginee ing o In o ma ion Sys ems (in Spanish). PhD he- sis, Uni e si y o Se ille, 2000. [9] A. Du hn, B. Be n£ dez, A. Ruiz, and M. To o. A Requi e- men s Elici a ion App oach Based in Templa es and Pa - e ns. In WER'99 P oceedings, Buenos Ai es, 1999. [10] A. Da is e al. Iden i ying and Measu ing Quali y in a So - wa e Requi emen s Speci ica ion. In P oceedings o he 1s In e na ional So wa e Me ics Symposium, 1993. [11] J. C. S. P. Lei e e al. Enhancing a Requi emen s Baseline wi h Scena ios. In P oceedings o he 3 d IEEE In e na ional Symposium on Requi emen s Enginee ing (RE'g7), 1997. [12] F. Fabb ini, M. Fusani, V. Ge asi, S. Gnesi, and S. Ruggie i. Achie ing Quali y in Na u al Language Requi emen s. In P oceedings o he 11 h In e na ional So wa e Quali y Week, 1998. [13] B. L. Ko i z. P ac ical So wa e Requi emen s: A Manual o Con en ~ S yle. Manning, 1998. [14] N. A. Maiden, M. Cisse, H. Pe ez, and D. Manuel. CREWS Valida ion F ames: Pa e ns o Valida ing Sys ems Requi e- men s. In Fou h In e na ional Wo kshop on Requi emen s Enginee ing: Founda ion o So wa e Quali y (RESFQ), 1998. [15] C. Mazza, J. Fai clough, B. Mel on, D. de Pablo, A. Sche e , and R. S e ens. So wa e Enginee ing S anda ds. P en ice- Hall, 1994. [16] L. Rosenbe g, T. Hamme , and J. Shaw. So wa e Me ics and Reliabili y. In 9 h In e na ional Symposium on So wa e Reliabili y Enginee ing, 1998.