CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example

Similar documents
CSSE 490 Model-Based Software Engineering: MDSD and Case Study

CSSE 490 Model-Based Software Engineering: Software Factories

Model-Driven Architecture/ Development

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction

CSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

CSSE 374: GRASP ing at the First Five Patterns Principles. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: Domain Engineering

CSSE 490 Model-Based Software Engineering: More MBSD. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: More Object Design with Gang of Four Design Patterns

CSSE 490 Model-Based Software Engineering: Transformation Systems

CSSE 490 Model-Based Software Engineering: Transformational Programming

CSSE 374: Even More Object Design with Gang of Four Design Patterns

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: Introduction to MetaModels

CSSE 490 Model-Based Software Engineering: Architecture Description Languages (ADL)

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

The Eclipse Modeling Framework and MDA Status and Opportunities

Introduction to OpenArchitectureWare

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Introduction to Software Engineering 10. Software Architecture

cs465 principles of user interface design, implementation and evaluation

We are at System Operation Contracts

MDA Driven xuml Plug-in for JAVA

All you need are models Anneke Kleppe, Klasse Objecten

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

CSSE 374: Design Class Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

Metamodeling and Metaprogramming Seminar

Data Entry, Processing and Management

Lecture 4, Task Analysis, HTA

Comparing graphical DSL editors

CIS 895 agenttool III (Static) Project Plan Version 2.0. Project Plan. For agenttool III (Static) Version 2.0

Monday, August 28, 2017

Model Driven Engineering (MDE)

Introduction to Programming

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

EMC Documentum Composer

INF 111 / CSE 121. Homework 3: Code Reading

you have to work hard to get your thinking clean to make it simple. Steve Jobs,

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

Assessment details for All students Assessment item 1

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

CSE 333 Lecture 1 - Systems programming

InfoSphere Data Architect Pluglets

MQ Explorer for Power Users

MDA. SOA = Model Driven SOA

ADT: Eclipse development tools for ATL

A Software Developing Environment for Earth System Modeling. Depei Qian Beihang University CScADS Workshop, Snowbird, Utah June 27, 2012

When Modeling meets Productivity. Sven Efftinge - itemis

CSE 333 Lecture 1 - Systems programming

Heuristic evaluation is a usability inspection technique developed by Jakob Nielsen. The original set of heuristics was derived empirically from an

Rules and Regulations Registered Tax Agent (RTA) Solution

PLUGIN ECLIPSE UML REVERSE ENGINEERING E-BOOK

Language engineering and Domain Specific Languages

Acceleo Galileo Simultaneous Release

be able to read, understand, and modify a program written by someone else utilize the Java Swing classes to implement a GUI

CS/SE 153 Concepts of Compiler Design

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

CS 253: Intro to Systems Programming 1/21

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Kermeta. in compiled mode

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

CREATE YOUR CONTENT STRATEGY & LAUNCH PLAN Amanda Genther Inc. & Irresistible Offerings

Moving From Studio to Atelier. Wouter Dupré Sales Engineer

Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler

Integrated Data Processing System (EAR)

ESE Einführung in Software Engineering!

Compiling Techniques

EMC Documentum Composer

COURSE SYLLABUS Fall SAHE&T CSC 101 Introduction to Computers (CRN 3070) MAC Department Course No. Course Title

FIT3056 Secure and trusted software systems. Unit Guide. Semester 2, 2010

Open Source Integrated Development Environment

EAXML Demonstration Platform on Artop/Sphinx.

CMPSCI 187 / Spring 2015 Sorting Kata

Introduction to Eclipse

Demonstrating Context-aware Process Injection with the CaPI Tool

EMC Documentum Composer

AD105 Introduction to Application Development for the IBM Workplace Managed Client

WHITE PAPER. Comparison Guide: Choosing Between Help Authoring Tools and CCMSs

Model Abstraction versus Model to Text Transformation

Announcements. 1. Forms to return today after class:

CoE CENTRE of EXCELLENCE ON DATA WAREHOUSING

SEAMLESS INTEGRATION OF METAEDIT+ AND ECLIPSE TO COMBINE MODELING AND CODING

Operational Semantics. One-Slide Summary. Lecture Outline

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

CMPE 152 Compiler Design

Developing Rules Applications with Red Hat JBoss BRMS (JB463)

Introduction to Dependable Systems: Meta-modeling and modeldriven

Artop (AUTOSAR Tool Platform) Whitepaper

with openarchitectureware

EMF Europa Simultaneous Release

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Automated Item Banking and Test Development Model used at the SSAC.

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Transcription:

CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu

Learning Outcomes: MBE Discipline Relate Model-Based Engineering as an engineering discipline. Discuss more Milestone 3 Examine the Cougaar ModelDriven Architecture Project Short exercise with Books Online Topics for Term Papers (if time) Q3

Recall MBSE for Software Defined Radios complexity was in the lowlevel details of the representations. Can MBSE be used when the complexity is in the behavior sophistication (e.g. Agents)? Think for 15 seconds Let s talk Q3 Q1

