Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Linguistic Patterns for Improving Requirements Specification INESC-ID/Information Systems Group Carlos Videira David Ferreira Alberto Silva.

Similar presentations


Presentation on theme: "Using Linguistic Patterns for Improving Requirements Specification INESC-ID/Information Systems Group Carlos Videira David Ferreira Alberto Silva."— Presentation transcript:

1 Using Linguistic Patterns for Improving Requirements Specification INESC-ID/Information Systems Group Carlos Videira David Ferreira Alberto Silva

2 David Ferreira September 2006 Main Goals Describe the rules of a new requirements specification language, the ProjectIT-RSL Demonstrate how they can be applied to analyze requirements documents

3 David Ferreira September 2006 Motivation Despite of the resemble with the conventional engineering areas... the Software Development Process... still present several critical problems that compromise its success The main cause for IT projects’ failures is:  The non adoption of the best practices proposed by the Software Engineering Bearing in mind that...  The early problems’ detection strongly reduces its inherent costs  The process usually begins with the requirements elicitation activity Our proposal covers...  A controlled natural language for requirements specification based on patterns  A support IDE/CASE tool for syntactic and semantic language’s validation

4 David Ferreira September 2006 Context Requirements Engineering:  Specify the system’s behavior → crucial for the system’s success Main goal: to minimize the undesired characteristics of NL  Inadequacy, inconsistency, incompleteness, and ambiguity Chronology:  2004: ProjectIT + ProjectIT-Requirements + ProjectIT-RSL  2005: Prototype + ProjectIT-Studio (Eclipse.NET)  2006: ProjectIT-Requirements → plugin Eclipse.NET ProjectIT-Requirements:  Inserted in a broader context → ProjectIT’s initiative  Integration with MDD tools → covering all the phases of a software’s life-cycle

5 David Ferreira September 2006 Language Requirements: described with a specification language  Must reflect the real needs of the system’s stakeholders  Ease the communication among the participants: The most difficult challenge to overcome ↔ the conceptual distance “A requirement is a declarative statement about a system’s service or constraint” Kotonya Approaches:  Formal languages: logical and mathematical concepts → formal notation  Non-formal languages: NL variants or modeling techniques Proposed solution:  Combine NL benefits with enhanced rigor → controlled natural language Subset of terms and syntactic structures Semantic restricted to specific contexts (domains) → tools’ support

6 David Ferreira September 2006 ProjectIT Academic Project Result of practical experience Software development workbench:  Project management  All life-cycle coverage: Requirements engineering Analysis and design Code generation activities ProjectIT-Requirements:  Interactive systems specification  NL + rigor: quality, reuse, traceability  Vision: a tool to write requirements documents

7 David Ferreira September 2006 ProjectIT-RSL (1/3) Metamodel:  Requirements documents analysis: Structure and format  Focus on interactive systems  Linguistic patterns identification The statement construct:  Describes what the system should do  Operational perspective  Structure: The agent performs an operation that modifies an entity Enrichment with conditions TypeProperty EntityPrimitive TypeActor ActionActivity Operation relates with specializes performs operation

8 David Ferreira September 2006 ProjectIT-RSL (2/3) Organization Rules:  Package  Document Instance (develop-by-reuse) Template (develop-for-reuse)  System  Section Introduction Comment Business Entities Functional Requirements Non-Functional Requirements  Requirement Supported concepts by the linguistic patterns:  Declaration, definition, single inheritance, equivalence  Properties, quantifiers, association, and association class

9 David Ferreira September 2006 ProjectIT-RSL (3/3) Template Substitution (TS) rules:  Tools support → restricted vocabulary and syntactic constructs  Domain specific (DSL) → incremental evolution + different writing styles  Example: “A client is an entity and has a name, and an address, and an account” RULETEMPLATESUBSTITUTION TS 1 new_entity/PROP IS ENTITY$NODE/ENT TS 2 new_entity/ENT HAS list/LIST$NODE/ENT TS 3 noun/NN$NODE/PROP TS 4 prop1/PROP AND prop2/PROP$NODE/LIST TS 5 list/LIST AND prop/PROP$NODE/LIST

10 David Ferreira September 2006 ProjectIT-Requirements (1/3)

11 David Ferreira September 2006 ProjectIT-Requirements (2/3)

12 David Ferreira September 2006 ProjectIT-Requirements (3/3) Parsing mechanism:  Transformations: Typographical Format Morphologic  Parsing modes: Batch mode Incremental mode  Error reporting pipeline: 3 stages Inference:  Extract implicit knowledge

13 David Ferreira September 2006 Future Work Short-term:  Reuse mechanism→ override and edit point concepts  Pseudo-code like workflow-oriented language definition → operations  Automatic rules generation based on the metamodel  Parsing mechanisms → deterministic vs. heuristic approach  Views’ enhancement → several formats support and better interactivity  Explore the out-of-the-box inference engine’s mechanisms Long-term:  Deduce the requirements specifications based on the business goals  Executable requirements → on-the-fly prototyping

14 David Ferreira September 2006 Conclusions Innovative features:  Controlled natural language, supported by a metamodel: Metamodel → analysis of the most frequent linguist patterns Smooth learning curve → non-technical stakeholders  Parsing techniques and knowledge extraction: On-the-fly syntactic and semantic validation → robust and flexible parsing mechanism Extensibility mechanism and inference engine  IDE/CASE tool support: Multi-perspective visual feedback → avoid specification errors Emphasize the best practices of requirements documents writing  Reuse emphasis: Applicational and architectural templates  MDD tools integration: Modeling and automatic code generation

15 David Ferreira September 2006 Questions Contacts: Prof. Alberto Silva  alberto.silva@acm.org Prof. Carlos Videira  cvideira@acm.org David Ferreira  david.ferreira@inesc-id.pt

16 David Ferreira September 2006 Bibliography (1/2) Ambriola, V., Gervasi, V., The Circe approach to the systematic analysis of NL requirements, Technical Report TR-03-05, University of Pisa, Informatics’ Department, 2003. Carmo, J., Videira, C, Silva, A., Using Visual Studio Extensibility Mechanisms for Requirements Specification, 1st Conference on Innovative Views on.NET Technologies, Porto, June 2005 Cybulski, J., Application of Software Reuse Methods to Requirements Elicitation from Informal Requirements Texts, PhD Thesis, La Trobe University, Australia, March 2001 Fuchs, N., Schwitter, R., Attempto Controlled English (ACE), CLAW 96, First International Workshop on Controlled Language Applications, University of Leuven, Belgium, March 1996 Mich, L., Garigliano, R., The NL-OOPS Project: OO Modeling using the NLPS LOLITA, Proc. of the 4th Int. Conf. Applications of Natural Language to Information Systems, pp. 215-218, 1999 Saraiva, J., Silva, A., Eclipse.NET: An Integration Platforn for ProjectIT-Studio, in Proceedings of the First Conference on Innovative Views on.NET Technologies (IVNET’05), Portugal, June 2005

17 David Ferreira September 2006 Bibliography (2/2) Silva, A., O Programa de Investigação “ProjectIT”, Technical report, V 1.0, October 2004, INESC- ID, in http://berlin.inesc.pt/alb/uploads/1/193/pit-white-paper-v1.0.pdf Videira, C., Silva, A., The ProjectIT-RSL Language Overview, UML Modeling Languages and Applications: UML 2004 Satellite Activities, Lisbon, Portugal, October 2004 Videira, C., Silva, A., ProjectIT-Requirements, a Formal and User-oriented Approach to Requirements Specification, Actas de las IV Jornadas Iberoamericanas en Ingeniería del Software e Ingeniería del Conocimiento - Volumen I - pp 175-190, Madrid, Spain, November 2004 Videira, C., Silva, A., A broad vision of ProjectIT-Requirements, a new approach for Requirements Engineering, in Actas da 5ª Conferência da Associação Portuguesa de Sistemas de Informação, Lisbon, Portugal, November 2004 Videira, C., Silva, A., Patterns and metamodel for a natural-language-based requirements specification language, in Proc. of the CaiSE’05 Forum, pp. 189-194, Porto, June 2005


Download ppt "Using Linguistic Patterns for Improving Requirements Specification INESC-ID/Information Systems Group Carlos Videira David Ferreira Alberto Silva."

Similar presentations


Ads by Google