Posts

Showing posts with the label MDSE In Practice

MDSE In Practice - Chapter 6 - Reading Notes

 Chapter 6 - Modeling Languages At A Glance 6.1 Anatomy of Modeling Languages Ingredients: Abstract syntax, Concrete syntax, Semantics GPL - General Pruposes Language.  DSL - Domain Specific Language. Semantics can be defined as Denotational Operational Transactional 6.2 Multi-View Modeling and Language Extensibility Used to model orthogonal aspects of a system. Typical: static/structural & dynamic. Extensibility.  Sometimes GPL+specialization -> DSL e.g. UML->SysML, SoaML 6.3 General-Purpose Vs Domain Specific Modeling Languages DSLs - "are languages that are designed on purpose for a specific domain, context, or company, to support people who need to describe things in that domain." GPL - "represent modeling notations that can be applied to any sector or domain for modeling purposes." While UML might be faulty we know its faults.  Beware of creating your own UML. 6.4 General-Purpose Modeling: The case of UML Well known & understood. Full-fledged lang...

MDSE In Practice - Chapter 5 - Reading Notes

 Chapter 5 - Integration of MDSE In Your Development Process MDSE Is process agnostic Does not define which models must be used. Integrating MDSE can be complex.  One code generator a MDSE integration does not make. 5.1 Introducing MDS In Your Software Development Process Technical and non-technical aspects should be taken into account. Major challenges The imbalanced distribution of efforts & rewards among team members. The lack of socio-technical congruence. 5.1.1 Pains & Gains Of Software Modeling If the pains of modeling are separated from the gains of modeling, in particular with respect to individual staff.  Those that are subjectively burdened with the pains may doubt that their effort is worthwhile. Therefore, when the work distribution among the members separates the pains and gains of modeling, we must adopt policies that recognize (and compensate for) those differences. 5.1.2 Socio-Technical Congruence Of The Development Process The introduction of MDSE...

MDSE In Practice - Chapter 4 - Reading Notes

Chapter 4 - Model Driven Architecture (MDA) OMG (Object Management Group) Standard Not a specification, rather an approach to system development.  Relies on  UML - Unified Modeling Language MOF - Meta Object Facility UML Profiles - SysML, SoaML, MARTE, CCM 4.1 MDA Definitions & Assumptions Core Definitions: System, Model, Architecture, Platform, Viewpoint, View, Transformation 4.2 The Modeling Levels: CIM, PIM, PSM CIM - Computation Independent Model Most abstract.  It represents exactly what the solution is expected to do, but hides all IT related specifications. Also referred to as a business model or domain model.  Use vocabulary familiar with SMEs. PIM - Platform Independent Model Represents aspects of the CIM that will be solved using a software-based solution while remaining independent of any concrete implementation framework. PSM - Platform Specific Model 4.3 Mappings Correspondence between elements of two different models Mappings also referred to as "tr...

MDSE In Practice - Chapter 3 - Reading Notes

Chapter 3 - MDSE Use Cases Premier use-case - software development automation (or MDD). Most common use-case in organisations. 3.1 Automating Software Development Typical process: Requirements (M2M)=> Analysis (M2M)=> Design (M2T)=> Implementation Bridging communication gaps in an organisation Code Generators - range of capabilities Executable UML. ALF - Action Language for fUML Code Generation & Model Interpreters 3.1.1 Code Generation Can be seen as being a similar process to the compilation of source code into object code. Partial Vs Full Generation - Pros & Cons Advantages of Code Generation Intellectual Property of model is easier to maintain - currently. Standard output (i.e. a programming language) Choice of runtime environments Reuse of existing programming artifacts Easier to maintain vs an interpreter Partial generation an option Better performance vs an interpreter Cons Output usually looks different to what developers are used to. Interesting idea of a appl...

MDSE In Practice - Chapter 2 - Reading Notes

Model-Driven Software Engineering In Practice  - Chapter 2 - Reading notes 2. Introduction "MDSE is conceived as a tool for ... transforming models into first-class citizens in software engineering." 2.1 MDSE Basics Aspects Concepts Models and Transformation (Models + Transformations => Software) [Transformations do not necessarily need to be programmatic, they could be manual.] Notations - Models are expressed in a particular notation, depending on the domain. Process & Rules - These inform what models should be used, in what order and how they should be used. Tools - We need tools to make all these feasible. "Everything is a model" Drawing != Modeling.  Advantages of Modeling: Syntactical validation, model checking, model simulation, model transformation, model execution, model debugging.  [When is model simulation different from model execution?] 2.2 Lost In Acronyms: The MD* Jungle See  here  for Jordi Cabot's blog for equiv...

MDSE In Practice - Chapter 1 - Reading Notes

Model-Driven Software Engineering In Practice  - Chapter 1 - Reading notes 1. Introduction It is natural for the human mind to form abstractions (generalisations, classifications, aggregation). Informal definition of a model: "a model as a simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement on a topic." This implies that a "model will never describe reality in its entirety." [Modeling is natural to humans.  We implicitly use models to help us understand the world.  Even computer programs are models, in a sense.] [As useful as models are, we must be cognizant of the inherent constraint that they do not give a 100% representation of reality.  This is particular true of those models which are defined as being references or blueprints in some form.] 1.1 Purpose and Use of Models Ubiquity of models in diverse fields (Maths, Physics, Philosophy of Science, Engineering). Roles for models Reduct...