Why avoiding how when defining what?

Towards an OSLC-based approach to support Model-Driven Requirements Engineering 

Jose María Alvarez-Rodríguez
Juan Llorens
Manuela Alejandres
Jose Miguel Fuentes
INCOSE 2014, Las Vegas, USA

tHE iNITIAL jOKE...

impedance mismatch

British to Australian problem...



https://www.mita.gov.mt/

How we use Requirements

Extracted from...
  • User Needs
  • Stakeholders
  • Existing Systems
  • ...


Which is one of the main Objectives?



From natural language

To requirements, Models, etc.


impedance mismatch?

Requirements to Models problem...




...and the V model?

Source: http://upload.wikimedia.org/wikipedia/commons/e/e8/Systems_Engineering_Process_II.svg

potential solution

a clear definition of...

  1. Actors
  2. Responsibilities
  3. Tasks 
  4. Resources
  5. ...

Conceiving a system as a whole collection of inter-connected modules, entities or data structures.

REQUIREMENTS ENGINEERING

  • Activities
    • Elicitation
    • Analysis and negotiation
    • Documentation
    • Quality assessment 
    • ...
  • A key-process in critical systems
    • Validation
    • Verification

SAFETY!

existing methodologies

  • Requirements-driven engineering ( What? )
    • Focus on  requirements
    • E.g. RDE
  • Model-based systems engineering ( How? )
    • Focus on models
    • E.g. MDA, MDE, MDD, etc.
  • Model-driven requirements engineering ( What + How? )
    • Conjunction of models and requirements
    • E.g. MDRE

...

Requirements driven engineering

Continuous review of requirements to fulfill stakeholder needs ...and...

Must be necessarily aligned to the construction of models, etc. to ease 


Validation


Verification






Model Driven engineering

  • Requirements are used to define What?
  • ... and to serve as System Specification

BUT

They are sometimes isolated... (inception phase)

Approach?

Try to elevate the meaning of natural language specs. through models (MDE)


Model driven architecture

A software design process...

Providing guidelines for

Structuring specifications through intensive use of

Models
Metrics
Transformations

...

model driven development

A software development methodology

Create and exploit domain models

Application of MDA with focus on models

Attention of both industry and academy

Model based systems engineering

...the formalized application of modeling to support system requirements, design, analysis, verification and validation activities beginning in the conceptual design phase and continuing throughout development and later lifecycle phases

  • consistent views
  • executable behavior
  • linked repositories
  • dynamic view generations
  • repeatable process
  • automatic change propagation, etc.
  • ... using models

model based systems engineering

Encompass system design and specifications
Adding new capabilities to ensure system 

Correctness


Consistency 


Completeness

model driven requirements engineering

=

MDE

+

RE

SOME OPEN ISSUES...

  • Tangled environment of tools/techniques/methods
    • Data sources
      • IBM Doors, Reqtify, Rational Rose, RAT, KM etc.
    • Formats
      • XMI, ReqIF, etc.
    • Languages
      • ...
    • Models, services and APIs
      • XML-Schema, SQL, REST, WSDL/SOAP, etc.
  • Link of requirements to models (and other artifacts) to...
    • share a common vocabulary
    • model the X Breakdown Structures (e.g. PBS)
    • ensure quality: understandability, traceability, etc.

and the most important...


We use natural language to communicate ideas...

EVOLUTIONARY requirements

INCOSE

Use of requirements as a basic unit of specification!

(natural language processing is required!)


IS 

LINKED DATA

A POTENTIAL SOLUTION?

interoperability

British to Australian solved!


https://www.mita.gov.mt/

open services for lifecycle collaboration (oslc)


http://upload.wikimedia.org/wikipedia/en/7/7e/OSLC_diagram.png

SPECIFICATIONS 

3 main challenges and key-enablers


  1. Controlled vocabulary and ontology 
  2. X Breakdown Structures (e.g. PBS) 
  3. Services to manage domain knowledge


Some common Services...

  • Naming 
  • Index & Retrieval 
  • Traceability
  • Quality
  • ...

OSLC-BASED SERVICES



oslc-based services


Tools


and more...index and retrieve anything

(math formulas, electrical networks, tables, etc.)




LET'S START WITH THE VOCABULARY 

Bridging the gap between natural language and concepts using a standardized form

skos IN A NUTSHELL

  • S IMPLE
  • K NOWLEDGE
  • O RGANIZATION
  • S YSTEM

  • USE OF SKOS


  • Controlled vocabulary
  • Taxonomies
  • Thesauri
  • Folksonomies,  etc.

objectives

  • Define concepts and concept schemes

operations

Store
Retrieve
Annotate
Link and merge

Concepts


skos definitions

  • Classes and categories
    • skos:Concept and skos:ConceptScheme
  • Properties
    • Lexical labels
    • Notation
    • Documentation
    • Mapping
    • Semantic

example


1-Vocabulary 

“Whenever the pedal of the brake is pressed, the car will decelerate immediately”

A "car" as a system...


taxonomy


Steps 

(simplified version of a lifecycle for linked data)
  1. Model Concepts in SKOS
  2. URI Design
  3. Create concepts
  4. Add authoring properties
  5. Add labeling properties
  6. Add notation properties
  7. Add   documentation properties
  8. Add semantic properties
  9. Add mapping properties
  10. Add concepts to a scheme
  11. Describe the concept scheme

Model concepts & select URIs


A skos-based 'car'...


SKOS BENEFITS

  • A concept-oriented model
  • RDF-based 
    • a common and shared data model
  • Crucial contribution to interoperability
  • A way of porting KOS to RDF
    • Align to existing standards (ISO 25964)
  • Lightweight reasoning
  • Simple but powerful
  • Extensible
  • Widely-used in existing semantic web vocabularies
    • Boosting the Linked Data initiative


outcomes

  • OSLC Vocabulary Management
    • A first prototype to tackle the aforementioned challenges through an OSLC interface for existing services (RAT)
      • A SKOS-based approach
      • Use of the Eclipse Lyo OSLC API and .NET OSLC API
  • OSLC Quality Management*
    • OSLC Adapter for RQA
    • Quantitative indexes in RDF 
      • To model (reuse existing quality metrics)  and
      • ... compute
      • ... quantitative indexes
  • Services for knowledge management

vocabulary management


and a naming service...


quality management


...as RDF

CONCLUSIONS

  • Requirements are  the key-entities for the development of critical systems
    • Requirement as a basic unit of specification
    • Link requirements to models 
    • Quality is a MUST
    • Verification and Validation
    • Model-driven Requirements Engineering ( MDRE )
  • Re-use information and data to create a real collaborative environment
  • OSLC to ensure compatibility among tools
    • Linked Data in a controlled environment...

OSLC-based MDRE

WHAT'S NEXT...

  • Research
    • Identify more services (for knowledge management) to be offered via OSLC
    • Index and retrieve any kind of artifact
    • Traceability as a  semantic-based retrieval process
  • Innovation
    • Fully support to The Reuse Company Inc. to offer through OSLC:

tHE NEXT BIG THING...


OSLC 

KNOWLEDGE MANAGEMENT 



...for your attention!

Q & A

CREDITS

  • Speaker: Dr. Jose María Alvarez-Rodríguez
  • Team:
    • KR group
      • Prof. Dr. Juan Llorens
      • Prof. Dr. Juan Miguel Gómez, 
      • Dr. Anabel Fraga
      • Dr. Valentín Moreno
      • Ms. Manuela Alejandres
      • Mr. Jose Fuentes (The ReuseCompany Inc.)

Why avoiding how when defining what?   Towards an OSLC-based approach to support Model-Driven Requirements Engineering

By Jose María Alvarez

Why avoiding how when defining what?   Towards an OSLC-based approach to support Model-Driven Requirements Engineering

  • 1,924