Architecting the Executables with DEVS Unified Process ...

Featured Services

Modeling and Simulation Modeling in software and systems engineering is the art of emulation/simplification of real-world using valid abstractions, formal knowledge representation and implementation as a software program or a graphical artifact. Simulation is the act of execution of the model on a time-base to present dynamical behavior. Modeling and Simulation are independent areas of research and the simulator executes a "contract" (simulation protocol) when it simulates a model. Correctness of this contract and simulator implementation is called Verification. Correctness of model is done through Validation.
Executable Architectures The simulation of an architecture model is an open problem and largely unsolved. We at DUNIP with our research repository and experience are moving towards a product that could provide executable architectures based on Department of Defense Architecture Framework (DODAF) Version 2.0 with MDSE. The foundation is described in our latest book.
Model-Driven Systems Engineering (MDSE) With the theoretical foundation of Discrete Event Systems formalism, a.k.a DEVS, we engineer our M&S-driven systems with strong theoretical systems engineering principles and advanced model engineering technologies employing metamodeling and Domain Specific Languages (DSLs). The DEVS Unified Process (DUNIP) facilitates integration and continuous satisfaction of requirements across the entire systems lifecycle in an agile manner
Netcentric Agent-based Distributed Systems With industry's widespread adoption of Service Oriented Architecture (SOA) and its pursuit of semantic web technologies, we at Dunip bring solutions that allow netcentric modeling and simulation-based engineering for interoperable event-driven architectures and systems. We engineer multi-agent systems and complex dynamical system-of-systems using scientific theories/frameworks based on agent-based computing, organic computing and natural computing.
DEVS Unified Process
PDF Print E-mail

Book now out: Netcentric System of Systems Engineering with DEVS Unified Process, Francis & Taylor Group, CRC Press

Comprehensive book review in SCS Newsletter, by Dr. Bernard P. Zeigler

 

The DEVS Unified Process is based on an Open Systems concept. An open system is a dynamical system that can exchange energy, material and information with the outside world through its reconfigurable interfaces. An open system also possesses the capability to form complex hierarchical structures enabling them to compete and cooperate at the same time. In fact, the mechanism to reorganize in a hierarchical structure is one of the basic requirements to manage complexity. The open systems are also characterized by emerging behavior and evolving structure. These two facets are function of an open system’s permeability to outside influence, inherited guidelines, ability to self-govern, and the degrees of synergistic efforts as it interacts with other systems and with its environment. In order to have an executable System of System, the framework must provide capabilities to model an open system. In addition, a process also needs to be defined that allows the development of an executable Open system. Much of an Open system development hinges on the variable structure capability within a component based system. The ability to add or remove hierarchical components, change connections between components and lastly, modify the behavior of a component as it evolves per its surroundings, is the desired characteristics of an open systems modeling framework. While the first two capabilities are structural in nature and have been documented in DEVS literature, the third one is behavioral modification at runtime. This capability is the most difficult to achieve. Using the latest advances in finite deterministic DEVS described as DEVS Domain specific Language in DEVSML 2.0 stack, runtime behavior modification in DEVS could be achieved. The DEVS open systems approach underlying the DEVS Unified Process gives it strong formal foundation to develop M&S complex systems software capable of designing emergent behaviors.

Service Oriented Architectures (SOA) present challenges to current model-based software engineering methodologies such as Rational Unified Process (RUP). In this effort, originally developed by Dr. Mittal in his doctoral research, a process called DEVS Unified Process (DUNIP) has been proposed. It uses the Discrete Event Systems Specification (DEVS) formalism as a basis for automated generation of models from various requirement specifications and their eventual realization as SOA collaborative services.

Figure 1:DEVS Elements

DEVS formalism has been in existence for over 30 years now. It has been applied to multiple domains and many of the formalisms can be reduced to DEVS formalism. DEVS is based on strong system theory with its hierarchy of system specifications and closure under coupling properties. The DEVS Unified Process a.k.a DUNIP is the consummation of how DEVS can be applied to System of Systems design and analysis in full systems engineering life cycle setup. DUNIP is not a single concept but an integration of various concepts that have been developed over the years in DEVS research. These concepts have now evolved into an integrated process that facilitates systems modeling and simulation. Combining the systems theory, M&S framework and model-continuity principles lead naturally to a Life-cycle development process, originally referred as Bifurcated Model-Continuity Based Life Cycle Methodology (Figure 2) which is a precursor to the DEVS Unified Process. The process can be applied to development of systems using model-based design from scratch or as a process of reverse engineering in which the requirements have already been developed in an informal manner.

Figure 2:Bifurcated Model Continuity-based Life Cycle Process

