Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reference Blackbird #126

Merged
merged 3 commits into from
Apr 16, 2024
Merged

reference Blackbird #126

merged 3 commits into from
Apr 16, 2024

Conversation

bradNASA
Copy link
Contributor

reference Blackbird, on which Merlin is based

@Twisol
Copy link

Twisol commented Feb 17, 2024

Hi Brad! Merlin is not based on Blackbird. We started from a completely fresh slate and a completely empty codebase, and as far as I recall never shared any code from Blackbird. We attempted to understand design choices from all of the predecessors known to us at the time before coming to our own conclusions for Merlin's design.

I have mad respect for those who work and worked on Blackbird (and APGen, and SEQGEN, and ...), because developing a modeling and simulation system of any flavor is not for the faint of heart. But stating that Merlin is "based on" Blackbird and that its code "has diverged" from Blackbird does not comport with my experience of Merlin's inception.

The closest we got to sharing code with Blackbird was, I believe, at one point shipping a library for time management that Blackbird developed. That was already enough to be a political problem at the time; I cannot imagine what actually being "based on Blackbird" would have done. The nouns we share ("activities", etc.) are common to the domain of activity planning, and the fact that we provide a Java-based experience also comes from common higher-level requirements (namely: to use a language that non-software-engineers can be expected to use productively; to be able to draw on a pool of talent already familiar with the language used for modeling; and to be able to take experience with Merlin and transfer it productively to other roles).

Is there a story or desire behind this PR that we'd like to address?

@bradNASA
Copy link
Contributor Author

I chatted with @Twisol offline. It was inaccurate based on miscommunication, so I update it. The motivation here is just to acknowledge Blackbird properly.

@bradNASA bradNASA requested a review from Twisol February 17, 2024 21:00
Blackbird's design shed light on the myriad choices made in designing
Merlin.

Predecessors of Merlin and Blackbird, such as [APGen](https://trs.jpl.nasa.gov/handle/2014/45571) and [SEQGen](https://trs.jpl.nasa.gov/handle/2014/45455), provided a domain-specific language for mission modeling, allowing them to obtain deep, fine-grained information about the composition of a mission model before performing any simulation.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "provided" in this file was changed to "provide" in the other changed file. It would be best if they agreed, although it's a minor nit. (Either "provided" or "provide" is reasonable: "provided" relative to Merlin and "provide" relative to the fact that they're still in use.)

Copy link

@Twisol Twisol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommend merging via squash for this PR. (Oh, that's the default for this repository anyway.)

@mattdailis mattdailis merged commit e2e24d6 into develop Apr 16, 2024
1 check passed
@mattdailis mattdailis deleted the blackbird-reference branch April 16, 2024 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants