sysml | Systems Engineering Modeling Language domain
kandi X-RAY | sysml Summary
kandi X-RAY | sysml Summary
SysML implementation using WebGME as a library.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of sysml
sysml Key Features
sysml Examples and Code Snippets
Community Discussions
Trending Discussions on sysml
QUESTION
GraphDB Free/9.4.1, RDF4J/3.3.1
I'm working on using the /rest/data/import/server/{repo-id} endpoint to initiate the importing of an RDF/XML file.
Steps:
put SysML.owl in the ${graphdb.workbench.importDirectory} directory. chmod a+r SysML.owl
create repository test1 (in Workbench - using all defaults except RepositoryID := "test1")
curl http://127.0.0.1:7200/rest/data/import/server/test1 => as expected: [{"name":"SysML.owl","status":"NONE"..."timestamp":1606848520821,...]
curl -XPOST --header 'Content-Type: application/json' --header 'Accept: application/json' -d ' { "fileNames":[ "SysML.owl" ] }' http://127.0.0.1:7200/rest/data/import/server/test1 => SC==202
after 60 seconds, curl http://127.0.0.1:7200/rest/data/import/server/test1 => [{"name":"SysML.owl","status":"DONE","message":"Imported successfully in 7s.","context":null,"replaceGraphs":[],"baseURI": "file:/home/steve/graphdb-import/SysML.owl", "forceSerial":false,"type":"file","format":null,"data":null,"timestamp": 1606848637716, [...other json content deleted] Repository test1 now has the 263,119 (824 inferred) statements from SysML.owl loaded
BUT if I then
- delete the repository using the Workbench page at http://localhost:7200/repository, wait 180 seconds
- curl http://127.0.0.1:7200/rest/data/import/server/test => same as in step 5 above, despite repository having been deleted. curl -X GET --header 'Accept: application/json' 'http://localhost:7200/rest/repositories' => test1 not shown.
- create the repository again, using the Workbench - same settings as previously. wait 60 seconds. Initial 70 statements present.
- curl http://127.0.0.1:7200/rest/data/import/server/test1 => The same output as from the earlier usage - when I was using the prior repository instance. "status":"DONE", same timestamp - which is prior to the time at which I deleted, recreated the test1 repository.
The main-2020-12-01.log shows the INFO messages pertaining to the repository test1, plugin registrations, etc. Nothing indicating why the prior repository instance's import status is lingering.
And this is of concern because I was expecting to use some polling of the status to determine when the data is loaded so my processing can proceed. Some good news - I can issue the import server file request again and after waiting 60 seconds, the 263,119 statements are present. But the timestamp on the import is the earlier repo instance's timestamp. It was not reset via the latest import request.
I'm probably missing some cleanup step(s), am hoping someone knows which.
Thanks, -Steve
...ANSWER
Answered 2020-Dec-08 at 12:35The status is simply for your reference and doesn't represent the actual presence of data in the repository. You could achieve a similar thing simply by clearing all data in the repository without recreating it.
If you really need to rely on those status records you can clear the status for a given file once you polled it and determined it's done (or prior to starting an import) with this curl:
QUESTION
I am having trouble correctly identifying the actor and system for a use case diagram.
I am developing sensors that interact with an already existing system, specifically four different sensors. I have tried using the sensors as secondary actors, which would usually make sense but this presents another issue. Actors are considered external and the sensor hardware cannot be described in a block definition diagram using SysML since it is not a part of the system, as far as I know. Am I overthinking?
Instead I was wondering if I should use the sensors as a system, and use the already existing system as a secondary actor? This is for a school project so I have to make sure I document my work the correct way.
Thanks
...ANSWER
Answered 2020-Dec-06 at 08:52Yes by definition an actor is external to the system they react with, then all depends on what the system is, this is a matter of perspective
I was wondering if I should use the sensors as a system, and use the already existing system as a secondary actor?
exactly, when the system you describe is your sensors the already existing ones are out of it and they can be represented as actor, and even as primary actor if they activate your use cases.
If you describe the already existing sensors the roles are reversed and your sensors becomes actor
[edit from your remark]
If the overall system includes the already existing system and your sensors, the already existing system becomes a sub system of the overall system, and your sensors is also a sub system of the overall system.
When you describe your sub system, the sensors from the already existing sub system can be still actor etc, nothing change. A sub system is a system.
QUESTION
I was wondering how it would be possible to relate, within a SySML block diagram, the data flowing through two components with the interfaces that they expose.
As an example, assume that you have a supervisor component setting a reference for a lower level controller. The controller exposes an interface Operations which features the operation set_reference() and this latter specifies a float parameter reference. The supervisor will use the interface to effectively set the reference for the lower level controller. This operation tells that there exists a data flow between the two components (e.g. each component also has a flow port) and the exchanged data is the reference. How would you model this scenario in SySML? Does it exist a way to specify both the interface and the dataflow and say "look, this dataflow is realised through this interface".
Thanks a lot for your help
...ANSWER
Answered 2020-Dec-02 at 18:58A block definition diagram is usually not used to show the flows between components of your system. Instead you would use an internal block diagram of your system with the two parts s:Supervisor
and c:Controller
.
To specify that the controller provides the operation set_reference(r:float)
you would use an InterfaceBlock as Type of a port of the controller
. The same InterfaceBlock would be used as Type of a port of the supervisor
. This time, however, conjugated. That will be shown by prepending a ~
symbol. Then you need to connect them via their ports. This already suffices to specify that a float value can flow across the connector. Nothing else is needed.
However, sometimes you didn't decide yet, how to realize the flow (there is more than one possibility. The set_reference
operation, as you have done it, a get_reference
operation provided by supervisor
or a flow property). So, you only want to specify the need for some item flowing, but not the mechanism. In this case you could leave the ports without a type and model an ItemFlow across the connector. It would be shown with a filled triangle placed somewhere near the center of the connector and labeled with the name and type of the flowing item. A tool could even support you, by later creating the InterfaceBlocks and operations automatically.
As I said, if you already know, how you are going to realize the flow, modeling the ItemFlow is redundant. Except of course, if you want to limit the possible values in your specific system. Lets say, double
is a specific float
, and in your system only doubles
will be used, even though the controller could also handle singles
. This can be expressed with an ItemFlow of Type double
.
Some people prefer to only model ItemFlows and leave out the connectors. ItemFlows alone are shown as dashed arrows with the keyword «flow». I advise against this, because ItemFlows don't imply that the parts are connected (the flow could be realized by intermediary elements).
QUESTION
The context of my use case is as follows:
I have a model of a robot that I have created in Enterprise Architect (15.1) primarily with SysML. I want my model to check a URDF file (which is itself an XML file) to determine whether attributes of the URDF model meet the requirements of my EA model.
In my EA model I have requirement 'Maximum Mass' that is satisfied by with a property 'mass', type Real, which is owned by 'Robot' block. In the URDF it has 'mass' attributes for each robot link (so in the XML hierarchy the 'mass' attribute is in robot:link:inertial).
My use case: I want my EA model to import the URDF model in accordance with a XML schema. From there I should be able to sum the total mass according to the URDF model to give a derived value to my 'mass' property in the EA model and then compare that value to the requirement constraint to determine whether the requirement is verified or not.
If importing this urdf is not possible then is it possible to read the urdf file?
I took an example .urdf file and converted it to a .xsd file. In the Ribbon I then did Develop->Schema Modeling->Import XSD. I chose the 'UML Attributes' option under the 'Import XSD Elements/Attributes' Import Options header. Elements are stereotyped XSD{complexType,element,attribute} and the hierarchy looks to be in order. However, I don't know what to do next to import a urdf model in accordance with the created schema.
...ANSWER
Answered 2020-Nov-26 at 09:25It is not possible to import a random xml file into EA, not even if you have imported it's XML schema.
There are a number of file formats supported such as XMI, EMX/UML2, etc... but URDF is not one of them.
So in order to import the file you'll have to write your own automation in the form of a script, add-in or standalone program.
Before you can do that you'll have to determine how to translate your URDF file into EA concepts such as elements, attributes, connectors or tagged values.
Look here for more info on automation in EA: https://www.sparxsystems.com/enterprise_architect_user_guide/15.2/automation/automation_interface.html
QUESTION
I am still new to SysML and UML and the simulation of those diagrams. I am using Cameo Systems Modeler 19.0.
Context: My problem concerns the continuous simulation of an activity diagram in which a state machine diagram is nested. In the activity diagram I have a Call Behaviour Action which calls the state machine diagram. After this call behaviour action there are other actions to be executed. When I simulate the activity diagram the simulation switches to the called state machine diagram without any problem. Also the simulation of this state machine diagram is fully functional.
Now onto my problem: When I finalize the simulation of the state machine diagram by choosing states, path and their triggers so that I get to the Final State Node, it terminates the simulation of the State Machine Diagram (as expected). But the simulation won't continue executing in the parenting activity diagram.
Am I doing something wrong? Are you not supposed to be able to simulate these kinds of diagrams nested like that? Am I expecting something of Cameo Systems Modeler, that this programm just can't do?
Thanks for your help! If my description is not sufficient, I will happily provide a .mdzip as a minimal example!
...ANSWER
Answered 2020-Jun-29 at 16:44In UML and SysML state machines, reaching a termination pseudo state means that the scope to which the behaviour that is defined by the state machine is terminated (when it is on the top scope in the state machine diagram). This is treated in different tools diffently. Some tools use (by default or always) the state machines as mester for simulation and when the topmost state machine enters a termination pseudo state the simulation is stoped, even if it was triggered from an activity.
There is a further kind of end pseudo state for state machines, it is called an exit point. Exit points trigger that the current scope is left. And as you dont want to stop your simulation this is waht you could use. An exit point is denoted by a hallow circle with cross.
Thought: Plenty of tools deviate from whats defined in UML and SysML especially when simulating dynamic behaviours. So there might be some special options in Cameo that possibly need some consideration. One solution to some of the tools is that you create a master state machine, that triggers your master activity.
QUESTION
I'm new to UML and SysML and I am using Cameo Systems Modeler. My problem is concerning activity diagrams.
My plan is to use the values I specified under "slots" in an instance for a following decision. I specified one property "test" as type Integer. Its value is 7. I dragged the instance on my activity diagram in which it appeares as a value specification with one output pin. I want to use the value 7 in the following decision: e.g. two activity edges: test<4 or test>4?). I tried naming the output pin "test" and connecting it via object flow with the decision node (the value specification node is ofc also connected to that via control flow.). Unfortunately it doesnt work this way.
I hope you can help me. Thanks in advance!
...ANSWER
Answered 2020-Jun-25 at 16:09for me the output pin result of the value specification corresponding to your instance must be linked to the input port object of a Read Structural Feature Action whose have test as structuralFeature and its output port result is linked to the decision node.
The output port of the value specification values your instance, not the value of test for it
QUESTION
I use MagicDraw for Model Based System Engineering (MBSE) using UML and SysML. I know there is an API based in Java, which the tool is primarily written in, but I'd like to interface to my models using Python.
Is there an API wrapper or other method of accessing MagicDraw using Python?
...ANSWER
Answered 2019-Oct-04 at 01:41The MagicDraw Developers Guide (currently for v19.0-SP2) has information on their OpenAPI, which supports Jython, which is a Java implementation of Python.
The OpenAPI implementation allows writing scripts for MagicDraw that can be called from any MagicDraw Query (for example, expressions in table scopes, table custom column definitions, and queries in Legend Adornments).
There is information on Jython scripting here in the OpenAPI documentation.
Notes on Jython:The core Python development is CPython, which is primarily in C and compiles to given targets like C. The Jython port is compatible with Java and targets the Java JVM rather than compiling for a particular platform.
This allows running a Jython interpreter for Python as a class object directly in Java, and writing Jython scripts that run on the JVM directly.
Jython currently only supports Python 2.7. There has been development of Jython for Python 3.5 under development in the past, though it is "resting" at the moment, as stated in this SO answer
QUESTION
For a presentation I would like to show the relationship between machines of our company. There are basic machines and specialized machines. The specialized machines can do everything the basic machine can do. I would like to show this relationship in the form of a class diagram in UML using the generalization arrow. However, I am afraid that UML class diagrams are very software specific.
Are there alternatives for general contexts? Maybe SysML?
Edit:
Here is a simplified diagram which is in principle very similar to the diagram I would present:
I have no data types for the attributes here, because in my opinion they make no sense. Would you still let it pass as UML? Or other suggestions?
...ANSWER
Answered 2019-Jul-27 at 21:37Though SysML is targeted on modeling hardware, it is using similar language elements like UML. And of course it can model hard- and software - like UML.
Actually you can (almost) show SysML using a profile in UML. You can find both the SysML spec and the UML profile at https://www.omg.org/spec/SysML/1.2/About-SysML/
You should not be afraid to use UML if it's at hand. You can describe anything (technical) using this language.
RE your edit (this might start going to far, so if anything else arises ask a new question):
Cooling
should be a class of its own. You'd have some abstract cooling device which can do general cooling (of the attached device). You then use specialized coolings that can do more (or less) fancy stuff. An ice bucket would be a simple one. And a Linde machine could come with lots of additional features.That with the
levels
seems ok. Note that there's a naming convention where you start classes with upper and attributes/operations with lower case. So one back you'd better writecooling: Cooling
About the memory. The way you did it is not good. It's not overriding anything in that case. Also
memory
as a general attribute sounds like a flawed design. Memory is too general. Think about what kind of settings should be allowed and probably put these in an enumeration. That definitely needs a bit of brain power to get it right.
As said, these are a few loose thoughts. Making a design is good for an afternoons workshop (as a start).
QUESTION
At first I will shortly describe what I want to do: I´m working with a SysMl modeler to creat an activity diagram. After I finished my model with the SysML modeler I can creat an XML file out of my model. This XML file shall be imported into different tool. However for the better understanding of the source XML code I want to transform it. In the following XML code you can see the 'edge' node. Each 'edge' node refers to a 'target' and 'source'. But if you not much into the code you can´t read out to which element 'source' and 'target' refers (you see only some letters and numbers in a row). If you look further you recognize that the letters and rows refers to "real" names like 'machine1'. Now my question: how can I write a code for the transformation that switchs for example 'target="abcd"' to 'target='machine2"'?
I´ve the following XML code:
...ANSWER
Answered 2019-May-23 at 10:12Use a key to lookup the node names - for example:
XSLT 1.0
QUESTION
I am struggling with some basic XSLT. I would like to remove an element from some XML depending on whether it has a specific name or not.
Edit: Here is my "real" XML Code:
...ANSWER
Answered 2019-May-16 at 11:58If your script refers to xmi
namespace, it must be included in the main element of the script.
So stylesheet
must contain xmlns:xmi="..."
.
Below you have an example script.
I added also xsl:output
to switch the indentation on and xsl:strip-space
to
filter out unnecessary spaces.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install sysml
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page