Karl Reed Uni de Milano Crema 21508 Language

  • Slides: 52
Download presentation
Karl Reed Uni de Milano, Crema 21/5/08 Language, Requirements and Reuse -The Trick of

Karl Reed Uni de Milano, Crema 21/5/08 Language, Requirements and Reuse -The Trick of Finding Similarities and Differences by Assoc. Prof. Karl Reed, FACS, FIE-Aust. , MSc, ARMIT. MIEEE Immediate Past Chair IEEE-Computer Society Tech. Council on Software Engineering Adjunct Assoc. Prof. Department of Computer Science & Computer Engineering, La Trobe Visiting Researcher, Uni de Milano, Crema liberal use will be made of ideas from Jason Baragry, Mark Woodman, David Cleary, John Jolley and Jacob Cybulski R 2 p. 1

Agenda 2 2 2 2 Karl Reed Uni de Milano, Crema 21/5/08 Introduction-the starting

Agenda 2 2 2 2 Karl Reed Uni de Milano, Crema 21/5/08 Introduction-the starting point for systems developmentunderstandability vs precision Re-use and component-based design-what we want and where we would like to have it A view of “language” in technical environments-controlled languages Some examples of re-use based upon language Compilable Restricted Natural Language (CRNLP) as a solution-The Amdahl Project Uses for CRNLP Progress or the lack of it. . Conclusions R 2 p. 2

Karl Reed Uni de Milano, Crema 21/5/08 R 2 p. 3

Karl Reed Uni de Milano, Crema 21/5/08 R 2 p. 3

2 Karl Reed Uni de Milano, Crema 21/5/08 Introduction-the starting point for systems developmentunderstandability

2 Karl Reed Uni de Milano, Crema 21/5/08 Introduction-the starting point for systems developmentunderstandability vs precision This talk is about work in progress. . Ideas that seem to be a useful way of looking at a set of problems How established technology may be used to improve our results Some results that are somewhat un-expected Our starting point is…. Mostly, we begin our development by gathering data, in some form of natural language…. So, if we can find ways of using this fact, we may: 1. Reduce the errors due to mis-matches between specifications and user “needs” 2. Develop means of uncovering various kinds of commonality during all phases of implementation R 2 p. 4

Introduction-the starting point for systems developmentunderstandability vs precision (cont’d) An interesting example… 2 Karl

Introduction-the starting point for systems developmentunderstandability vs precision (cont’d) An interesting example… 2 Karl Reed Uni de Milano, Crema 21/5/08 An automotive ABS system has a (conceptually) simple goal statement. “If a wheel begins to lock under braking, then release the brakes, and when the wheel rotates, reapply the brakes. Do this in a manner which reduces the slip between the wheel and the road according to some algorithm”* Now consider a simplistic statement of traction control. . “If a wheel begins to rotate more rapidly than the vehicle speed requires, then apply the brake, and when this is not happening, then release the brake. Do this until the wheel is rotating at a rate required by the road-speed” THESE SEEM TO BE DIFFERENT PROBLEMS… and they are, however, if we state them appropriately, we see that they share common components and functions *Of course, its more complex than that, but it will do. . See Kachroo and Tomizuka [1]for a detailed analysis, and http: //saabhistory. com/2001/07/04/class-leading-esp-takes-the-nerves-out-of-swerves/ for something lighter R 2 p. 5

2 Introduction-the starting point for systems developmentunderstandability vscease precision to rotate(cont’d) slip Karl Reed

2 Introduction-the starting point for systems developmentunderstandability vscease precision to rotate(cont’d) slip Karl Reed Uni de Milano, Crema 21/5/08 “If a wheel begins to lock under braking, then release the brakes, and when the wheel rotates, reapply the brakes. Do this in a manner which reduces the slip between the wheel and the road according to some algorithm”* slip Now consider a simplistic statement of traction control. . “If a wheel begins to rotate more rapidly than the vehicle speed requires, then apply the brake, and when this is not happening, then release the brake. Do this until the wheel is rotating at a rate required by the road-speed” By modifying the statement, to reduce the number of terms used (may be using an ontology, or constructing one as we go), we can change both specifications so that: 1. 2. The same terms are used with qualifiers, (may be logical, NOT) The two statements expose their similarity* * The history suggests that traction control was always considered as part of the ABS problem, but that it was too expensive for some time. R 2 p. 6

