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

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

Model-Driven Architecture/ Development

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

CSSE 490 Model-Based Software Engineering: Software Factories

CSSE 490 Model-Based Software Engineering: Domain Engineering

CSSE 490 Model-Based Software Engineering: Transformation Systems

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

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

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

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

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

CSSE 490 Model-Based Software Engineering: Introduction to MetaModels

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

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

Course Microsoft Dynamics 365 Customization and Configuration with Visual Development (CRM)

CSSE 490 Model-Based Software Engineering: Transformational Programming

We are at System Operation Contracts

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 374: Even More Object Design with Gang of Four Design Patterns

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Introduction to Model-Driven System Development

The Rise of the (Modelling) Bots: Towards Assisted Modelling via Social Networks

Improving Military Information Technology Through Common Conceptual Models

Model Driven Engineering (MDE)

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

Chair of Software. Engineering. Overview. School of Business Informatics and Mathematics. 1. Find out why software engineering is important

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

MDSE PRINCIPLES. Chapter #2

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Car Sounds with JavaScript

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

A Model-driven approach to NLP programming with UIMA

SharePoint 2013 End User Level II

Defining Domain-Specific Modeling Languages

Advanced Solutions of Microsoft SharePoint Server 2013

Saving the Project Brief document under its own name

Introduction to MDE and Model Transformation

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Methods for the Development

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

Advanced Solutions of Microsoft SharePoint Server 2013 Course Contact Hours

Gaggle 101 User Guide

Logical Architecture & Design Preliminaries

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

The PISA Project A Model Driven Development case study

55033: SHAREPOINT 2013 SITE COLLECTION AND SITE ADMINISTRATION

Orthographic Software Modeling A Practical Approach to View Based Development

SharePoint 2013 Site Collection and Site Administration

CSCU9T4: Managing Information

Overview of lectures today and Wednesday

Kahootz is a Department of Health approved cloud-based site that provides a secure Online Workspace. GUIDANCE FOR MEET THE SUPPLIER WORKSPACE

Module 3. Overview of TOGAF 9.1 Architecture Development Method (ADM)

Model Driven Architecture

Work like a startup! TUT Software Startup Day. Harri Kiljander, Dr. Tech

Course Outline. Microsoft SharePoint Server 2013 for the Site Owner/Power User Course 55035: 2 days Instructor-Led

SharePoint 2016 Power User

How to Create a Campaign Role of the Campaign Coordinator

Recalling the definition of design as set of models let's consider the modeling of some real software.

LOG INTO THE ACCOUNT PROFILE... 2 CREATE YOUR PERSONAL FUNDRAISING PAGE... 2

Medicine Web Refresh 2011

MICROSOFT SHAREPOINT SITE OWNER S MANUAL. Creating a Useful, Engaging Site for your Team to Love

INF5120 and INF9120 Modelbased System development

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Advanced Solutions of Microsoft SharePoint 2013

SharePoint 2013 End User Level II

55035: Microsoft SharePoint Server 2013 for the Site Owner/Power User

Model Driven Engineering

All you need are models Anneke Kleppe, Klasse Objecten

ACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011

WEB DESIGN QUESTIONNAIRE

QoS-aware model-driven SOA using SoaML

ATL Transformation. Catalogue of Model Transformations

GMF Tooling 3.0 Vision, Architecture, Roadmap

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

COURSE PROFILE: ENVISION USER TRAINING

So your boss just bought Guestfolio Now what?

Programming Languages and Program Development

CONTENT CALENDAR USER GUIDE SOCIAL MEDIA TABLE OF CONTENTS. Introduction pg. 3

+ Why arewe at this workshop? + What are we hoping to get from it? + What are we hoping to contribute to it?

SharePoint Online Power User

Simplify The Digital Transformation

Architectural Blueprint

CIS4930 / CIS6930: USER EXPERIENCE DESIGN INSTRUCTOR: DR. LISA ANTHONY

INTRODUCTION. Chapter #1

TRANSITIONING PROJECTS TO A MODEL-BASED APPROACH

WIREFRAMING 101. Essential Question: Can We Possibly Build an App? Learning Targets: Lesson Overview

Introduction to Model Driven Engineering using Eclipse. Frameworks

AADL Graphical Editor Design

AVANTUS TRAINING PTE PTE LTD LTD

with openarchitectureware

USER EXPERIENCE DESIGN IMMERSIVE GA.CO/UXDI

COMP390 (Design &) Implementation

BLU AGE 2009 Edition Agile Model Transformation

Microsoft SharePoint 2013 for SharePoint Readers, Authors and Site Managers

MDSE USE CASES. Chapter #3

CIS 3730 FALL 2008 Database Management System Project

SharePoint Online Power User

MGA Developing Interactive Systems (5 ECTS), spring 2017 (16 weeks)

Transcription:

CSSE 490 Model-Based Software Engineering: MDSD and Case Study 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. Outline major elements of MBSE Examine transition from traditional to modelbased development Introduce the Milestone 1 assignment Q3

