Systems Engineering in good shape: it’s changing.

November 27, 2009

I started to write in English several lines a day. Today I remembered about my English blog. I will post here my various English writings that are not easily available in other ways (e.g. this post is made of excerpts from discussion with Kent Palmer in Systems Engineering Google Wave — https://wave.google.com/wave/#restored:wave:googlewave.com!w%252Bi8fNaszLA).

* * *

Dr. Harold “Bud” Lawson [http://en.wikipedia.org/wiki/Harold_Lawson] has writings about connection between Systems Thinking (research) [http://en.wikipedia.org/wiki/Systems_thinking] and Systems Engineering (fabrication). These are two sides of the same coin. When we develop a System (as engineers) then we start with Structures in our mind and finish with real System that has a Behaviour. And this behaviour is different from planned. Then we should observe this behaviour (as researchers, thinkers) and build corrected structures in our mind — to permit new engineering cycle.

* * *

Usually I provide no less than 6 definitions of Systems Engineering. A couple of them […] (in very short form, e.g. without mentioning stakeholders and collaboration):

1. SE is a method of any doing while having descriptions in terms of systems and models.

2. SE is the common part of all engineering courses (software engineering, mechanical engineering, aerospace engineering etc.). Usually this is about requirements, architecture, using of models, validation and verification, life cycle, etc.

There is a discussion about software engineering and computer science. Computer science is about Systems Thinking part (about suggestion of mental Structures such as algorithms, stacks, relational approach to databases, etc.). Software Engineering is about “doing” — beginning from requirements for that endeavour, architecture for this task, pair programming, acceptance testing, etc.

It is interesting that software engineering and systems engineering are almost the same now: almost all hardware systems are software-intensive systems. Difference in hardware and software engineering is not in the system engineering part, but in specific methods part (e.g. labeling for configuration management: hardware can have RFID labels, software can have tags for this — but principle of configuration management will be the same, and this is SE).

* * *

Today’s most common discussion about paradigm shifts of SE is:
– agile instead waterfall life cycle model and emergence
– quality case as a mean to deal with emergence fenomena (ilities)
– systems of systems (different sentinel systems as collective owner of system-of-interest)
– model-based systems engineering and domain languages integration (ontology-based data integration)

Each of these is sufficient to provide paradigm shift.

I am not sharing […] pessimism about contemporary Systems Engineering and absence of it’s paradigm shift.

[…] Software Engineering quickly became Systems Engineering! There are several areas of it:

a) Software Process (life cycle model of software development, using and maintenance) is really abstract today to reflect simply “Doing Process”. There are differences between Life Cycles of Hardware, Software, Humans and Organizations, Technology Platforms etc., but ontology of Engineering is mostly the same. The first wave of this unification was with “software-intensive systems”, second wave will be with “human-intensive systems” (current ISO 15288 tell that people may or may not be included in System structure. Next version of it definitely will insist to include people).

b) In the last 10 years Software Engineering has become Model-Oriented Software Engineering. This Models are Models of The Systems, not models of the program code. There is DSLs movement in Software Engineering today. This is not pure Software movement: drawings in construction and mechanical engineering are DSLs that are “computed” by people. Contemporary CADs are simply DSL workbenches. This is already not Software Engineering, this is Systems Engineering now (with computer used as contemporary pencil and paper for drawing, this is not too much “software flavour” in DSL use in Hardware Engineering).

[…]

Meta-system transition is well described by Valentin Turchin. This transition is very common in software engineering. But it is common in contemporary engineering too: you should mention rise of interoperability standards. All these standards stem from Common Architectures (that define Interfaces for this standards). This is meta-system transition that gave us Power Grid, Cellular Phone, RailRoads and other infrastructures (including Internet and even Google Wave that stem from Protocol — http://www.waveprotocol.org/).

It seems to me that development of Systems Engineering already is underway: “The future is already here, it’s just not evenly distributed” (quote by William Gibson).

When you cross data modelers at big engineering firms they tell you strange thing: they are neither IT-people, nor specialty engineers. They are “blue collar philosophers” as named them Douglas Lenat from CYC.com.

Nature is not divided by faculties. [We] should not worry about Systems Engineering: it is not just changing it’s content, it is changing it’s boundaries.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: