Main Page

From DesignSpace - MediaWiki
Jump to navigation Jump to search

DesignSpace

a cloud infrastructure for engineering knowledge and service


The engineering of systems is unimaginable without software tools. Engineers use them to capture, analyze, specify, implement, test, and maintain software systems and their processes. Yet, there is a gap between the needs of independently working engineers and the needs of a collaborative engineering team. Most engineering tools are single-user applications – often of excellent quality but limited in that they support the works of individuals and not that of a group. This problem has been a significant contributor to many high profile engineering failures. The DesignSpace provide a, uniform and collaborative environment for exchanging and analyzing engineering artifacts across tool boundaries. The DesignSpace is the answer to the next engineering revolution: not better tools but innovative ways on how engineers collaborate using the tools they already have.

Designspace.png

Consistency Checker

More details at the Consistency Checker main page.

checking consistency of elements in a collaborative environment


Nowadays engineering solutions are integrated with almost every aspect of society. Hence, engineering projects can no longer be finished by a team of technical experts alone. This makes it necessary to consider engineering artifacts in the context of their dependencies with each other. Thus, if an engineering artifact changes, all dependent artifacts must change with it to maintain consistency. The DesignSpace Consistency Checker provides immediate propagation of consistency-relevant change information concerning the interdependent properties of heterogeneous engineering artifacts.

Consistency Checking Service.png

Inconsistency Repair

More details at the Inconsistency Repair main page.

inconsistency repair for different types of models

Resolving inconsistencies in software artifacts is a complex task because enumerating all possible repairs could overwhelm the developer because the number can grow exponentially. Furthermore, similarly to coding or testing, maintaining the consistency of artifacts is a collaborative work as engineers must work together to repair inconsistencies found. DesignSpace-IR gives support to this process by automatically generating repair alternatives from the results of the consistency checker. These alternatives contain information that can be used by engineers to repair artifacts in the software tools being used in their projects. Our tool analyzes changes performed by engineers into artifacts (steps 1 and 2). Then, it generates a repair tree, where repair actions that suggest modifying artifacts owned by the engineer are highlighted (step 3). These are transformed into sequences of repairs, with the combinations of repair alternatives necessary for repairing the artifacts (step 4). Both the tree and the sequence of repairs are shown to the engineers (step 5).

Inconsistency repair.png

Repair Propagation

Change-Oriented Repair Propagation (CORP).

More details at the Repair Propagation main page.

We present the Change-oriented Repair Propagation (CORP) approach that aids this repair process by analyzing the stream of changes (i.e. history of changes) (Step 1) while exploring repair alternatives alongside their side effects (Step 2). The approach generates repairs for inconsistencies identified in the model (Step 3) and explores them by simulating their execution while re-analyzing the model to find potential new inconsistencies created (Step 3). Then, new repairs are generated to fix these new inconsistencies. This cycle repeats until the model reaches a consistent state or until repairs can be no longer generated. The approach also analyzes conflicts between repairs and changes (Step 5) . This analysis can give valuable information to engineers regarding how each repair alternative would impact their models and may conflict with changes as well as other repairs (Step 6).

CORP Approach.png

Value Propagation

propagating or constraining values across different tools

While different engineers (particularly those of different disciplines) make use of different engineering tools, the knowledge engineers capture with these tools may be similar. As such, it is not uncommon that some result is computed in one tool as an output which is then replicated as input in another tool. The example illustrated below is from the mechatronical domain where some pressure requirement is defined in the requirements spec (top left), which is then propagated to the LCM tool TechCalc to compute mechanical dimensions (such as a diameter) as output, which, in turn, are then propagated to the commerical CAD tool SolidWorks (where dimension changes are instantly visualized). Link can replicate value uni-directionally or bi-directionally, identify thresholds or inconsistencies, and even handle units of measurements.

Value propagation.png

Artifact Sharing and Concurrent Engineering

sharing engineering artifacts among different engineers - support for concurrent engineering

An important aspect of engineering is the sharing of artifacts. Classical version control systems support commit/update mechanism with some aspect of conflict resolution. The DesignSpace support this but also other collaboration mechanism - including the sharing of artifacts/changes in real-time. This is depicted below on the 4diac engineering tool where two engineers have a synchronous view onto the same engineering knowledge. The engineer on the left additionally enabled consistency rules and an inconsistency is visualized in red.

Share con eng.png


Assisting Engineers through Guidance

assisting engineers in their day-to-day activities is possible through change tracking and recommendations

To assist engineers, the DesignSpace can be fitted with arbitrary services that react to engineering knowledge changes. Error recognition is a typical example of such a service that was already mentioned above. But there are many other examples of assistent engineering technologies. The illustration below depicts the Java programming tool IntelliJ and a requirements-to-code capture tool provided by the DesignSpace. This reflect the common need to keep track of where requirements (depicted as columns in the matrix) or implemented in the code (depicted as rows in the matrix). But the DesignSpace allows more than just merely depicting such traces but even recommending them (U->PT is a potential trace recommendation) or potentially finding trace errors (N->PT). The latter even hints to a code problem: the release method of a robotic arm should open, not close the gripper. This change would the resolve the error.

Assist.png