2020 IEEE International Systems Conference (SysCon), 2020
We have designed, developed and deployed a unique edX massive open online course (MOOC) environme... more We have designed, developed and deployed a unique edX massive open online course (MOOC) environment for teaching Model-Based Systems Engineering (MBSE) with Object-Process Methodology (OPM) ISO 19450. In this environment, OPCloud, an OPM cloud-based conceptual modeling environment, has been embedded in the edX environment. This has enabled us, as the course instructors, to teach MBSE with an industrial-strength tool that students can experience first-hand. Students received real-time feedback on their performance, along with guidance on what they missed and the option to resubmit. We describe the architecture of this combined MOOC-modeling environment and report on preliminary performance results.
Modern complex systems include products and services that comprise many interconnected pieces of ... more Modern complex systems include products and services that comprise many interconnected pieces of integrated hardware and software, which are expected to serve humans interacting with them. As technology advances, expectations of a smooth, flawless system operation grow. Model-based systems engineering, an approach based on conceptual models, copes with this challenge. Models help construct formal system representations, visualize them, understand the design, simulate the system, and discover design flaws early on. Modeling tools can benefit tremendously from querying capabilities that enable gaining deep insights into system aspects that direct model observations do not reveal. Querying mechanisms can unveil and explain cause-and-effect phenomena, identify central components, and estimate impacts or risks associated with changes. Being connected networks of system elements, models can be effectively represented as graphs, to which queries are applied. Capitalizing on established gra...
Remote Procedure Call (RPC) is a commonly used mechanism for synchronous communicating client/ser... more Remote Procedure Call (RPC) is a commonly used mechanism for synchronous communicating client/server applications. RPC implements a tightly synchronized client/server interaction that is analogous to the regular procedure call in non-distributed applications. The general underlying principle common to all RPC-based tools and standards is that both client and server share a common interface definition file (e.g., IDL). Automatic tools process the interface definition file and generate source files that, when compiled with the application, ensure client/server run-time compliancy. With DCE, CORBA and Web Services (SOAP), client and server do not have to be implemented in the same language, although the most common language used in these application had initially been C, then C++, and later Java and C#. With the modern languages, such as Java, the built-in Remote Method Invocation (RMI) method provides a very easy solution for developing distributed applications. We introduce a new des...
... Author, Uri Shani, Publisher, The University of Rochester. Bibliometrics, Downloads (6 Weeks)... more ... Author, Uri Shani, Publisher, The University of Rochester. Bibliometrics, Downloads (6 Weeks): n/a, Downloads (12 Months): n/a, Citation Count: 2. ... Collaborative Colleagues: Uri Shani: colleagues. The ACM Portal is published by the Association for Computing Machinery. ...
We introduce ontologies (as in the Semantic Web ontology language OWL) to serve as formal descrip... more We introduce ontologies (as in the Semantic Web ontology language OWL) to serve as formal description of the modeling languages of model-based systems engineering (MBSE) tools. In these tools, systems are designed via abstractions, each tool with its own conceptual modeling languages having different syntaxes and different semantics. This creates barriers in sharing these mathematical models among the tools. Our journey starts with the web, where large amounts of information from any sources on the Web can be linked and combined in many ways. The Semantic Web added meaning through OWL ontologies to the information in web pages so machines could better process information to enhance users’ experience. The field of MBSE offers a great many different tools to the engineer, each representing the system under design or a view of that system albeit mathematically, but differently so that sharing a model from one tool with another is impossible, or darn difficult and error prone. This prob...
2017 Annual IEEE International Systems Conference (SysCon), 2017
Model-based systems engineering provides a soft, manageable, and query-able representation of pro... more Model-based systems engineering provides a soft, manageable, and query-able representation of product design and lifecycle. However, at the same time, it creates a discontinuous space of data that does not integrate, constantly becomes outdated, and has to be upgraded as tools evolve. Models that are not maintained become legacy, and then become obsolete and useless. We look at how ontologies that follow the semantic web technology for data representation can create interoperability among the modeling tools, support model reuse, and fight the aging and obsolescence of models.
Systems Engineering in the Fourth Industrial Revolution
This chapter presents Methodical Approach to Executable Integrated Modeling (MAXIM) and its imple... more This chapter presents Methodical Approach to Executable Integrated Modeling (MAXIM) and its implementation environment, OPCloud. The MAXIM framework enables concurrent modeling of the hardware and software system aspects, avoiding the need to make the painful and information-leaking transition from the abstract, qualitative conceptual system architecting stage to the concrete, detailed, quantitative design stage. The MAXIM environment aims to overcome the widening hardware-software modeling gap, stepping toward bringing systems engineering and software engineering closer together. OPCloud is revolutionary in that it is the first and only modeling environment that enables modeling systems not just conceptually; the same environment also provides the modeler with the ability to proceed with detailed, quantitative design that is integrated into the qualitative model. The chapter discusses the sharing of model data and describes collaboration facilities as built into OPCloud.
DCE is a comprehensive RPC-based solution for client/server applications across networks of heter... more DCE is a comprehensive RPC-based solution for client/server applications across networks of heterogeneous machines. Unfortunately, DCE is hard to learn and use. The fact is, that even simple DCE applications may have a rather complicated structure, requiring a good understanding of the elaborate DCE technology. This paper presents GLUEGEN -- an automatic tool for "wrapping" plain C code to become part of a distributed application. The approach taken separates DCE-specific from DCE-independent elements of the application, via a high-level specification language. This language provides an easy and flexible way to describe the distributed application topology, and frees the programmer from having to get into the gory details of the DCE run-time. Using GLUEGEN, the development of simple DCE applications remains a rather simple task, requiring very little knowledge of DCE, and of the DCE run-time. The tool is particularly useful for splitting existing monolithic programs into c...
2020 IEEE International Systems Conference (SysCon), 2020
We have designed, developed and deployed a unique edX massive open online course (MOOC) environme... more We have designed, developed and deployed a unique edX massive open online course (MOOC) environment for teaching Model-Based Systems Engineering (MBSE) with Object-Process Methodology (OPM) ISO 19450. In this environment, OPCloud, an OPM cloud-based conceptual modeling environment, has been embedded in the edX environment. This has enabled us, as the course instructors, to teach MBSE with an industrial-strength tool that students can experience first-hand. Students received real-time feedback on their performance, along with guidance on what they missed and the option to resubmit. We describe the architecture of this combined MOOC-modeling environment and report on preliminary performance results.
Modern complex systems include products and services that comprise many interconnected pieces of ... more Modern complex systems include products and services that comprise many interconnected pieces of integrated hardware and software, which are expected to serve humans interacting with them. As technology advances, expectations of a smooth, flawless system operation grow. Model-based systems engineering, an approach based on conceptual models, copes with this challenge. Models help construct formal system representations, visualize them, understand the design, simulate the system, and discover design flaws early on. Modeling tools can benefit tremendously from querying capabilities that enable gaining deep insights into system aspects that direct model observations do not reveal. Querying mechanisms can unveil and explain cause-and-effect phenomena, identify central components, and estimate impacts or risks associated with changes. Being connected networks of system elements, models can be effectively represented as graphs, to which queries are applied. Capitalizing on established gra...
Remote Procedure Call (RPC) is a commonly used mechanism for synchronous communicating client/ser... more Remote Procedure Call (RPC) is a commonly used mechanism for synchronous communicating client/server applications. RPC implements a tightly synchronized client/server interaction that is analogous to the regular procedure call in non-distributed applications. The general underlying principle common to all RPC-based tools and standards is that both client and server share a common interface definition file (e.g., IDL). Automatic tools process the interface definition file and generate source files that, when compiled with the application, ensure client/server run-time compliancy. With DCE, CORBA and Web Services (SOAP), client and server do not have to be implemented in the same language, although the most common language used in these application had initially been C, then C++, and later Java and C#. With the modern languages, such as Java, the built-in Remote Method Invocation (RMI) method provides a very easy solution for developing distributed applications. We introduce a new des...
... Author, Uri Shani, Publisher, The University of Rochester. Bibliometrics, Downloads (6 Weeks)... more ... Author, Uri Shani, Publisher, The University of Rochester. Bibliometrics, Downloads (6 Weeks): n/a, Downloads (12 Months): n/a, Citation Count: 2. ... Collaborative Colleagues: Uri Shani: colleagues. The ACM Portal is published by the Association for Computing Machinery. ...
We introduce ontologies (as in the Semantic Web ontology language OWL) to serve as formal descrip... more We introduce ontologies (as in the Semantic Web ontology language OWL) to serve as formal description of the modeling languages of model-based systems engineering (MBSE) tools. In these tools, systems are designed via abstractions, each tool with its own conceptual modeling languages having different syntaxes and different semantics. This creates barriers in sharing these mathematical models among the tools. Our journey starts with the web, where large amounts of information from any sources on the Web can be linked and combined in many ways. The Semantic Web added meaning through OWL ontologies to the information in web pages so machines could better process information to enhance users’ experience. The field of MBSE offers a great many different tools to the engineer, each representing the system under design or a view of that system albeit mathematically, but differently so that sharing a model from one tool with another is impossible, or darn difficult and error prone. This prob...
2017 Annual IEEE International Systems Conference (SysCon), 2017
Model-based systems engineering provides a soft, manageable, and query-able representation of pro... more Model-based systems engineering provides a soft, manageable, and query-able representation of product design and lifecycle. However, at the same time, it creates a discontinuous space of data that does not integrate, constantly becomes outdated, and has to be upgraded as tools evolve. Models that are not maintained become legacy, and then become obsolete and useless. We look at how ontologies that follow the semantic web technology for data representation can create interoperability among the modeling tools, support model reuse, and fight the aging and obsolescence of models.
Systems Engineering in the Fourth Industrial Revolution
This chapter presents Methodical Approach to Executable Integrated Modeling (MAXIM) and its imple... more This chapter presents Methodical Approach to Executable Integrated Modeling (MAXIM) and its implementation environment, OPCloud. The MAXIM framework enables concurrent modeling of the hardware and software system aspects, avoiding the need to make the painful and information-leaking transition from the abstract, qualitative conceptual system architecting stage to the concrete, detailed, quantitative design stage. The MAXIM environment aims to overcome the widening hardware-software modeling gap, stepping toward bringing systems engineering and software engineering closer together. OPCloud is revolutionary in that it is the first and only modeling environment that enables modeling systems not just conceptually; the same environment also provides the modeler with the ability to proceed with detailed, quantitative design that is integrated into the qualitative model. The chapter discusses the sharing of model data and describes collaboration facilities as built into OPCloud.
DCE is a comprehensive RPC-based solution for client/server applications across networks of heter... more DCE is a comprehensive RPC-based solution for client/server applications across networks of heterogeneous machines. Unfortunately, DCE is hard to learn and use. The fact is, that even simple DCE applications may have a rather complicated structure, requiring a good understanding of the elaborate DCE technology. This paper presents GLUEGEN -- an automatic tool for "wrapping" plain C code to become part of a distributed application. The approach taken separates DCE-specific from DCE-independent elements of the application, via a high-level specification language. This language provides an easy and flexible way to describe the distributed application topology, and frees the programmer from having to get into the gory details of the DCE run-time. Using GLUEGEN, the development of simple DCE applications remains a rather simple task, requiring very little knowledge of DCE, and of the DCE run-time. The tool is particularly useful for splitting existing monolithic programs into c...
Uploads
Papers by Uri Shani