Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering.

Slides:



Advertisements
Similar presentations
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Advertisements

Ch.21 Software Its Nature and Qualities. Ch.22 Outline Software engineering (SE) is an intellectual activity and thus human-intensive Software is built.
Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Automatically Extracting and Verifying Design Patterns in Java Code James Norris Ruchika Agrawal Computer Science Department Stanford University {jcn,
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Course Instructor: Aisha Azeem
Introduction to Software Testing
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Domain-Specific Software Engineering Alex Adamec.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
What is Business Analysis Planning & Monitoring?
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
Chapter : Software Process
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 2 The process Process, Methods, and Tools
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Lecture 7: Requirements Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Formal Methods.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
CS4311 Spring 2011 Process Improvement Dr
Security SIG in MTS 05th November 2013 DEG/MTS RISK-BASED SECURITY TESTING Fraunhofer FOKUS.
Complexity Time: 2 Hours.
Software Requirements
Software engineering.
Model-Driven Analysis Frameworks for Embedded Systems
Introduction to Software Testing
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering

OUTLINE  Motivation  Challenges & Planned Solutions – Elaboration of framework for good practices & their assessment – Formal analysis of this framework – Application in industrial settings  Conclusion 2

MODEL TRANSFORMATION STATU QUO 3 GReAT ProGReS MOLA DSLTrans QVT

WHAT IS MISSING? Good practices to design transformations – Pragmatics, “intuitions” – Design patterns / anti-patterns Assessments of high quality transformations – Quality Criteria – Evaluation techniques – Metrics 4

WHAT WE PROPOSE 1.Define quality criteria based on existing transformations 2.Identify & classify well-founded MT design patterns with proven quality 3.Support MT engineers by integrating patterns in their design in an automated manner 5

DESIGN PATTERN CATALOGING Goal: Build a repository of design patterns for MT development 6

PATTERN IDENTIFICATION Identify & discover recurrent patterns in model transformation – Completeness issue (see GoF) – Systematic process 7

PATTERN IDENTIFICATION Examine a large set of data – Academic, Industrial – Repositories: ATL transformation zoo, ReMoDD, tool contests, benchmarks – Case studies from literature 8

PATTERN IDENTIFICATION Discover new patterns – Map GoF patterns to MT paradigm  What does Visitor, Proxy, Composite, etc. mean? – Be creative! 9

CAVEAT PATTERN IDENTIFICATION CAVEAT General-purpose vs. Domain-specific MT patterns – Copy elements from source to target model – Animate a state-transition modeling language Language independence – Declarative/imperative, Unidirectional/bi-directional, Implicit/explicit control flow, In-place/out-place/exogenous/endogenous – Application scenarios Level of granularity – Rule level – Multiple rules may be required to perform single task – Re-usable libraries of transformation snippets – Composition of patterns 10

PATTERN FORMALISM Facilitate understanding, documenting, communicating, and reasoning about the patterns in a standard way Must be language independent – MOF-like languages – Use of generics/templates – DSL for describing transformations Syntax: – Concise MT patterns – Canonical form Semantics – Well-defined formal semantics – Facilitate analysis Support for higher-order transformation: fully modeled language 11

QUALITY ASSESSMENT OF MT Goal: Define quality attributes & propose framework where transformations are guaranteed to satisfy these criteria 12

QUALITY CRITERIA IDENTIFICATION Quantifiable attributes Techniques to measure them Techniques to evaluate transformations 13

CORRECTNESS Degree to which transformation adheres to a set of requirements Evaluated by V&V techniques Key is to make use of traceability links in a transformation 14 Inspired by ISO 9126

RE-USABILITY Ease of re-using a transformation Modular composition of transformation units, rules, complete transformations – Modular transformations (MoTif) – Generic transformations (VIATRA) – Higher-order transformations (ATL, AToM 3 ) 15 Inspired by ISO 9126

EFFICIENCY Relationship between performance of execution & amount of resources used under specific conditions Benchmarking Optimization at implementation level, but also at design level Ability to handle large models and complex transformations (fan- in/out) 16 Inspired by ISO 9126

RELIABILITY Frequency & criticality of a transformation to behave in an unacceptable manner under permissible operating conditions Security – Fault-tolerance techniques – Exception handling Usability – Ensure invariant properties 17 Inspired by ISO 9126

MAINTAINABILITY Effort needed to modify the transformation to satisfy new requirements or correct deficiencies Model & transformation evolution techniques can be applied 18 Inspired by ISO 9126

INTEROPERABILITY Cooperation between a given model transformation and other systems: transformation models & other software Model composition Conform to a common standard serialization of models for I/O 19

QUALITY CRITERIA IDENTIFICATION Define quality attributes at coarser level Implement techniques to measure these quality criteria 20 ?

V&V OF TRANSFORMATION PATTERNS How to verify the MT design patterns against the quality attributes? 21 Quality Criteria Formal Properties Model Checker MT pattern Domain meta-model Result

ASSISTED DESIGN OF MODEL TRANSFORMATION Goal: Reduce negative impact of model transformation in complex projects Deep knowledge of semantics of transformation language – Rule scheduling – Attribute/constraint specification – Control logic 22

THE ULTIMATE MODEL TRANSFORMATION IDE Detect design patterns based on the pattern catalog during the development of transformations Detect a non-exact match of a cataloged pattern & propose a resolution to make it compatible with catalog 23

PATTERN DETECTION Problem: transformations are defined in a declarative way – Hampers maintenance tasks Techniques to detect MT pattern in a given MT – Stochastic based on design space exploration – V&V techniques to statically analyze MT & derive structural/behavioral correspondences with existing pattern – Or re-use MT techniques to detect patterns 24

HOT FOR DETECTING PATTERNS 25

RESOLUTION OF ILL-FORMED DESIGN Goal: Improve non-functional properties of the transformation almost similar Detect design patterns in a given transformation that are almost similar to one from the catalog 26

RESOLUTION OF ILL-FORMED DESIGN Detect non-exact matches Stochastic, search-based techniques to detect similarities between fragments of an MT – Search-based – Transformation by demonstration  Advanced IDE that records examples of how to use a design pattern Evaluation of detection can only be done empirically, by observation 27

CONCLUSION Quality Criteria Design Patterns meeting criteria Automated assistance for MT development Your suggestions are vital! Topics for afternoon discussion? 28