DMC Vision, Use Cases and Features

Is there a revenue model for software providers making their apps available to users in DMC?

The DMC is being built to provide architectural flexibility so users and software providers can arrange interactions in a way that fits their business model. For instance, it is possible to advertise a “freemium” capability in the marketplace.

What is the vision for the future of DMC?

We like the way the vision was stated by our user community that came out of the workshop on the 23rd:

Millions of people using this DMC software daily, adding their own manufacturing recipes, examining networks in their web browsers, using all this to learn about and research the “big picture” issues of cradle-to-cradle low-to-zero-emissions manufacturing webs. When people decide what they want to manufacture and how, then the rest of the DMC software could come into play for making those specific things.

NASA, seasteaders, city planners, and many other organizations would then use such tools as an integral part of planning new communities.

Governments might use such tools to determine the costs of manufacturing externalities for setting tax and subsidy policies.

The defense community would be using these tools to rethink supply lines and equipment designs for resiliency.

Businesses could indicate their availability and cost profile to do some process or make some product, so users could easily choose whether to build in-house or out-source.

Is the integration between the different phases of the product life cycle being considered?

The DMC can support data exchange across the product life cycle, however contributors will determine which phases are integrated and when.

Any capability to do alerts -in extreme low bandwidth – such as event reporting – mal – cyber experiences?

Some, but not as much as we’d like. Would love to see this reworked or extended as a dev activity

Does DMC provide any API for connecting with other programming languages/frameworks? (php, mysql etc.)

Yes, we can currently connect to multiple languages. For example, we can connect to Java through the use of a simple interface.  See the documentation to find out more.

For Commons, do we have to become a member to be able to use its tools?

Definitely not! However, we are resource constrained so we may have to prioritize resources (e.g., CPU time for execution of analytical models) by members. In addition, there will likely be “members only” content such as things coming out of our other R&D-funded efforts.

Our lab has several digital design apps already available to the public from our own servers. Is it appropriate to propose putting those on DMC, or are you only interested in new apps?

Not just new apps – anything compelling! In your case, I wonder if a bridge can be built to share/federate publishing, discovery, and execution.

If I designed a PHYSICAL thing with UI LABS, how do we “Print” it ? Can we have it “Printed” in UI LABS itself ?

That would be an AWESOME demonstration! UI LABS/DMDII currently has equipment in place to machine a physical part that could be designed here. We do not have 3D Printing capabilities yet but we are working on establishing an additive manufacturing cell.  DMDII is designed to be a research, testing and prototyping facility.  We are not intending to be a production manufacturing service shop.

What is the status and/or plans for real-time monitoring manufacturing processes?

That’s a big part of the story and long-term objectives. We hope to have projects in the mix in 2016 that are demonstrating this use case. UI LABS/DMDII currently has equipment in place to machine a physical part that could be designed here. We do not have 3D Printing capabilities yet but we are working on establishing an additive manufacturing cell.  DMDII is designed to be a research, testing and prototyping facility.  We are not intending to be a production manufacturing service shop.

What would be next for DMC ? future enhancement ? extensions ? especially long term

We are putting out a product roadmap, but…. You tell us! What should it be? How does it best support your mission, business, or value?

DOME and VehicleFORGE Technology

Can DOME be installed on a Mac OS? this link only covers windows install instructions


Yes, DOME can absolutely be installed on a Mac or Linux environment. You can find instructions for installing it on Mac and Linux on the wiki: https://digitalmfgcommons.atlassian.net/wiki/display/DMDIIDMC/Digital+Manufacturing+Commons+Home or at https://digitalmfgcommons.atlassian.net/wiki/display/DMDIIDMC/DOME+%28Distributed+Object-based+Modeling+Environment%29+-+User+Guide. If you have any difficulty with the installation, please comment on the forum at http://www.projectdmc.org/community/index.php or submit a bug/issue at https://bitbucket.org/DigitalMfgCommons/dome/issues?status=new&status=open.

Also, there is a virtual machine .OVF (Open Virtualization Format) available at http://projectdmc.org/files/ that you can load into virtualbox which has it preinstalled and configured to run on startup.

Since you are running DOME in linux, do you think you could use a Raspberry Pi as a server? Raspbian, or some other distro?

We have run DOME on an Ubuntu 14.04 desktop. I think it would run on a Raspberry Pi (RPi) hardware without too much trouble, though by default you’re going to end up with OpenJDK rather than an official Oracle JVM. I SUSPECT that it will run just fine on OpenJDK but we haven’t tried.

Can DOME run on OpenJDK?

We’ve had success running DOME on Ubuntu 14.04 with OpenJDK

What is DOME?

DOME stands for Distributed Object-based Modeling Environment, supporting model creation, sharing, distributed integration, real-time synchronization. You can find more info about it at http://www.projectdmc.org/sdk/.

What is the maturity level of DMC?

Depends on which metrics you use to measure it. I would put it at a TRL 7 (System prototype demonstration in an operational environment). It definitely needs some security hardening, refactoring, and continuous improvement on UI/UX, and we’re plotting a course to get it to TRL 9 by 2017.

DMC Project

How do I contribute to the DMC?

Information about how to contribute to the open DMC project is available at http://www.projectdmc.org/documentation/contribute/

Is there a place where I can advertise myself to find proposal partners?

Here’s the link: https://www.surveymonkey.com/r/FGM5ZXD

Models & Modeling

Can DMC be used for simulating processes and services? For example, an assembly line as an entity?

Yes, shouldn’t be much different than other models, except that any advanced visualization capability may prove challenging.

Is DOME a physics based modeling system?

No. DOME is an abstraction layer and orchestration engine for running heterogenous model types, including those from other physics-based modeling systems.

How do interfaces or plugins to other tools such as Matlab, Excel, etc. work?

Native DOME models are Python (it’s actually Jython) scripts, but DOME has plugins for approximately fifteen other programs such as MATLAB and Abaqus. We are building tutorials to describe how to build new plugins. Documentation coming soon.

Question: I have been trying to figure out how some of these tools – like nastran – will work with dome, and even solidworks. I know for instance I could have a solidworks model of a widget I’m trying to machine and I could parameterize that model in such a way that I could make a DOME model that takes as input “length, width” … run it through solidworks … and have solidworks provide me with manufacturing data like for instance maybe volume of material required. I *think* that’s the way DOME models are supposed to make use of those tools.

If you’re talking about DOME models then it’s really java based but you can run models in a few languages … as well as build them in tools like excel or matlab. It certainly would be possible to use one of those as a launching point to write your own models in any other language. We have some tutorials coming soon that we’ll post here.

Question: I’m used to simulation environments like Ptolemy, Omnisys, Simulink. In those environments there’s usually simulation “domains” and I don’t know how DOME fits into that … for example is there a framework for doing time-domain simulations? Or is the scale more on the order of “big calculator” ? Think for instance of simulating a vibration and how it manifests itself through a system. Typically that would be a time domain simulation: “Insert an impulse, then run the simulation for 10 seconds at a step size of 1 msec and plot the result.”  That would be a time domain simulation. Or consider a network, where you have 1000 nodes, and each one has a .01% probability of generating a packet.  That would be an event-driven or discrete event domain simulation.

It is certainly possible, for instance, to have a runge-kutta time-stepped simulation running as a DOME model; however, once you start integrating these models there are all kinds of clock synchronization issues. This is an area that needs more investigation.

Question: Are “integration models” models-of-models, where I can take say a transformer model from one vendor and a motor from another vendor and put their two models together in my own “model of the system?” Is that the intent of these “integration models?”

Yes, models may be integrated. An integration model describes the linkage between a set of models. For time-based simulations there is the additional challenge of clock synchronization, which DOME does not currently deal with.


Who is the ITAR cloud provider for the institute-hosted instance of the DMC?

This is still under discussion. The platform will provide the ability to host an instance privately or in a hybrid configuration as well.

What about security? Transferred Data are very sensitive and they content intellectual properties.

We are using the NIST Risk Management Framework to secure the software system, and many of the controls will also be addressed by our cloud provider. In terms of user and app vetting, we are still investigating alternatives. One thing we are looking at are ways to automatically register/validate BND numbers (http://www.dnb.com/).

Is all the content residing at the DMC or do some of the things we saw reside locally at the user?

The data, the models, and the execution engine can all live in different places. You essentially make the pieces aware of each other and then you can push them to each other as needed. So you could keep data locally and pull down a model to execute it locally so the data never leaves your shop. Or, you could have a model you keep locally and periodically push data down to it for execution so the model IP never leaves your shop even for execution.

What is the authentication? Is it using OpenID?

It is federated authentication using Shibboleth on the backend, which I believe can authenticate with OpenID among other things. Shibboleth itself doesn’t have an official way to talk to non-browser-based clients, though there is an unsupported shibboleth plug-in for that purpose.


I wonder if people in this industry actually use EDI-856 to improve logistical flow of materials (as well as traceability)?

Interesting idea. It’s not on our roadmap to have this leveraged or integrated into DMC, but if people see it as a need we can add it in.

Are there any PCB manufacturing/assembling machinery available on the “UI LABS Shop Floor” ?  We manufacture PCB boards

Not at the moment, there will be periodically rotating equipment through the Mfg Lab.  Cell #7’s focus is on electronics and assembly but so far we only have an augmented reality visual work instruction system.  We are working on concepts for an electronics demonstration system.  There are some descriptions of equipment here: http://dmdii.uilabs.org/the-institute/facility/demo-factory.

Regarding the last Q&A on real-time monitoring, can you please elaborate more on how DMC can be integrated as a technology to that point. How can DOME models be used in that way?

We see a TON of ways like that to use real-time data, so that you have models that improve themselves and get better and better the more they are used (and fed info). Here’s one example from our user community. Say you develop a DOME model that tries to predict tolerance changes as a tool wears out or deviates from its initial calibration.  You could design a DOME model to compute that, but if you had some real-time data — for example, based on laser inspection of the product — then you could use that information to make the model improve itself (and become a more accurate predictor)