The above conceptual process does not take into account the system development life cycle, the prime objective of which is continuous satisfaction of the requirements across a system’s lifecycle. The Bifurcated Model-continuity process is extended to include:

  1. the requirement specifications from disparate systems,
  2. the development of required domain specific languages along with DEVSML transformations, and
  3. their execution over a transparent simulation net-centric infrastructure

to define the  DEVS Unified Process. DUNIP is a universal process and is applicable in multiple domains. However, the understated objective of DUNIP is to incorporate discrete event formalism as the binding factor at all phases of this development process.  Figure 2 illustrates the DEVS Unified Process.

DUNIP integrates various model-based engineering concepts into its precursor DEVS-based Bifurcated Model-Continuity life-cycle development methodology as in Figure 2 above. The life-cycle begins by specifying the system requirements in a number of different formats such as state-based, BPMN/BPEL-based, message-based requirement specifications. DUNIP then automates the generation of DEVS models capable for distributed collaboration. The collaboration uses an XML-based DEVS Modeling Language (DEVSML) framework that provides the capability to integrate models that may be expressed in different DEVS implementation languages. The models are also made available for remote and distributed real-time execution over the SOA middleware in a manner transparent to the user (Figure 3). A prototype simulation framework known as DEVS/SOA was implemented. The important concepts and the process within DUNIP are listed below:

  1. Requirements specification using Domain Specific Languages (DSLs): Various domain specific languages are used to specify system requirements and definitions, for ex. Unified Modeling Language, Department of Defense Architecture Framework (DoDAF), BNF grammars and other DSL generation languages like Groovy, Scala etc. can be used to define requirements.
  2. Platform Independent modeling at lower levels of systems specification using DEVS DSL: a DEVS domain specific language that is based on Finite Deterministic DEVS is described here. It is presented in the context of DEVS Modeling Language (DEVSML 2.0) stack.
  3. Model Structures at higher level of System resolution using System Entity Structures (SES): The role of System Entity Structures at higher levels of systems specification and a model-based repository framework in which components stored in a repository can be used for systems development.
  4. Platform Specific Modeling i.e. DEVS implementations on different platforms: Platform independent DEVS models can be implemented in a platform specific language such as JAVA, C# or C++.
  5. Automated Test Model generation using DEVS PIMs: Automated generation of DEVS observers and test agents from DEVS platform independent models. DEVS DSL plays a critical role in achieving this capability.
  6. Net-centric execution in a distributed setup: The net-centric framework for DEVS execution. It provides details on the DEVS simulation architecture, message serialization and cross-platform execution of DEVS PIMs. It will describe a DEVS virtual machine that the user can either run locally or in a cluster to achieve parallel execution.
  7. Interfacing of models with real-time systems: The heart of model-continuity principle. DEVS can act as a production system and can interface with live web services. It also describes a Test Instrumentation System (TIS) deployed on a Service Oriented Architecture (SOA)
  8. Verification and Validation: Emphasis on the Experimental Frame design and how DSLs can help define the DEVS experimental frames.  It describes how V&V is done in an automated manner using DEVS PIMs.

 

Figure 3:DEVS Unified Process

Agile software methodologies have taken quite a notice these recent years primarily due to the factors such as volatile ever-changing requirements, dynamic technological landscape, high employee turnover, and most importantly, satisfying the business needs. It is summarized as a strategic capability that can respond to change, is adaptive, balances flexibility and structure, draws about the creativity and innovation of the development team and ultimately leads the organization through turbulence and uncertainty.

There is a fundamental shift in the approach of delivering the product by hard-line requirements specifications supported by methodologies like waterfall model, Capability Maturity Model (CMM) and CMM Integration (CMMI) and the Agile practices. While the former delineates defined repeatable processes so that the performance can be measured within very close tolerances, the Agile methodologies are more geared towards employing the latest advancement in technologies, to explore, and to deliver the product as soon as possible. The key point of agile practices is the inclusion of software engineering life cycle in each iteration so that the features delivered are production ready at the end of each iteration. While the visions of most projects are clear, what remain fuzzy are the exact requirement specifications that the developers are faced with. With agile practices, a constant dialogue with the customer or the subject matter experts (SMEs), repeatable testing procedures, incremental development and using the latest technology, the requested feature can be delivered in the next iteration without changing the entire project vision. The DEVS Unified Process, similarly is based on agile methodology. Table below lists the similarities with each phase of agile development methodology.

 

 

 

The roots of DEVS Unified Process are in Dr. Mittal's dissertation. In the dissertation, the entire process is illustrated with an application to a system of collaborating military systems implemented and tested using Bifurcated Model-Continuity methodology. The research also illustrates how the Department of Defense Architecture Framework (DoDAF) can be enhanced to incorporate simulation based executable models using the DUNIP process. The latest version of DEVS Unified Process is available in the book "Netcentric System of Systems Engineering with DEVS Unified Process".



Dissertation