Introduction-the starting point for systems development-understandability vs Rewritten… 2 Karl Reed precision (cont’d) Uni

Introduction-the starting point for systems development-understandability vs Rewritten… 2 Karl Reed precision (cont’d) Uni de Milano, Crema 21/5/08 Modifying the two statements we get… For the ABS. . . “If a wheel begins to cease to rotate, then release the brakes, and thenif wheel rotates, apply the brakes. Do this in a manner which reduces the slip between the wheel and the road according to some algorithm”* For the traction control. . “If a wheel begins wheel rotation not equal f(vehicle speed), then apply the brake, and when wheel rotation is equal f(vehicle speed), then release the brake. Do this until the wheel is rotating at a rate required by the road-speed according to some algorithm” We can now see that there are common functions and common components. . A 1. ABS has a wheel rotation sensing system. . A 2. ABS has electronic control of brakes A 3. ABS needs speed sensors* A 4. Modern ABS may have a slip detection algorithm@ T 1. T 2. T 3. T 4. Traction Control needs a wheel rotation sensing system Traction Control needs electronic control of brakes Traction Control needs speed sensors Modern Traction Control must have a slip detection algorithm@ * Actually, initially they were more primitive @ These may be quite different Note restricted Language set used here Allows for identification of reuse. . R 2 p. 7

2 Re-use and component-based design-what we want and where we it Karl Reed Uni

2 Re-use and component-based design-what we want and where we it Karl Reed Uni de like Milano, Crema would to have 21/5/08 From Rosenbluth, W. (2001). Chapter 4 A Review of Antilock Braking and Traction Control Systems. Investigation and Interpretation of Black Box Data in Automobiles: A Guide to the Concepts and Formats of Computer Data in Vehicle Safety and Control Systems, ASTM/SAE. R 2 p. 8

2 Karl Reed Uni de Milano, Crema 21/5/08 Understandability vs precision Property of Requirements/

2 Karl Reed Uni de Milano, Crema 21/5/08 Understandability vs precision Property of Requirements/ Specification For The user/client Developer Formality-natural language Easy to follow, may not be unambiguous for user May be very ambiguous and incomplete, obscure re-use opportunities Formality-formal specifications Almost impossible for users May be incomplete, had to to follow work with Diagrams (use-cases, FSM’s, logic tables, etc) Can be followed (reports of May also be incomplete, but success by Leveson and easy to work with for Parnas with logic tables) designers, re-use may be obscured Business Process Models May be easier for users As above Test Cases May be missleading Test case design can be used to verify spec. during design, and development R 2 p. 9

Karl Reed Uni de Milano, Crema 21/5/08 2. Re-use and component-based design-what we want

Karl Reed Uni de Milano, Crema 21/5/08 2. Re-use and component-based design-what we want and where we would like to have it 2 2 5. Reuse… the real objectives are. . Be able to recognise that ANY artifact, (design element, requirement, subsystem, code-fragment) is sufficiently identical to some other that the former may be used in place of the latter with or without modification In the case where modification is needed to have prescriptive methods for making such modifications, and verifying their “fit” To be able to assess the COST of such modification (or even the learning associated with re-using) so that a decision can be made. To provide project process models which are both re-use generating and re-use intensive, with acceptable cost AND To be able to derive required functionality from a set of re-useable R 2 p. 10 “artifacts”

2. Karl Reed Uni de Milano, Crema Re-use and component-based design-what we want and

2. Karl Reed Uni de Milano, Crema Re-use and component-based design-what we want and where we would like 21/5/08 to have it (Cont’d) So, what if we could show that the following two problems are the same? 2. Design a “tickler” system, which tells you that you should look at file on a particular date and time. Design an email system which sends a message to a particular user, OR a bit more interesting. . 1. A simple banking system, 1. AND 2 A stock control system R 2 p. 11

3. Karl Reed Uni de Milano, Crema 21/5/08 A view of “language” in technical

3. Karl Reed Uni de Milano, Crema 21/5/08 A view of “language” in technical environments-controlled languages In the ABS system description, we restricted our form of language We suggest that humans, describing elements of a large system, tend to naturally restrict their language. . However, we can do this intentionally. . Young*, in 1992 studies a number of examples of this… *Yong, M. and Reed, K (1992). Identifying Reusable Components in Software Requirements Specifications to Develop a Natural Language-like SRS Language with a CRNLP Amdahl Australian Intelligent Tool Program (AAITP) Technical Report TR 005, La Trobe University, Bundoora 3083, Vic. Australia. R 2 p. 12

3. A view of “language” in technical environments-controlled Karl Reed Uni de Milano, Crema

3. A view of “language” in technical environments-controlled Karl Reed Uni de Milano, Crema languages(cont’d) 21/5/08 Yong took the following was taken from specification some Fortran Mathematical Library Routines* 1. ABS: to compute the floating point absolute value for a floating point number. 1. ABS takes a floating point number and returns floating point absolute value. 2. ALOG: to compute the natural algorithm of a floating point argument. 2. ALOG takes a floating point number and returns natural algorithm. Transform 3. ATAN: to compute the floating point arctangent in radians of a floating point for consistency number. 4. AND: to find the logical product of the integer operands, A and B. 5. ITOX: to compute the result of an integer raised to a floating point power. 3. ATAN takes a floating point number and returns floating point arctangent in radians. 4. AND takes integer, integer and returns logical product. 5. ITOX takes integer, floating point number returns floating point number raised to power. *Control Data Corporation, (1964) 31/32/3300 Computer System (Fortran) Library Routines, USA 1964. R 2 p. 13

Karl Reed Uni(cont’d) de Milano, Crema languages 21/5/08 3. A view of “language” in

Karl Reed Uni(cont’d) de Milano, Crema languages 21/5/08 3. A view of “language” in technical environments-controlled 3. Young considered the SRS for Tame#, which motivated the CRNLP concept… 1. to produce intermediate output capable of being processed by gqma to evaluate model. 2. to produce output which can be stored in tame dbs with appropriate links to current source code so that suitable configuration management can be achieved. 3. to produce output in a form that can be used by the report generator. 4. to place result in dbs in a form suitable for used by other tools and report generator. 5. to present data in a form that can be used by gqma. Rewritten manually to give this consistent form from varied SRS fragments 6. to 3. produce output capable of being presented to gqm subsystem for display and for further analysis. 4. # Rombach, H D, Turner, J, Reed, K, (1986) "Requirements Document for TAME (Tools for an ADA Measurement Environment)", University of Maryland, USA, 1986. R 2 p. 14

Karl Reed Uni de Milano, Crema 21/5/08 Young produced simple grammars for all the

Karl Reed Uni de Milano, Crema 21/5/08 Young produced simple grammars for all the cases he studied, and wrote a prolog parser for them. . Sentence --> Actions --> | Optional --> to Allow Agent to Actions Object Acceptable sentences are: Action {, Action} Action {and Action} 1. to allow user to create, edit, maintain which will be held in Place and display evaluation_models which will be held in tame_dbs. 2. to allow user to create, edit, maintain and display result of analysis which will be held in tame_dbs. 3. to allow user to create, edit, maintain and display scheduling information which will be held in tame_dbs. 4. to allow user to create, edit, maintain and display security_profiles which will be held in tame_dbs. R 2 p. 15

3. A view of “language” in technical environments-controlled Karl Reed Uni(cont’d) de Milano, Crema

3. A view of “language” in technical environments-controlled Karl Reed Uni(cont’d) de Milano, Crema languages 21/5/08 More evidence of the editorial tendency to used “limited’ langauge Analysis of the US regulations supporting the Health Insurance Portability and Accountability Act. from Travis Breaux and Annie Antón (2008). "Analyzing Regulatory Rules for Privacy and Security Requirements. " IEEE Transactions on Software Engineering vol. 34, no. 1: pp. 5 -20, . This analysis transcribes the rules into semi-controlled language. Its not clear from the paper -KR R 2 p. 16

3. A view of “language” in technical environments-controlled Karl Reed Uni(cont’d) de Milano, Crema

3. A view of “language” in technical environments-controlled Karl Reed Uni(cont’d) de Milano, Crema languages 21/5/08 The idea of controlled languages is not new… Important examples R 2 p. 17

3. Karl Reed Uni de Milano, Crema 21/5/08 Examples of Controlled Languages Controlled Language

3. Karl Reed Uni de Milano, Crema 21/5/08 Examples of Controlled Languages Controlled Language Deployed Domain Notes Basic English ~1930 English for Africa, India and Asia Basis for future CE Caterpillar Fundamental English (CFE) English ~1970 Support doc. for earth moving equipment Widely used Caterpillar Tech English (CTE) English As above Unclear, used in Papua New Guinea Airbus English Industries/AECMA ~1988 Maintenance and other Evolved to … ASD-STE 100 Simplified Technical English ? ? Aircraft Maintenance and other 800 users, incl all major aircraft manufacturers. mandated by Airbus, Boeing, Embraer, Bombardier and other aerospace companies English Ref John M. Smart[2006] SMART Controlled English – Paper and Demonstration , Proc CLAW 2006 R 2 p. 18

Karl Reed Uni de Milano, Crema 21/5/08 Some examples of re-use based upon language

Karl Reed Uni de Milano, Crema 21/5/08 Some examples of re-use based upon language - ASD-STE Chracteristics. . ASD-STE 100 Simplified Technical English 2 No English auxiliary verbs, might, should or may. Do not exist in other languages. 2 Valid part names (may be globally registered? ) and terms 2 985 basic words 2 An average STE vocabulary can reach 8, 500 to 12, 500 terms. 2 57 writing rules. 4. See Smart [2006] R 2 p. 19

Karl Reed Uni de Milano, Crema 21/5/08 Some examples of re-use based upon language

Karl Reed Uni de Milano, Crema 21/5/08 Some examples of re-use based upon language - ASD-STE Chracteristics. . ASD-STE 100 Simplified Technical English 4. The ASD-STE 100 dictionary defines the verb "to tap" as "to hit lightly and quickly". All other uses of "tap" are ambiguous and not compliant. Example: The use of tap as both a verb and noun. Tap (n) A tool to cut internal screw threads. Tap (v) To cut an internal thread. (technical) Tap (v) To cut, enter, supply, etc. Tapping (adj. ) When you hear the tapping sound. Wrong STE: Tap the hydraulic line fitting thread. (Cut a thread. ) Correct STE: Use a rubber hammer to tap the rotor surface. (Hit) From http: //www. smartny. com/simplifiedenglish. htm R 2 p. 20

Karl Reed Uni de Milano, Crema 21/5/08 Some examples of re-use based upon language

Karl Reed Uni de Milano, Crema 21/5/08 Some examples of re-use based upon language - ASD-STE Chracteristics. . ASD-STE 100 Simplified Technical English example from Airbus Smart [2006] 4. R 2 p. 21

Karl Reed Uni de Milano, Crema 21/5/08 4. Some examples of re-use based upon

Karl Reed Uni de Milano, Crema 21/5/08 4. Some examples of re-use based upon language ASD-STE 100 OMG Semantics of Business Vocabulary and Business Rules Specification (SBVR) Very major effort into controlled language with goal of automatic translation and semantics checking… (Reed, language too large and may defeat the goal of Controlled Language, may be uncompilable. . Cf with ASD-STE) R 2 p. 22

Karl Reed Uni de Milano, Crema 21/5/08 Controlled Languages A list of examples from

Karl Reed Uni de Milano, Crema 21/5/08 Controlled Languages A list of examples from Muegge* * * * Avaya: Controlled English (ACE) Boeing: Simplified Technical English (STE), ASD-STE 100. Caterpillar: Caterpillar Technical English (CTE), Caterpillar Fundamental English (CFE). Dassault Aerospace: Français Rationalisé. European Aeronautic Defence and Space Company (EADS): Simplified Technical English (STE), ASD-STE 100. Ericsson: Ericsson English. General Motors (GM): Controlled Automotive Service Language (CASL). IBM: Easy English. Kodak: International Service Language. Nortel: Nortel Standard English (NSE). Océ: Controlled English. Rolls-Royce: Simplified Technical English (STE), ASD-STE 100. Saab Systems: Simplified Technical English (STE), ASD-STE 100. Scania: Scania Swedish. Sun Microsystems: Sun Controlled English. * Xerox: Xerox Multilingual Customized English *Muegge, U. Machine Translation Controlled R 2 p. 23

Karl Reed Uni de Milano, Crema 21/5/08 4. Some examples of re-use based upon

Karl Reed Uni de Milano, Crema 21/5/08 4. Some examples of re-use based upon language R 2 p. 24

5. Solution-RG 3. . Tickler system…. Email system…. “Remind me to look at a

5. Solution-RG 3. . Tickler system…. Email system…. “Remind me to look at a file/message “Send a particular user a file/message” at some date in the future. . What a great idea!” We know this one… Module interface…. tellme (message, date) sendmail(userid, message) Are these different? Or are they the same! 02/06/97 R. 1 p 25

5. Solution-RG 3. . tellme (message, date) sendmail(userid, message) What is implied in this

5. Solution-RG 3. . tellme (message, date) sendmail(userid, message) What is implied in this case? The time when the message is to be The address, the userid is me, or delivered-the time is “now” “owner” Both modules send a message. . implies ------Each is missing some item of spec. that the other has. sendmessage(userid, message, date , mess_type ) 02/06/97 R. 1 p 26

5. Solution-RG 3. . FAppl. Dom. knowledge. . FApplic. Solution Domain… FDesigning Office Automation

5. Solution-RG 3. . FAppl. Dom. knowledge. . FApplic. Solution Domain… FDesigning Office Automation Systems for a while, experience with real refer again system F Knowledge the functional requirements FDevelopment Domain F Experience with modular design strategies over 15 years… malleable component reuse… F 02/06/97 lateral thinking R. 1 p 27

4. Solution-RG 6. . These two are redundant if account_id_source incl teller, temp, atm,

4. Solution-RG 6. . These two are redundant if account_id_source incl teller, temp, atm, eftpos Only transfer needed as These four cases have a simple common model. . Starting with the primitive Banking System. . . Fcreate_an_account-->> an account is a list of transactions, and has a number of attributes, including account-id, set at creation time. Creation Authorisation! F deposit_amount(account_id, amount) Fwithdraw_amount(account_id, amount)--> there maybe rules here, balance must>over-draw_limit, amount<less_than_notification_limit Fclose_account(account_id)-->balance must be zero Ftransfer(account_id_source, account_id_destination, amount)--> rules may apply here *See Mckeeman, 1975 R. 1 p 28 02/06/97 Fcheck_balance(account_id, balance)

4. Solution-RG 6. . Starting with the Banking System… Other properties/Operations of an account.

4. Solution-RG 6. . Starting with the Banking System… Other properties/Operations of an account. . FMay have interest credited at regular intervals, calc on this acct. balance FMay have interest debited at regular intervals, calc. on this acct. balance FMay have interest credited at regular intervals, calc on other acct. balance FMay have interest debited at regular intervals, calc. on other acct. balance FMay have amount credited at regular intervals, from some source FMay have amount debited at regular intervals, to some destination FSome abstractions already suggest themselves…. 02/06/97 R. 1 p 29

4. Solution-RG 6. . In principle, this system consists of a set of “bins”,

4. Solution-RG 6. . In principle, this system consists of a set of “bins”, each with some location attributes. . . Is this different from The basic way it works is… Need for two records a bank account? 1. Orders are taken. and 2. Completed orders are filled. synchronisation? 3. At the “bin” level… 3. 1 The quantity in a bin is decremented by a step in the order-filling process (if the quantity is large-enough) 3. 2 The quantity in a bin is increased (replenished) when the stock drops below a specified level 3. 3 The quantity in a bin may be replenished periodically 3. 4 The quantity in a bin may be different from the quantity available to be ordered 4. Special Conditions 4. 1 Increments/decrements and balances are usually (but NOT always) integer quantities (e. g. a bin containing wheat, etc. ) 4. 2 Order-creation can be treated a separate problem 4. 3 Order-filling is a separate process-may involve optimisation techniques 4. 4 Bin-creation is an uncommon event (but it happens) R. 1 p 30 4. 5 Special discount systems affecting product, customer, stock-level and all of these 02/06/97

4. Solution-RG 6. . Video store. . Fcreate_an_account-->> an account is a list of

4. Solution-RG 6. . Video store. . Fcreate_an_account-->> an account is a list of transactions, and has a number of attributes, including account-id, set at creation time. Creation Authorisation Flend_video(account_id, video)--> there maybe rules here, no. _videos_on_loan<less_than_max_allowed A list Freturn_video(account_id, amount) Fclose_account(account_id)-->No. videos on loan must be zero FVideo-requested(loaned_to_account_id, wanted_by_account_id_destination, video) Fcheck_balance(account_id, balance) 02/06/97 See Mckeeman, 1975 R. 1 p 31

4. Solution-RG 6. . Video System… Other properties/Operations of an account. . FMay request

4. Solution-RG 6. . Video System… Other properties/Operations of an account. . FMay request video return specific intervals, based on a lending transaction on this acct (in effect, a regular debit) FMay be notified requested video available at reg. intervals, based on other acct. returning requested video (in effect, a transfer, but triggered by some event) FMay be notify return of video requested by another acct. (in effect, a transfer, but triggered by some event) FThe similarity with the banking system is high! A difference is that entries in accounts have properties that can trigger events. FTwo mechanisms… A/ include this property in the type-declaration for the account entry B/ have an external “filter” which has a list of “requested videos”, and which is used to check all returns 02/06/97 R. 1 p 32

4. Solution-RG 6. . Library lending system Fcreate_an_account-->> an account is a list of

4. Solution-RG 6. . Library lending system Fcreate_an_account-->> an account is a list of transactions, and has a number of attributes, including account-id, set at creation time. Creation Authorisation Flend_book(account_id, book)--> there maybe rules here, no. _videos_on_loan<less_than_max_allowed, for more than one category of book A list Freturn_book(account_id, amount) Fclose_account(account_id)-->No. book on loan must be zero Fbook-requested(loaned_to_account_id, See Mckeeman, 1975 wanted_by_account_id_destination, book) R. 1 p 33 Fcheck_books_on_loan(account_id, books_on_loan) 02/06/97

4. Solution-RG 6. . Library Book Lending System… Other properties/Operations of an account. .

4. Solution-RG 6. . Library Book Lending System… Other properties/Operations of an account. . FMay request book return specific intervals, based on a lending transaction on this acct (in effect, a regular debit) FMay be notified requested book available at reg. intervals, based on other acct. returning requested book (in effect, a transfer, but triggered by some event) FMay be notify return of book requested by another acct. (in effect, a transfer, but triggered by some event) FThe similarity with the banking system/library system is high! A difference is that entries in accounts have properties that can trigger events. This means Hence entries different types in a bank of “money” in account have transactions FTwo mechanisms… attributes. . like A/ include this property in the type-declaration for the account entry videos, books B/ have an external “filter” which has a list of “requested videos”, and which is used to check all returns But banks in Australia have notification requirements. Must notify authorities of cash transactions above a certain size + transactions have types anyway! 02/06/97 R. 1 p 34

4. Solution-RG 6. . Similarity……. far more than appears at first glance… F the

4. Solution-RG 6. . Similarity……. far more than appears at first glance… F the group (sbs, vsl, lls) are so similar that: A/ a common component base can probably be developed B/ a common set of ‘patterns’ can definitely be developed C/ this seems to be a universal “analog” D/ some other possible systems of this type. . D. 1/ Car-rental D. 2/ Equipment hire D. 3/ Property rental (? ) E/ the warehouse systems seems to be something of an out-lyer, HOWEVER! E. 1/ The basic operations are the same E. 2/ The “synchronisation” is in fact a transaction posting requirement. This exists in banking systems (we did not discuss this) E. 3/ The existence of async. Processes should not obscure the similarities R. 1 p 35 02/06/97

4. Solution-RG 6. . Actual bank account example. Balance in Account Tranfser into account