Original Cougaar Development Problem Domain Specific Application Cougaar Developer Subject Matter Expert + Cougaar Components

Cougaar Agent Internals in a Nutshell Agent is logical collection of Plugins Blackboard - shared areas Plugins provide behavior for agents and can subscribe to receive objects from Blackboard or publish to Blackboard Message system handles inter-agent communications Community of one or more agents on each node Plugin Blackboard (Plan) Plugin Plugin Logic Provider Q2

Complexity: Cougaar Agents in Systems Capturing the Human Cognitive Process 1. Receive tasking 2. Decompose task into doable subtasks 3. Assign tasks to skills or subordinates 4. Monitor execution, replan as required 5. Report status periodically Assessor Allocator Expander Supported Organization Incoming Directives User Interactions (Remote PDA) Domain Modules (Plug-Ins) Business Processes Domain Rules Functional Data Live Sensor Data Existing Databases Outgoing Directives Penalties & Exceptions Outgoing Directives Supporting Organization Q3

Simple Cougaar MDA Vision

Cougaar Model Driven Architecture Domain Workflow Application General Domain Application Model (GDAM) General Cougaar Application Model (GCAM) Computation Independent Model Platform Independent Model Cougaar Architecture Components Java Development Environment Platform Specific Model Q4

So, what is a reasonable mental model of the major components for doing CMDA? Again, think for 15 seconds Let s talk Q3

CMDA Model and Transform Approach Domain Specific Application GDAM GCAM CAPI CAPI Reqts CAPI Design GDAM Design / Reqts Code Reqts Design User GCAM Code Doc. User Test Code Doc. User Test Database Doc. Test Domain Application Model Products: Requirements Design Code Test User Doc. Cougaar Architecture Transform /Assemble Q5

Recall: CMDA Metamodel GDAM Component 0-L 1-N GCAM Component 1-R GCAM Component 1-N 1-R GCAM Component 1-N 1-R JET Template JET Template JET Template

Basic CMDA Elements Graphical Cougaar Model Editor (GCME) MetaModel Model Manager Compiler OCL Interpreter JET Templates Component Model Repository Q6

CMDA Core Technologies Eclipse Development Platform EMF Modeling Framework GEF Graphical Framework JET Template Framework ANTLR OCL Interpreter Framework GFE Component Editor Framework Cougaar Underlying Platform

Graphical Cougaar Model Editor (GCME) 14 Q7

Repository Integration Subversion is used as the Repository Search function developed to improve user productivity Include Repository Search and Workspace Search Include the option of automatically committing components in workspace to repository Q8

Property Editor

Short Discussion/Exercise: Recall the Online Video Example in CSSE 374? What would that workflow look like for Books-Online using Agents? How do you make an order? How do you pay for books? How do you ship books? How do you store books? How do you get books to sell?

Example BooksOnLine OrderManager Payment Publisher Warehouse Shipper

Beware of Workflow it could be coming your way

Cougaar Components in BOL Expander Execution Expander Order Manager Warehouse BOL Society Allocator Payment Manager Shipper Aggregator Allocator Completion Allocator Expander

Recall: Write & Present Term Paper Use IEEE/ACM format for the paper (template provided on Angel) Include abstract, introduction, background/ related work, analysis, and conclusion (along with references) Target 5-7 pages If you are not a strong writer, use a lot of tables and figures to organize your work Use your own words - copied elements without reference are considered plagiarism Paper due May 17 th, 2011 Presentation on May 19 th, 2011

Recall: Topics for Term Paper 1) Critically analyze the state of software productivity and the potential for Model-Based Engineering to make an impact. 2) Conduct a survey of Model-Based Engineering approaches (e.g., MDA/MDD, MBSE, DSL, MIC, etc.) to compare and contrast them. 3) Survey Model-Based Engineering in other disciplines (e.g., civil, mechanical,) comparing them with MBSE. 4) From a macro-economic perspective, evaluate the cost-benefit of Model-Based Engineering for software. 5) Critically analyze advances in automatic programming from a feasibility perspective and outline how these implications are relevant for software today. 6) Survey applications of Product-Lines to software systems and present arguments for a Model-Based Engineering approach. 7) Critically analyze transformation technology in the production of Model-Based/Driven Engineering software solutions. 8) Survey studies of Model-Driven Architecture (MDA) for the state-of the practice and outline key criteria for success and failures. 9) Suggest one that you would be more motivated to do!

Homework and Milestone Reminders Read Case Study Paper Model-Driven Systems Engineering by Balmelli et. al. To be discussed in Class this Thursday Do assigned questions and bring document to class Be prepared to discuss and even lead the discussion Term Paper Proposal due tonight by 11:55pm Milestone 3: Light-Weight Transformation Environment (see Milestone 3 assignment) Due by 11:55pm, Friday, April 29 th, 2011.