M&CML: A Monitoring & Control Specification Modeling Language

Slides:



Advertisements
Similar presentations
DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.
Advertisements

SOA Modelling By Rajat Goyal.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Overview of OASIS SOA Reference Architecture Foundation (SOA-RAF)
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
The Software Development Life Cycle: An Overview
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
The Project – Spreadsheet Design. The following is the high mark band for the spreadsheet design: The candidate has Analysed a given data set and designed.
ITEC224 Database Programming
An Introduction to Software Architecture
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
DEPICT: DiscovEring Patterns and InteraCTions in databases A tool for testing data-intensive systems.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Methodology - Conceptual Database Design
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
CSC480 Software Engineering Lecture 10 September 25, 2002.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
CS223: Software Engineering
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter – 8 Software Tools.
Software Engineering Lecture 10: System Engineering.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Eurostat Sharing data validation services Item 5.1 of the agenda.
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
Statistics Estonia's new system for statistical data activity processing (VAIS) ITDG Luxembourg 2010 Allan Randlepp.
CompSci 230 Software Construction
Software Overview Sonja Vrcic
Lecture 1 Introduction Richard Gesick.
Extending Model-Driven Engineering in Tango
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
Computer Aided Software Engineering (CASE)
Unified Modeling Language
Towards Effective Adaptive User Interfaces Design
Abstract descriptions of systems whose requirements are being analysed
Study of Tools for Command and Telemetry Dictionaries
Engineering Processes
Workshop on the Validation of Waste Statistics
Unified Modeling Language
Domain Specific Product Description Exchange
Evaluating Compuware OptimalJ as an MDA tool
An Introduction to Software Architecture
ESS.VIP VALIDATION An ESS.VIP project for mutual benefits
Exploring the Power of EPDM Tasks Working with and Developing Tasks in SolidWorks Enterprise PDM (EPDM) By: Marc Young xLM Solutions
ESS.VIP Validation Item 5.1
Software Development Process Using UML Recap
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Presentation transcript:

M&CML: A Monitoring & Control Specification Modeling Language Puneet Patwari , Subhrojyoti C , G Muralikrishna, N.Swaminathan Systems Research Lab

Agenda Background of Monitoring and Control Architecture Motivation for Domain Specific Language (DSL) Realizing M&C responsibilities Possible Implementation Approaches Approach to DSL M&CML concepts and Features M&CML Framework Architecture Case Study Conclusion

Background of Monitoring & Control Architecture Large Scientific Projects composes various systems. E.g., Antenna, correlator for Radio Telescopes and Power, Magnet for Nuclear Fusion reactors etc. Role of Supervisory Control Co-ordinate to achieve the overall goal. Monitors systems and subsystems. Development of Supervisory Control Requires sub systems to work out M&C requirements independently. Agreement on control responsibilities is done subsequently. Supervisory Control Interface control documents (ICD) S1 S3 e.g., Power system e.g., Cooling tower S2 e.g., Antenna SysML for M&C designs

Motivation Amount of Control Functionalities visible and explicated? Large Scientific Projects Overall Control architecture and the interfaces? Clean handover of M&C design specs to subsequent phases? Standard Design Modeling technique followed System Modeling Language (SysML) Partial Integrated models Design specs exchanged among various groups? Standard Vocabulary or glossary? Designing Control Functionality like Alarm Handling/Data Processing in models, are they specified?

Realizing M&C Responsibilities The most widely and dependable means today are creating ICDs Pros: Defines Interfaces and control items that flow through it. E.g., Commands, data points, message, alarms, events Provision for agreeing on control responsibilities. E.g., Statemachine, Command validation, event/alarm handling Cons: Fails to provide a holistic view of control architecture. No scope for actual implementation of integration of controllers. Need for supporting mechanisms to translate ICD into implementation-specific format. Interface Control Documents We need something to alleviate the shortcomings!!

Implementation Approaches Zero Level SysML, ICDs Writing Integration Code Manually input Writing Integration Code Delegate to responsible parties the task of writing implementation code. Challenges Results in a lot of effort to create code for all interfaces. Painful to maintain since each group will implement independently. Next Level Populating Templates Templates input Creating Templates For Integration Useful in capturing control concepts, functionality and interface data in a standard format like XML. Used to create one off tools with user interfaces to produce specification files. E.g., SACE model Code generators translates information into integration code.

Example of SACE specification approach Specification-driven but requires multiple type of spec formats Current practice for writing M&C specification involves minimum use of three technologies, for example, XML files to specify control items, Excel sheet to write rules, JAVA for implementation and other technology to design behavioral concepts like statemachine etc. With M&CML only one file will be sufficient to specify everything thereby saving a lot of time n space.

Our Proposal – An approach based on Domain Specific Engineering We need a Domain Specific User Interface for a domain specific model - Domain Specific Language (DSL) seems the right option We Created a DSL platform – Monitoring and Control Modeling Language

Approach to DSL View any system that requires to be controlled through a ‘Control Lens’ Identify concepts and keywords for M&C domain. Identify structures and functions. Understand the existence of other lenses (security, stakeholder etc.) and establish relationship among them. input output For M&CML two foundational aspects can be viewed from the control lens The Interface description capturing details using M&C concepts . The Control Node capturing required behavior and functionality of a controller.

M&CML Concepts & Features Associated Viewpoint Domain-Intelligence, Third party support by means of Code Generation, Verifiability using Syntax and domain specific validations and static analysis, Source code navigation, User Assistance with the help of Code Completion and template support, Concepts Control Node, Commands, Alarms, Events, States, State Machine, Alarm Handling, Data Points, Data Handling, etc. M&CML Built-in Provides

Example 1. Spec file for Servo System control items 2. Security aspect for Servo System controls Refer to servo system Refer to Alarm A1,A2 of Servo System

M&CML Framework Architecture M&CML follows Model – driven approach. Ecore Meta-model specific to domain is created using Eclipse Modeling Framework (EMF) tools. Language framework created using XText . XText provides editor to develop domain specific model/configuration files. Third party support using XText Code generators/Interpreters constructs.

Case Study - Analysis Analyses based on comparison with SACE model :- Use of Four specification formats compared to only One unified language in M&CML. Possibility of Human errors in SACE. A cause for loss of uniformity and information. M&CML enforces zero errors. Command constructs mismatch in same file State constructs mismatch Current practice for writing M&C specification involves minimum use of three technologies, for example, XML files to specify control items, Excel sheet to write rules, JAVA for implementation and other technology to design behavioral concepts like statemachine etc. With M&CML only one file will be sufficient to specify everything thereby saving a lot of time n space.

Case Study - Analyses M&CML enforces consistency checks which was not possible with our previous approach. Error notification if command specified for translation logic mismatch with child command Current practice for writing M&C specification involves minimum use of three technologies, for example, XML files to specify control items, Excel sheet to write rules, JAVA for implementation and other technology to design behavioral concepts like statemachine etc. With M&CML only one file will be sufficient to specify everything thereby saving a lot of time n space.

Conclusion It is challenging to maintain consistency in the current approach to M&C design. Based on similarity across various projects, it looks ideal to propose a solution at domain level. Approach to create a DSL for M&C involves viewing a system through lenses of various domains. M&CML provides a standard vocabulary and makes the entire process of M&C solution creation domain-aware. The solution created using M&CML provides a holistic view of control architecture. M&CML has support for inherent consistency checks, user assistance and third party support. The future direction is to validate the language in context of large projects such as SKA. Current practice for writing M&C specification involves minimum use of three technologies, for example, XML files to specify control items, Excel sheet to write rules, JAVA for implementation and other technology to design behavioral concepts like statemachine etc. With M&CML only one file will be sufficient to specify everything thereby saving a lot of time n space.

THANK YOU…