Traditional Software Development Gather Requirements & Design it Build it Images by Johan den Haan, Mendix.nl

Model-Based Software Engineering a.k.a. Model- Driven So=ware Development (MDSD), MDD, MDA, MDSE Model it Generate it Images by Johan den Haan, Mendix.nl

So, what would you do differently for a situation like the following? You are the software developer for your firm s (Acme, Corp.) webbased social network system (Acme Facebook J ). You are working on AFBE for collaborative engineering projects. It was such a hit that they want you to do it for the marketing and human resources folks in the coming year. You have been told that next year you are to write your AFB application for some of your business partners in the 5 key product lines. The boss is already starting to talk like they would like to make AFB a product-line itself as it looks like it could be a revenue generator. Think for a minute Turn to a neighbor and discuss it for a minute Q2

Model-Based Engineering Essentials Everything is a Model Models used for Simulation Software is a simulation in operation Start with understanding Application Domain Domain Engineering Specify System Generate System Repeat Populate Repository and Refine Knowledge Q1,2

Leading w/ Limitation: Observations about Architecture Centric MBSE Software System Families as opposed to unique items Architecture Centric Design Forward engineering (no emphasis on Roundtrip) Model-to-Model transformation for modularization Source code generation without explicit use of target Metamodel Not 100% generation 60-80% with HITL Q3,4

Basic Model Layers One or model levels per layer Mappings and Transforms between models Mappings Transforms Computation Independent Models Platform Independent Models Platform Specific Models Q5,6

Computational Independent Model (CIM) What is it? Computation Independent Models not well documented provides contexts and constraints to other layers description of the environment requirements constraints of the system domain models For a house county building code budgetary constraints available suppliers lot details For software budget constraints best practices/style guides available resources

Platform Independent Model (PIM) Platform Independent Models What is it? Description of what the system does, but not necessarily how it does it A complete specification of the system without platform details House Example blueprints artists renditions wiring diagrams Software Example Class diagrams Interaction diagrams State diagrams

Platform Independent Model (continued) Business Logic Models the core system Problem Specific Services Defined by developers of the PIM Domain Specific Services Lexicon Query Service, Pervasive Services Naming, directory, transaction, security Business Logic Problem Specific Services Domain Specific Services Pervasive Services

Platform Specific Model (PSM) What is it? Abstraction layer on top of the actual platform May provide skeletons for low level details to be filled in Platform Specific Models House Example chalk lines and markers noise penetration measures Software Examples middleware platforms code in high level languages templates and skeletons

Model-Base Engineering for High- Performance Reconfigurable Computing Specific Application Models (Software Defined Radio) Computation Independent Models Application Domain Models (ADM) (e.g., Digital Signal Processing) Application Components Models (ACM) (e.g., NCO, MUX, Filters) Platform Independent Models Architecture Specific Models (e.g., Xilinx, Altera) High Level Language Development Environment Platform Specific Models

MBE-HPRC Strategy/Issues Application Components Models (ACM) (e.g., NCO, MUX, Filters) Use Compose Complete /Correct Models? Complete Mappings? Automated Transforms? Manual (HITL) Transforms? Populate Model Repository Architecture Specific Models (ASM) (e.g., Xilinx, Altera) Generate Complete/Correct Models? Complete Mappings? Automated Transforms? Manual (HITL) Transforms? High Level Language Development Environment

An Example Architecture Interaction through a graphical editor Assembly and Transformations enabled through tools Use of OCL Parsers are key XML-based interchange JET for final transforms OCL Profiles OCL Interpreter Graphical Editor Mapping Profiles OCL Generator JET Templates xadl Framework XML Data Binder XML Parser xadl-based Model Manager Model Compiler/Code Generator Model Repository

Software Defined Radio Prototype

Homework Discussion Assignment: Create an application that keeps tracks of the information in such a simple social network. The application allows for user profiles to be added to, deleted from, or looked-up in the social network For each profile, you will keep track of: Person's name associated with that profile An optional image that the person may wish to display with the profile An optional "current status" for the profile (just a String indicating activity the owner is currently engaged in) A list of friends for each profile

Case Study Discussion: What makes Car Sharing a reasonable application for MBSE? Do you think their approach was transform driven? Why? Using the Architecture Driven approach, what was the significance of the Metamodel/ Profile Implementation? What was the role of Template programming?

Basic FacePamphlet

Adding a Person Shawn Bohner Shawn Bohner

Changing Status Shawn Bohner Shawn Bohner Shawn Bohner

Change/Add Picture Shawn Bohner Shawn Bohner Shawn Bohner

Other features Similarly you can: Add others to the system Delete them List them as your friends Etc. I will put the DETAILED description and a demo app on Angel tonight or by tomorrow This is an assignment given to first year CS students at Stanford to complete in about 2 weeks with 5 team members, you should be able to finish in a week Keep Model-Based Engineering in mind!

Homework and Milestone Reminders Read Chapter 4 of MBSD Text Concept Formulation Let s talk tomorrow about the project this term