Speaker:
Yishai Feldman, IBM
Research - Haifa
A selection from the following topics,
based on time and interest:
1. PORTALS: Enhanced Requirements
PORTALS is a research project whose goal is
to create tools to assist requirements engineers in incrementally
raising the formalization level of system requirements, and to use
formalized requirements to
provide feedback on the quality of the
requirements (e.g., identifying omissions and contradictions), and
create downstream artifacts (e.g., models, monitors, tests, code).
I will show an initial demo of PORTALS capabilities, going from
natural-language requirements to a partial implementation.
2. Flexible Queries over Engineering Data
The design of complex systems involves many
engineering disciplines, and many different tools and formalisms.
Solutions such as IBM Rational Engineering Lifecycle Management
(RELM) present a unified view of information collected from multiple
tools. Various queries and reports are predefined, but engineers
need to define their own custom queries, based on their specific
processes or products.
This talk presents a classification of
various types of useful queries and rules over the combined
information. Some rules could not be expressed precisely, because
of missing information in the repositories. Other rules had to be
stated at a lower level of abstraction than desired, because of the
level of the concepts in the repository. I will give examples and
suggests ways to remediate these issues.
A visual query formalism based on SysML
object diagrams to express these queries is described. The visual
query language has been implemented and used to express rules and find
violations in two repositories.
3. Higher-order functional programming in
mainstream languages
I will show examples from Chapter 1 of
Abelson and Sussman's Structure
and Interpretation of Computer Programs and how they can be
implemented in Java 7/8, JavaScript, Scala, Xtend, and Haskell.
Some of these lend themselves better to the expression of
functional idioms than others, and we will discuss the differences.
_________________________________________________