Bruce_Douglass
Bruce_Douglass
  • 28
  • 73 470
Six Dimensions of SW Architecture
This is a talk I gave to a university class on software architecture. In it, I discuss what is design, how architecture is a kind of design, provide some overall architecture development guidelines, and talk about the six key dimensions of software architecture.
มุมมอง: 818

วีดีโอ

Lunch n Learn 8 MBSE and Safety Analysis
มุมมอง 1.3K2 ปีที่แล้ว
Many systems have safety concerns that must be addressed. This session talks safety concerns and how these concerns can be modeled and analyzed in UML and SysML models, how such work products as fault tree analysis and hazard analysis can be created, and provides workflows to incorporate their development and use in the systems engineering process. This includes a short discussion of the emergi...
Lunch n Learn 7 Model Based Testing
มุมมอง 1.3K2 ปีที่แล้ว
Models are most commonly used to develop specifications and designs. However, models can also be used to specify testing information and structures, as exemplified in the UML Testing Profile standard. This session focuses on the relevant aspects of testing - test case development, constructing test architectures, applying the tests, and managing test verdicts - in the UML or SysML. While covera...
State Machine Corner Episode 7: The Pseudostate Awakens
มุมมอง 4002 ปีที่แล้ว
In this episode, we discuss pseudostates - those special little widgets on state machines. Initial, Final, Junction, Choice Point, Fork and Join - these annotations add special semantics to state machines. All add value to state machine expressiveness but tools don't implement them correctly in all cases. Both Rhapsody and Cameo deviate from the defined semantics of the UML and SysML standards,...
INCOSE Lunch n Learn 6: Hand off from Systems Engineering
มุมมอง 7502 ปีที่แล้ว
This session focuses on a very common question: how do I take the systems engineering data held in models and effectively communicate that information to downstream implementation disciplines, such as software, electronics, and mechanical engineering? The talk provides a workflow and a definition of work products that effectively share systems engineering data in forms usable by downstream engi...
Lunch n Learn 5 Model Based ICDs
มุมมอง 1.8K2 ปีที่แล้ว
The traditional approach for the specification of system interfaces is to have a junior engineer sit in the corner pounding away on a keyboard to create Interface Control Documents (ICDs), disconnected from the actual engineering data. In the era of Model-Based Engineering, the models themselves, as the authoritative source of that engineering data, can contribute directly to the creation of th...
Lunch n Learn 4 Improving Requirements with Use Case Analysis
มุมมอง 1.2K3 ปีที่แล้ว
This session identifies four different workflows for performing model-based requirements analysis when those requirements are captured in epics, use cases, user stories, and textual requirements. This includes the capture of stakeholder needs, the clarification of system requirements, the creation of a computable model of those capabilities and the use of those models for requirements refinement.
INCOSE Lunch n Learn 3 - Epics Use Cases and User Stories
มุมมอง 1.9K3 ปีที่แล้ว
Focusing on requirements, this talk defines and integrates the agile concepts around stakeholder need with epics (both business and enabler epics) and user stores with the UML/SysML concepts of use cases, requirements, scenarios and computable models.
INCOSE Lunch n Learn 2 Agile Model-Based Engineering
มุมมอง 2K3 ปีที่แล้ว
In this INCOSE Lunch n Learn, I talk about seven key practices for agile model-based engineering: Use cases & user stories, Simulation & computable models, verification driven modeling, model-based hand off from systems engineering, Design patterns, Defensive design, and 5 Fives of Architecture. Enjoy.
INCOSE Lunch n Learn 1 Intro to Model Based Engineering - What does a good model smell like?
มุมมอง 3.5K3 ปีที่แล้ว
This is the first in a series of Lunch and Learn talks I'm doing with INCOSE on model-based engineering. This talk focuses on what a model is (and isn't), the difference between drawing and modeling, how to ensure model quality and correctness, a little bit of UML and SyML history, and a short example of some model views for a system. I don't think I'll be able to post every video in the series...
MBSE Made Simple with Rhapsody
มุมมอง 1.9K3 ปีที่แล้ว
From 2017, a talk on applying MBSE with Rhapsody, particularly in an agile way. Special attention is given to the issues of adopting MBSE, the value of modeling for systems engineering, using subsets of SysML, some best practices, and the workflows of the Harmony Agile MBSE Process.
Model based Interface Control Documents
มุมมอง 3.4K3 ปีที่แล้ว
Interface definition is a crucial aspect of systems engineering. Traditionally, these are done as textual documents known as Interface Control Documents (ICDs). However, in MBSE, the model serves as the "single authoritative source of truth", so it is important that the ICDs are an integral part of the systems model. This video explains how that can be done effectively and what should be included.
State Machine Corner Episode 6: Return of the AND-States
มุมมอง 3063 ปีที่แล้ว
Everything you always wanted to know about AND-state. Common OR-states are exclusive conditions of a system or element; the system is only allowed to be in one state at a time. AND-states extend this notion to apply to independent, simultaneously true aspects of systems. This video will discuss what AND-states are, how to represent them in Rhapsody and Cameo, how to use them effectively, altern...
Cybersecurity and Model Based Systems Engineering
มุมมอง 2.2K3 ปีที่แล้ว
This video discusses the concepts of security in an MBSE context and describes a way to combine cyberphysical security and MBSE.
Seven Steps to Applying Design Patterns
มุมมอง 1.1K3 ปีที่แล้ว
Design patterns can improve your design quality by enabling you to reuse proven design solutions in new ways. This video gives you a simple seven step process for applying design patterns - by the author of Real-Time Design Patterns and Design Patterns for Embedded Systems in C.
Design Patterns for Embedded Systems in C
มุมมอง 40K3 ปีที่แล้ว
Design Patterns for Embedded Systems in C
Top Ten Tips for Modeling
มุมมอง 6543 ปีที่แล้ว
Top Ten Tips for Modeling
State Machine Corner Episode 5: The State Machine Strikes Back
มุมมอง 3093 ปีที่แล้ว
State Machine Corner Episode 5: The State Machine Strikes Back
Nine Steps to Computable Constraint Modeling in SysML
มุมมอง 3523 ปีที่แล้ว
Nine Steps to Computable Constraint Modeling in SysML
Six Steps to Model Based Safety Analysis
มุมมอง 1.5K3 ปีที่แล้ว
Six Steps to Model Based Safety Analysis
State Machine Corner Episode 4: A New Scope
มุมมอง 4533 ปีที่แล้ว
State Machine Corner Episode 4: A New Scope
Being Correct in an Incorrect World - Parasoft Embedded Summit Keynote
มุมมอง 1233 ปีที่แล้ว
Being Correct in an Incorrect World - Parasoft Embedded Summit Keynote
Six Steps to Model Based Security Analysis
มุมมอง 3933 ปีที่แล้ว
Six Steps to Model Based Security Analysis
State Machine Corner EPISODE 3: Revenge of the Do Activities
มุมมอง 9633 ปีที่แล้ว
State Machine Corner EPISODE 3: Revenge of the Do Activities
State Machine Corner EPISODE 2: Attack of the States
มุมมอง 4373 ปีที่แล้ว
State Machine Corner EPISODE 2: Attack of the States
State machine corner EPISODE 1: The Phantom Statechart
มุมมอง 1.2K3 ปีที่แล้ว
State machine corner EPISODE 1: The Phantom Statechart
Can I use agile methods for safety critical systems development?
มุมมอง 1.5K3 ปีที่แล้ว
Can I use agile methods for safety critical systems development?
Bruce Douglass Agile MBSE Cookbook Introduction
มุมมอง 2.2K3 ปีที่แล้ว
Bruce Douglass Agile MBSE Cookbook Introduction

ความคิดเห็น

  • @pedrofigueira6682
    @pedrofigueira6682 3 หลายเดือนก่อน

    It's shameful that we have a free presentation from a professional book author about some complex topic and people here are complaining about the sound quality. This remembers me how toxic is StackOverflow's C/C++ community. I really don't understand how this specific field attracks so much nagging people.

  • @minma02262
    @minma02262 4 หลายเดือนก่อน

    It is good know people on mars can do webinars to earth people.

  • @eugenkeller
    @eugenkeller 7 หลายเดือนก่อน

    UML

  • @sveneld5544
    @sveneld5544 8 หลายเดือนก่อน

    0:24 "infamous" XD

  • @jonathanhladchuk2785
    @jonathanhladchuk2785 10 หลายเดือนก่อน

    Do you have any suggestions for recording the runtime duration of a simulated State Machine & States as a value property??? I have never been able to find a solution that works with States and State Machines, as they do with Activities...I primarily use Cameo and creating or applying duration constraints is simple but actually recoring that duration from the simulated State Machine does not seem to be possible, despite it being very easy with activities.

    • @BruceDouglass
      @BruceDouglass 10 หลายเดือนก่อน

      It's easy in Cameo, at least in principle. Record the value of "simtime" at the start of the simulation, and then look at it again at the end of the simulation. That is the default built-in Cameo property that records the simulation time. By default, this is based on the PC clock, so if you need higher time resolution, you'll need to use the Simulation Clock instead; to do this, use a simulation configuration and in the Timing Properties section, set the property "start time" to zero.

    • @jonathanhladchuk2785
      @jonathanhladchuk2785 10 หลายเดือนก่อน

      @@BruceDouglass Thank you, I have been able to accomplish that, but the problem I run into is when I need to record the duration of multiple different states. Such as creating a high-level mission profile (where individual states = operating modes) and states may be entered and exited multiple times.

    • @BruceDouglass
      @BruceDouglass 10 หลายเดือนก่อน

      @@jonathanhladchuk2785 I had a similar problem once where the model needed to track time spent in different states. I just added a value property for the time spend in each state, and started the time stamp as an entry action and adding it to the time spent in the state value property as an exit action.

    • @jonathanhladchuk2785
      @jonathanhladchuk2785 10 หลายเดือนก่อน

      @@BruceDouglass Do you have a more specific example of this? I have value properties for each system state duration that needs to be record, and the classifier behavior is the state machine. I also added a dummy value property (record_t) to hold the simtime recorded in the entry behavior (opaque behavior), unless I set the simulation to initialize all empty value to 0. It wont run because it gets hung-up on the state duration value property of the exit behavior [00:00:00,000 ERROR: Undefined variable 'initTime'] used to calculate & record the state duration: value_prop = (simtime - record_t) + value_prop | initTime = (simtime - record_t) + initTime. I also tried with the opaque behavior using an if-statement: if(initTime <= 0, initTime = simtime - record_t, initTime = (simtime - record_t) + initTime)

  • @jakobcarlen2004
    @jakobcarlen2004 10 หลายเดือนก่อน

    The amount of knowledge in this video.

  • @CameoMagic
    @CameoMagic ปีที่แล้ว

    Also like your naming convention at 21:30

  • @CameoMagic
    @CameoMagic ปีที่แล้ว

    Good lecture. I liked your Example Schema with MetaData Example given at 53:30.

  • @kurzschlussjunkies
    @kurzschlussjunkies ปีที่แล้ว

    Starts at 2:30

  • @ytpeep7393
    @ytpeep7393 ปีที่แล้ว

    It sounds like he's talking through a towel through a tin can full of rice. Ironic that it's an IBM presentation on technology... Was this audio exported in mp3 at 32Kbps?

  • @globalgregors
    @globalgregors ปีที่แล้ว

    Great presentation, thank you for sharing here.

  • @胡朗霄
    @胡朗霄 ปีที่แล้ว

    That's a lot of help

  • @johnfunk7568
    @johnfunk7568 ปีที่แล้ว

    Dr Bruce, I had some IBMers teach me this in 2012 and ever since then, I worked in a huge engineering organization to push its implementation. You are the first person I have seen to create a set of open access resources that I can carry forward. THANK YOU. Now that I am retired from the huge organization, I can implement this within the small company that supports the huge organization.

  • @johnfunk7568
    @johnfunk7568 ปีที่แล้ว

    Dr Powell, Bruce, really appreciate your cookbook. I have attempted to implement and teach MBSE in the NAVY for 16 years. Finally, I have material to use. Please contact me if you have time. I would appreciate some advice. Very best, John

    • @BruceDouglass
      @BruceDouglass ปีที่แล้ว

      You don't include your contact info.

    • @BruceDouglass
      @BruceDouglass ปีที่แล้ว

      @@johnfunk7568 You can reach out to me via my website www.bruce-douglass.com. At the bottom of the page, there's a Contact Us form.

  • @CandyHam
    @CandyHam 2 ปีที่แล้ว

    voice quality is disappointing, but good content, thank you for sharing

    • @BruceDouglass
      @BruceDouglass 2 ปีที่แล้ว

      Yeah, sorry about the quality

  • @KeithCollyer
    @KeithCollyer 2 ปีที่แล้ว

    I've literally in the last year really understood the difference between architecture and design. Architecture is often talked about as high-level design, but that misses the real point. Architecture is at a higher level of abstraction than design. So the architecture for a car might say it has a transparent windshield (satisfying requirements on comfort, visibility, drag, ...). Other architectural solutions might be external cameras and screens, periscopes, ... The design would say that the windshield is made of a specific type of material (e.g. glass to a defined standard). So the architecture defines ABSTRACT nouns, and the design defines CONCRETE nouns. In a software context, the architecture might define a sort component, the design would define what type of sort. Of course, both architecture and design are typically recursive as you go deeper into system elements. This is explored more in the paper I co-authored at this year's INCOSE International Symposium

  • @KeithCollyer
    @KeithCollyer 2 ปีที่แล้ว

    ~12 minutes reminded me of Knuth's two rules of optimization. Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.

  • @404Anymouse
    @404Anymouse 2 ปีที่แล้ว

    It is so aggravating that even a year into the pandemic, making a webinar that sounds better than through a phone call was a hard problem in computer science

    • @Karshilistics
      @Karshilistics 2 ปีที่แล้ว

      Sharing your thoughts exactly. It's not just a matter of not liking the quality; it was hard to understand especially as a non-native English speaker.

  • @ytubeleo
    @ytubeleo 2 ปีที่แล้ว

    Is the "link" mentioned at 02:00 available? (To lots of related webinars.)

    • @BruceDouglass
      @BruceDouglass 2 ปีที่แล้ว

      My web site www.bruce-douglass.com has most of these presentations as PDF files which can be downloaded. Sometimes, the versions up there are more recent and so may not exactly match the video.

    • @ytubeleo
      @ytubeleo 2 ปีที่แล้ว

      @@BruceDouglass Thanks!

  • @astroed
    @astroed 2 ปีที่แล้ว

    Thank you, Bruce. Very enlightening.

  • @ScienceAppliedForGood
    @ScienceAppliedForGood 2 ปีที่แล้ว

    It's an interesting video, but the recording audio quality should be improved.

  • @jorgehoraciogonzalezrivas
    @jorgehoraciogonzalezrivas 2 ปีที่แล้ว

    Thanks! 👌

  • @makzmakz
    @makzmakz 2 ปีที่แล้ว

    Looking forward to the RAAML!

  • @iguanice
    @iguanice 2 ปีที่แล้ว

    Excellent video, thanks a lot! Question left: Is it possible to automatically generate the textual requirements from the requirements model once it is created?

    • @BruceDouglass
      @BruceDouglass 2 ปีที่แล้ว

      IBM had a research project that did that but I’m not aware of any commercial tools available that can do this.

  • @BruceDouglass
    @BruceDouglass 2 ปีที่แล้ว

    I did mean to say "Click LIKE" button at the end . Sigh

  • @patrickegesa8264
    @patrickegesa8264 2 ปีที่แล้ว

    nice work learning ,step by step

  • @LDdrums20
    @LDdrums20 2 ปีที่แล้ว

    Ahh so pointers to functions inside the struct! Bingo! That's what I needed! I'm refactoring old code and this gets quite handy! Thanks!

    • @steevensonemile
      @steevensonemile 6 หลายเดือนก่อน

      Horrible bug producer. Painful to debug.

    • @LDdrums20
      @LDdrums20 6 หลายเดือนก่อน

      @@steevensonemile Thanks, thankfully no AI does much better than what I was trying to code back then. The project got thrown to the bin.

    • @AndrésZambrano-u4o
      @AndrésZambrano-u4o 4 หลายเดือนก่อน

      NASA said is a bad practice using pointer on functions

  • @enricoseidel9521
    @enricoseidel9521 2 ปีที่แล้ว

    Sorry very hard to understand, sound and voice is awful

  • @makzmakz
    @makzmakz 3 ปีที่แล้ว

    When do you plan to record the upcoming video on sub-machines you mentioned @47:39?

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      It's in my list to to-dos. The darn day job is getting in the way. I've completed the prep material for the next episode, which is on pseudostates. I intent for submachines to be the one after that. All I need now is some time to record ...

    • @makzmakz
      @makzmakz 3 ปีที่แล้ว

      @@BruceDouglass looking forward to it!

  • @makzmakz
    @makzmakz 3 ปีที่แล้ว

    Thank you Bruce! Don't forget to add this video to your "Statemachine Corner" playlist as well. :)

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      Thanks for the note. I made the change.

  • @haowang4306
    @haowang4306 3 ปีที่แล้ว

    this pattern styles have been published many years ago, but get little attention. Why?

    • @coltennabers634
      @coltennabers634 2 ปีที่แล้ว

      Mostly focused on OOP and enterprise, and now embedded is growing a lot.

  • @TheRms2012
    @TheRms2012 3 ปีที่แล้ว

    Fantastic 👍, but many more one on one needed to implement the same 🙂.

  • @TheRms2012
    @TheRms2012 3 ปีที่แล้ว

    Hi Bruce, thanks for sharing such informative video, I had one question, is there any guidelines of extracting verifiable functional requirements , non functional requirement and quality of service requirements out from usecase sequence? I am currently working on that and I needed some guidance, also it will be really helpful if you could guide me to incorporating data in such diagram which then can be captured in requirement.

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      That's a big question. In general, every message on a use case sequence diagram should relate to a requirement, although the relation is 1..* to 1..*; that is, it may require multiple messages to fully represent a single requirement, and a message may itself relate to multiple requirements. As you walk through a sequence diagram, be sure you understand what requirements are being represented; as you walk through the requirements, be sure you know where it is on the sequence diagrams.

    • @TheRms2012
      @TheRms2012 3 ปีที่แล้ว

      @@BruceDouglass well that makes autogeneration of requirements from UC activity or sequence much more complicated without human intervention.

  • @vijaynagaraju9701
    @vijaynagaraju9701 3 ปีที่แล้ว

    is there a similar book or talk for c++?

  • @RhapsodyGuru
    @RhapsodyGuru 3 ปีที่แล้ว

    Cool greate start - hope to see more of these...

  • @clementinareynolds8309
    @clementinareynolds8309 3 ปีที่แล้ว

    Thanks Bruce for that introduction! Your book was selected for my company's MBSE Book Club. I am excited to read it as my program moves into an Agile methodology.

  • @conradmaxwell3751
    @conradmaxwell3751 3 ปีที่แล้ว

    Looking forward to seeing some more of your videos!!! You deserve more views! Do you know about promosm?? You could use it to promote your videos!!

  • @hsaidinsan6345
    @hsaidinsan6345 3 ปีที่แล้ว

    I will consider this book Thanks for sharing

  • @BruceDouglass
    @BruceDouglass 3 ปีที่แล้ว

    No reason; I’ve seen both terms used in addition to Fault Mode and Effect Analysis.

  • @makzmakz
    @makzmakz 3 ปีที่แล้ว

    Why do you call it Failure Means Effect Analysis when the common definition is Failure Mode and Effects Analysis (en.wikipedia.org/wiki/Failure_mode_and_effects_analysis)?

  • @jimevart
    @jimevart 3 ปีที่แล้ว

    At the 30.10 point, you show an activity diagram using readSelf and readStructureFeature actions and mention that Rhapsody does not require this. I would point out that Cameo does not require those either when the value properties being accessed are part of the block this is defined to be part of. Just use a plain opaque action to reference the value properties and pass them to the sendAction.. Saulius shows this very effectively in his MBSE Execution video here, th-cam.com/video/di7oJYtp1T8/w-d-xo.html

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      We could access the value datum using an opaque action and pass it into the value pin for the send action but we must access the reference property cView (which requires the Read Self action to specify the target since we're not using a port in this case), so it would be at best marginally simpler to do so. I agree using the opaque action to access the value property is certainly a viable alternative.

    • @jimevart
      @jimevart 3 ปีที่แล้ว

      @@BruceDouglass I thought the same until Saulius showed me differently. Did you try taking it out and see what happens. Since I don't have your complete model, it's hard to tell if you have a different case. Perhaps you could start linking these videos to the source models? One issue to be aware of as Saulius calls out in his videos, that if you have 2 pins coming out of a receive action, then you must set it unmarshalled to true.

  • @kyumullo
    @kyumullo 3 ปีที่แล้ว

    Thank you for these resources! Can't wait to get my hands on your newest book, and happy to have some worked example procedures shown!

  • @danmenoher7875
    @danmenoher7875 3 ปีที่แล้ว

    Great talk Bruce! Thanks for addressing the elephant in the room when using agile methods in safety critical systems. Any chance you are interested in speaking to some teams in Smith-Nephew's robotics department?

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      We can talk about that. Reach out to me at bruce.douglass@outlook.com

  • @makzmakz
    @makzmakz 3 ปีที่แล้ว

    Lets say you have an operation on the block called "DoActivity()" and this operation "owns" or "is specified by" an activity which has an activity diagram as the one you drew in Cameo. Why can't you just run that operation "on entry"? Is it because it cannot be interrupted? Can't you add "Interruptible Region" on the activity diagram in some way to make it so?

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      "Do activity" is a semantic feature of a state and Rhapsody provides no means for adding it. You can define an operation with an activity diagram and invoke that operation as 1) an entry action, 2) an exit action or 3) on an internal transition, but it remains an uninterruptible action, not an interruptible do activity. As an aside, in Rhapsody you can define the behavior of an operation with an activity, but that activity cannot receive events; so the activity I did in Cameo in the video can't be executed in Rhapsody because it includes a time event (If i make the activity a Classifier Behavior of a block, then it will execute just fine, just not for an operation). As for interruptible regions, neither Rhapsody nor Cameo execute activities that contain an interruptible region. If you want those to run, you must render the behavior as a state in a state machine. I plan to talk about all the vagaries of activity modeling in a separate series on this channel, once I get several more episodes of State Machine Corner done. I hope this helps.

    • @makzmakz
      @makzmakz 3 ปีที่แล้ว

      @@BruceDouglass cool, Thanks!

  • @RhapsodyGuru
    @RhapsodyGuru 3 ปีที่แล้ว

    cool stuff Bruce - well done ... the quality of the audio can be improved - but otherwise great

    • @BruceDouglass
      @BruceDouglass 3 ปีที่แล้ว

      And I even bought a new mic … not gonna hire a voice actor so you’re stuck with my dulcet tones ;-)

  • @ssuneelg
    @ssuneelg 3 ปีที่แล้ว

    Great Insight on agile+safety+evidence collaboration for building safety critical systems...

  • @rammstevie
    @rammstevie 3 ปีที่แล้ว

    Excellent work Bruce, thank you so much for sharing, this will be a of value to my organisation.