4. Solution-RG 6. . Actual bank account example. Balance in Account Tranfser into account Synchronistation problem Note transfer NOT completed until next working day! 02/06/97 R. 1 p 36

4. Solution-RG 6. . Actual bank account example. Needed in all cases-date of transaction

4. Solution-RG 6. . Actual bank account example. Needed in all cases-date of transaction Needed in all casesdescription of transaction May have different meaning, a field is needed Could be a tuple, for lending systems (or balance could be dynamically determined) 02/06/97 R. 1 p 37

Karl Reed Uni de Milano, Crema 21/5/08 5. Some other “language based” possibilities. .

Karl Reed Uni de Milano, Crema 21/5/08 5. Some other “language based” possibilities. . 1. 1 Records of patient treatments for a vetinary doctor 1. 2 Records of repairs carried out expensive tyres for big trucks and aircraft* 2. 1 Asset Management system for recording furniture, equipment in a business, and tracking its location/maintenance 2. 2 Customer relationship system 3. Booking system <->lending system<->banking system <->? ? * Robert Hilton, 2006, actual systems R 2 p. 38

Karl Reed Uni de Milano, Crema 21/5/08 5. Compilable Restricted Natural Language (CRNLP) as

Karl Reed Uni de Milano, Crema 21/5/08 5. Compilable Restricted Natural Language (CRNLP) as a solution-The Amdahl Project General Goals were for design reasoning recording. . * * Extending to our context. . Ability to restrict forms of expression so humans can see similarity (missing from SBRV!!!) Ability to compile and extract sufficient semantics to find similarities re-use Queriable records, linked to development artifacts R 2 p. 39

C. AAITP Compilable Restricted natural Language (CRNLP) approach, (Controlled Languages) Objectives…. 1. Make “NL”

C. AAITP Compilable Restricted natural Language (CRNLP) approach, (Controlled Languages) Objectives…. 1. Make “NL” analysable by machine (CRNLP) 2. Make “NL” readily unambiguous in a specific domain E. G. Aircraft maintenance standard English, Caterpillar controlled language (CL) 3. Provide precise data extraction from “NL” E. G. Canonical representations capable of being stored and compared 4. Allow identification of “identical”, “similar” things in “NL” E. G. Requirements fragments, for re-use (SODA)�, Design Reasoning Recording 5. Capture of domain knowledge and construction of thesaurus 02/06/97 R. 1 p 40

C. AAITP Compilable Restricted natural Language (CRNLP) approach, (Controlled Languages)(cont’d) A lot of activity,

C. AAITP Compilable Restricted natural Language (CRNLP) approach, (Controlled Languages)(cont’d) A lot of activity, for quite some time… some of it probably instinctive. 02/06/97 R. 1 p 41

AAITP Example. . (cont’d) Goal. . To prevent confusion when the following has been

AAITP Example. . (cont’d) Goal. . To prevent confusion when the following has been written § 1 Add the customer_name to the customer list Insert …. . § 1023 Insert customer_id in the customer table …. § 1592 Copy customer_id to customer_list …. This might be new, § 2437 Put the customer in customer file so, add it to thesaurus, else … change it! Insert These three are probably the same, so MAKE them the same! 02/06/97 R. 1 p 42

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 4. 2 Issue 1996) An Issue

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 4. 2 Issue 1996) An Issue or Problem is a statement describing the design problem raised during some stage of the design. An example for an issue could be “How should Hyper. Edit and Link Server be integrated? ”. <Issue>: : =<Qword><modal><NP 1> 'be'<pp-verb> ‘? ’ <Qword>: : = {how, which way} <modal>: : = {should, could, would, can} <pp-verb>: : = {implemented, designed, . . . } { This is a list of verbs which can grow, see comments for goal} examples: How should Hyper. Edit and Link Server be integrated? Which way should Links in Hyper. Text be added? How should user-interface of DETRACT be implemented? 02/06/97 R. 1 p 43

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 1996) 4. 3 Alternatives Once an

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 1996) 4. 3 Alternatives Once an issue is raised during the design, designers may propose different alternatives which they believe could resolve the issue. The objective is to choose the best alternative from all those proposed which would resolve the issue, and would satisfy the design goals. <Alternative>: : = <Verb 1><NP 1><VP 1>‘. ’ <VP 1>: : ='to' <Verb><NP 1> <Verb 1>: : ={use, have, select, . . . } { This is a list of verbs which can grow, see comment for goal} <Verb>: : ={specify, implement, . . . } { This is a list of verbs which can grow, see comment for goal} examples: Have menu to Specify Link in a tool. select document to specify link. use dialog-box to specify link. Use TCL/Tk to implement user-interface of DETRACT. 02/06/97 R. 1 p 44

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 1996) 4. 4 Argument With respect

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 1996) 4. 4 Argument With respect to each alternative people may raise arguments, statements, facts, and speculations pro or against the alternative. An example of such an argument would be a screen in Hyper. Edit has an attribute. <Arguments>: : =<NP 1><VP>‘. ’ <VP>: : = <Verb><Adj-ph> <Verb>: : ={is, has, . . . } { This is list of verbs which can grow, see comment for goal} examples: Target of Link is difficult. Source of link is not difficult. a screen in Hyper. Edit has an attribute. An argument may support or deny an alternative. 02/06/97 R. 1 p 45

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 1996) 4. 5 Constraint is a

