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.
checking consistency of elements in a colaborative enviroment
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.
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.
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).
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.
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.