Posts

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

SIG Update 202010

  Previously published on 04/10/2020 for the  Model Based Engineering SIG  Meetup group Hi All, Welcome to the monthly newsletter for October 2020.  In this update we'll cover the following. Next Meetup Planning Sparx Systems Updates Next Meetup Planning We normally have our quarterly meetups occur, just after the start of the school term.  We haven't settled on a date, but it will probably be the 14th or 28th of October.  We'll publish the event on Meetup, and we'll also send a reminder out to let people know. Sparx Systems Updates Enterprise Architect 15.2 has now officially been released.  As summary of the features in this new version can be found  here . Upcoming Webinars: 08/ 10  -  Cloud Architecture Modelling using Enterprise Architect 15/ 10  -  Enterprise Architect for Business Analysis - Import Requirements from MS Word and MS Excel 22/ 10  -  Enterprise Architect and ArchiMate Motivation Models New Videos: Enterprise Architect 15.2 Streamlined & Improved

Gentleman Modeler

I had a bit of a crisis of confidence a little while back... a couple of months ago... a bit hyperbolic, I know, but I asked myself... Basically, what the hell am I doing?... Really, what do I know about modeling?  Have I got any business writing a blog about this? The internet is full of ignorance.  Am I just adding my ignorance to the sum total.  Am I making things a bit better, or am I just making things worse? In my day to day work I draw diagrams illustrating various aspects of a solution.  These serve a purpose, they generally get the job done, but they do not represent models.  I lack confidence that these diagrams meet a strict definition of a model.  I use UML, BPMN, ArchiMate, and whatever else is required, but I hardly consider myself an expert in any of these graphical languages.  I don't know anybody who is an expert in these languages.  I get by, and I hope that what I produce is helpful. I do believe that modeling is the one thing that can lift modern IT, in all of i

SIG Update 202009

Previously published on 12/09/2020 for the  Model Based Engineering SIG  Meetup group Hi All, Welcome to the monthly newsletter for September 2020 - a little late this month.  In this update we'll cover the following. Sparx Systems Updates Cloudy Models Post Summary Sparx Systems Updates Enterprise Architect 15.2 has now officially been released.  As summary of the features in this new version can be found  here . New Videos: Enterprise Architect 15.2: Chat, Discussions and the Collaborations window Enterprise Architect for Business Analysis Requirements Management MATLAB and Simulink Integration in Enterprise Architect 15.2: State Machine Vaccine Trial MATLAB and Simulink Integration in Enterprise Architect 15.2: State Machine Lottery Example MATLAB and Simulink Integration in Enterprise Architect 15.2: Part 1 JavaScript Solver MATLAB and Simulink Integration in Enterprise Architect 15.2: Part 2 MATLAB Console SysML Simulation Plotting using Simscape Using SysPhs for Model Based S

Return Enumerated Type Pattern

Similarly to the Return Wrapped Object Pattern , this one involves reading the EA value for an enumerated attribute value and returning a corresponding object. get objectType() { return ObjectType.fromCode( this.wrappedObject.ObjectType ); } The code stored by the native attribute ObjectType is decoded by the ObjectType enumerated type, and the enumerated value object is returned.

Return Wrapped Object Pattern

Any time we have an EA object return another object we need to catch the operation and return an equivalent wrapper for the object returned.  To handle these cases we use the Return Wrapped Object Pattern , which is illustrated by the following example code. get element() { return this.elementFactory.newElementWrapper( this.wrappedObject.Element ); } That is a getter is defined for the wrapper class which calls a factory method to return the wrapped equivalent. A variation on the above is when an EA object refers to the ID or the GUID of a related object.  For these cases a variation on the previous pattern can be used to achieve the same result. get parent() { return this.repository.getElement( this.wrappedObject.ParentID ); } That is, a getter is defined for the wrapper class which calls the repository object (actually the RepositoryWrapper object) to retrieve the relevant ElementWrapper corresponding to the ID in question.   Note that getEle

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 can bring in