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...
- Actors
- Responsibilities
- Tasks
- Resources
- ...
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
-
Controlled vocabulary and ontology
-
X Breakdown Structures (e.g. PBS)
-
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)
- Model Concepts in SKOS
- URI Design
- Create concepts
- Add authoring properties
- Add labeling properties
- Add notation properties
- Add
documentation
properties
- Add semantic properties
- Add mapping properties
- Add concepts to a scheme
- Describe the concept scheme
See Linked Data Lifecyles http://www.w3.org/2011/gld/wiki/GLD_Life_cycle
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:
- RAT (Requirements Authoring Tool)
- KM (Knowledge Manager)
- RQA (Requirements Quality Analyzer)
- http://www.reusecompany.com/
tHE NEXT BIG THING...
OSLC
KNOWLEDGE MANAGEMENT
...for your attention!
Q & A
CREDITS
- Speaker: Dr. Jose María Alvarez-Rodríguez
- Carlos III University of Madrid, Spain
- Member of the OSLC RM working group
- E-mail: josemaria.alvarez@uc3m.es
- WWW:
- 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,979