Job No/ 1 © British Crown Copyright 2008/MOD Developing a High Integrity Code Generator Using iUML/iCCG Sam Moody AWE plc, Aldermaston, Berkshire, United.

Slides:



Advertisements
Similar presentations
Fraunhofer FOKUS Competence Center MOTION FOKUS VIEW ON MODEL-BASED TEST DESCRIPTION LANGUAGES (TDLS) Alain-G. Vouffo Feudjio.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Omnibus: A clean language and supporting tool for integrating different assertion-based verification techniques Thomas Wilson, Savi Maharaj, Robert G.
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient High-integrity Multi-core Systems Artemis-AAL day 7 May, Budapest 1BME and.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Chapter 6: Design of Expert Systems
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Executable UML By Luca Pellicoro. Definitions Acronym: xtUML or xUML Technology where models (such as state diagrams and class diagrams) are automatically.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Adopting MDA for Avionics Systems Chris Raistrick, Kennedy Carterwww.kc.com March 2005.
Chapter 7: System models
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
UML based dependability modeling, analysis and synthesis Proposers: TU Budapest: A. Pataricza, Gy. Csertán, I. Majzik, D. Varró PDCC Pisa: L. Simoncini,
Introduction to MDA (Model Driven Architecture) CYT.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A language to describe software texture in abstract design models and implementation.
System models l Abstract descriptions of systems whose requirements are being analysed.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
© Andrew IrelandDependable Systems Group On the Scalability of Proof Carrying Code for Software Certification Andrew Ireland School of Mathematical & Computer.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
™ ™ Assurance Ecosystem Djenana Campara Chief Executive Officer, KDM Analytics Board Director, Object Management Group (OMG) Co-Chair Software Assurance.
© Andrew IrelandDependable Systems Group Static Analysis and Program Proof Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University.
Welcome Experiences in the Use of MDA and UML in Developing NATO Standards 16 July 2008 Chris Raistrick, Kennedy KC.COM.
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.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Author Software Engineering Institute
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
© The ATHENA Consortium. CI3 - Practices of Interoperability in SMEs Proposed Solutions.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Nr: 1 FGAN Research Institute for Communication, Information Processing, and Ergonomics KIE Reengineering an Ada95-programmed Command and Control Information.
Model Driven Performance Analysis University College London James Skene –
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Model Driven Architecture
The Extensible Tool-chain for Evaluation of Architectural Models
Constructing MDA-based Application Using Rational XDE for .NET
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Job No/ 1 © British Crown Copyright 2008/MOD Developing a High Integrity Code Generator Using iUML/iCCG Sam Moody AWE plc, Aldermaston, Berkshire, United Kingdom

Job No/ 2 © British Crown Copyright 2008/MOD Outline l Motivation l Building a code generator with iUML/iCCG l Application Development with iUML l Current Results l Other work exploring xUML

Job No/ 3 © British Crown Copyright 2008/MOD Motivation l Historically development has been based on bespoke processes l Research advances in software engineering in academia and industry l Links AWE formal methods research to commercial toolsets l Explore code generation l Combined with tried and trusted high integrity tools such as the SPARK toolset

Job No/ 4 © British Crown Copyright 2008/MOD Challenging Requirements l We must demonstrate 100% freedom of anomalous behaviour l 30 year working life cycle l Not to be maintained l Process and design must be understood over life

Job No/ 5 © British Crown Copyright 2008/MOD Tool Selection – Why xUML l UML is the prevalent modelling technology in use by the software industry at large l UML suffers semantic weaknesses l Precise Executable profile of the Unified Modelling Language (xUML) l Adds Action Semantics to Standard UML Diagrams l Supports Model Driven Architecture

Job No/ 6 © British Crown Copyright 2008/MOD Tool Selection – Why Kennedy-Carter l Interested in the application of static techniques l A business model which encourages technology transfer l Code generators built using the xUML formalism l Models are platform independent with full behavioural specification defined in ASL l No need to embed target code (i.e. SPARK, Ada or C)

Job No/ 7 © British Crown Copyright 2008/MOD Outline l Motivation l Building a code generator with iUML/iCCG l Application Development with iUML l Current Results l Other work exploring xUML

Job No/ 8 © British Crown Copyright 2008/MOD Building a code generator with iCCG Implementation Definition of Mapping Rules Requirements of software platform Code Generator

Job No/ 9 © British Crown Copyright 2008/MOD Code Generator Development with iUML l iCCG is a meta-model of the entire xUML profile itself in xUML l The classes in the iCCG are instantiated by the model for which code is to be generated l Operations added in ASL to target code generation to the desired language – ie. SPARK l Existing xUML code generators include targets such as C, C++, Java and Ada

Job No/ 10 © British Crown Copyright 2008/MOD Extract of the iCCG Meta-model Class Attribute Operation © Copyright Kennedy Carter Ltd Reproduced with permission

Job No/ 11 © British Crown Copyright 2008/MOD Building a code generator with iCCG

Job No/ 12 © British Crown Copyright 2008/MOD Building a code generator with iCCG

Job No/ 13 © British Crown Copyright 2008/MOD Building a code generator with iCCG l Precise xUML model of xUML l The same formalism used for application and code generator development l The code generator design will have longevity l Transformation rules are readily understandable l Allows different implementations to be targeted

Job No/ 14 © British Crown Copyright 2008/MOD Outline l Motivation l Building a code generator with iUML/iCCG l Application Development with iUML l Current Results l Other work exploring xUML

Job No/ 15 © British Crown Copyright 2008/MOD Application Development Write Annotations in description field Write ASL in the method field Examiner report Skeleton Class Diagram Generate SPARK code and Analyse with SPARK toolset Executable Model

Job No/ 16 © British Crown Copyright 2008/MOD Development Process – Model Annotation l Code generator provides ‘low-level’ embedded annotations l “Inherits”, “Owns” and operations supporting the formalism l Analyst provides annotations for the design on xUML active elements l i.e. State Actions and Operations

Job No/ 17 © British Crown Copyright 2008/MOD xUML Skeleton Design

Job No/ 18 © British Crown Copyright 2008/MOD xUML Annotated Design

Job No/ 19 © British Crown Copyright 2008/MOD xUML Annotated Design

Job No/ 20 © British Crown Copyright 2008/MOD xUML Executable Design

Job No/ 21 © British Crown Copyright 2008/MOD Multi-Domain Bridge CPR1

Job No/ 22 © British Crown Copyright 2008/MOD Multi Domain l Supports complete analysis on domain by domain bases l Domains can be implemented and tested in isolation l Bridges analysed in context of relevant domain l Minor constraints on xUML bridges

Job No/ 23 © British Crown Copyright 2008/MOD Outline l Motivation l Building a code generator with iUML/iCCG l Application Development with iUML l Current Results l Other work exploring xUML

Job No/ 24 © British Crown Copyright 2008/MOD Current Status l Successfully analysed a representative model using SPARK Examiner l Generation of SPARK from multi domain xUML models l Process defined to allow complete system analysis l Supports all SPARK ‘core’ Annotations l Only minor restrictions on xUML

Job No/ 25 © British Crown Copyright 2008/MOD Outline l Motivation l Building a code generator with iUML/iCCG l Application Development with iUML/iCCG l Current Results l Other work exploring xUML

Job No/ 26 © British Crown Copyright 2008/MOD SystemB Project l Automatic generation of CSP||B specifications from xUML models l Generator built using Kennedy Carter tools l Generator based on model-text transformations l Verification of CSP||B specifications using ProB and FDR l Provides greater assurance in UML models than is possible within Kennedy Carter tools xUML MetaModel xUML ModelCSP ModelCSP||B Model SystemB CCG

Job No/ 27 © British Crown Copyright 2008/MOD Summary l Code generator is itself captured in a precise industrially accepted format l The resulting code is produced from a precisely defined, traceable process l Generated code can be statically checked for correctness l Provides additional rigour to development cycle l Development can begin earlier before Hardware is available or known. l Knowledge captured is likely to have longevity

Job No/ 28 © British Crown Copyright 2008/MOD Questions ?