Example of CRNLP Grammar for DETRACT(TR 040, Torab, 1996) 4. 5 Constraint is a statement specifying the restriction should be considered during the design. It again specifies attributes or features of the system which must met during the design. <Constraint>: : =<NP 1><VP><PP 0>'. ' <PP 0>: : =<prepos><NS> <VP>: : =<modal>'be'<pp-verb> <prepos>: : ={in, using, by} <model>: : ={should, must} <pp-verb>: : ={implemented, specified, . . . } { This is a list of verbs which can grow, see comment for goal} examples: Hyper. Edit must be implemented in tcl/tk. Links in Hyper. Edit should be specified by dialog-box. 02/06/97 R. 1 p 46

Karl Reed Uni de Milano, Crema 21/5/08 6. Uses for CRNLP Writing government regulations.

Karl Reed Uni de Milano, Crema 21/5/08 6. Uses for CRNLP Writing government regulations. . At icse last week in Leipzig * Storey et al TODO or To Bug: Exploring How Task Annotations Play a Role in the Work Practices of Software Developers * Wang et al. An Approach to Detecting Duplicate Bug Reports Using Natural Language and Execution Information * Help-desk recording of faults * Domain specific requirements gathering * Note should be part of a general ontology generation and use strategy. . R 2 p. 47

Karl Reed Uni de Milano, Crema 21/5/08 6. Progress or the lack of it.

Karl Reed Uni de Milano, Crema 21/5/08 6. Progress or the lack of it. . R 2 p. 48

Karl Reed Uni de Milano, Crema 21/5/08 8. Conclusions • Controlled languages provide a

Karl Reed Uni de Milano, Crema 21/5/08 8. Conclusions • Controlled languages provide a basis for recovering specifications for potential reuse Need to integrated with ontologies, but, seem to be working at a simpler level Controlled languages (CL’s) can be simple (STE, CFE) or complex (SBVR) Compilable Restricted NLP (or Compilable Restricted Controlled Language-CRCL) is relatively under developed, and a good space for applied research Converting simple specification statements to a CL seems to be a good way for identifying cross-domain isomorphisms Work has been done on constructing CL’s for requirements. . • • • See Stephen Boyd, Didar Zowghi, Alia Farroukh, "Measuring the Expressiveness of a Constrained Natural Language: An Empirical Study, " re, pp. 339 -352, 13 th IEEE International Conference on Requirements Engineering (RE'05), 2005 R 2 p. 49

Karl Reed Uni de Milano, Crema 21/5/08 R 2 p. 50

Karl Reed Uni de Milano, Crema 21/5/08 R 2 p. 50

Karl Reed Uni de Milano, Crema 21/5/08 R 2 p. 51

Karl Reed Uni de Milano, Crema 21/5/08 R 2 p. 51

Karl Reed Uni de Milano, Crema 21/5/08 9. Questions and Answers. . R 2

Karl Reed Uni de Milano, Crema 21/5/08 9. Questions and Answers. . R 2 p. 52